รับเขียนโปรแกรม

รับเขียนโปรแกรม โปรเจ็คนักศึกษา พร้อมอธิบายโค้ด และสอนใช้โปรแกรม ทุกชนิด ราคาประหยัด ลองติดต่อมาคุยสโขปงาน ราคา หรือขอคำแนะนำได้

ติดต่อที่ srel90@gmail.com หรือ 0850550120 คุณแล

Friday, April 18, 2008

ความคิดเห็นของนักพัฒนาคนหนึ่ง

เมื่อวานผมได้รับ e-mail ฉบับหนึ่งจากนักพัฒนาโปรแกรม ซึ่งผมเห็นว่าเค้ามีความคิดและมุมมองในเรื่องของการจัดตั้งเว็บแห่งนี้และแนวทางในการที่คนไทยเราจะพัฒนาขีดความสามารถเพื่อให้ทัดเทียมกับชาติอื่นๆ ไว้ค่อนข้างหน้าอ่านเลยทีเดียวผมจึงขออนุญาตินำมาลงไว้ที่นี้เพื่อเป็นการสร้างแรงบันดาลใจให้กับผู้ที่ต้องการพัฒนาโปรแกรมต่อไปครับ
----------------------------------------------------------------------------------------------
ยินดีด้วยกับความคิดริเริ่มที่ดีมากครับ ที่ช่วยสนับสนุนให้เกิด community ในการแบ่งปันความรู้ แต่สิ่งที่ที่ผมปรารถนา และเป็นผลดีอย่างยิ่งก็คือ อยากเห็นความมี มารตรฐาน (standard) เกิดขึ้นในระดับหนึ่ง ซึ่งที่ที่กล่าวนี้คือ การให้ความรู้ในการพัฒนาโปรแกรมร่วมกันเป็น team เพราะพัฒนาตัวคนเดียวเป็นสิ่งที่ไม่ยากเกินไป แต่มีข้อจำกัดสูง และทักษะที่ฝึกเองตามลำพังจะมีพัฒนาการช้ากว่าการฝึกทำงานเป็นทีมซึ่งมีการแลกเปลี่ยนความรู้ และทักษะต่าง ๆ ตามทีแต่ละคนได้เรียนรู้และสั่งสมมา อีกส่วนก็เป็นเรื่องของโปรแกรมที่ทำมาแบ่งปันกันใช้งาน ควรจะมีการแยกระหว่างโปรแกรมที่มี source code ให้กับไม่มี source code ให้พัฒนาต่อ โดยส่วนโปรแกรมที่มี source code ให้พัฒนาต่อนั้นนอกจากจะมีแต่ source code program แล้วควรจะมี designed document, manual document เป็นต้น เพื่อให้ผู้ที่สนใจสามารถนำไปพัฒนาต่อไปอย่างมีประสิทธิภาพ คาดว่าน่าจะได้ประโยชน์มากขึ้น ถ้าทำได้ดังนั้นไหน ๆ คุณก็เป็นผู้ริเริ่มสิ่งดี ๆ ก็อยากให้วางรากฐานให้มันดียิ่ง ๆ ขึ้นไป อยากให้เน้นเรื่อง software engineering ด้วยส่วนหนึ่ง ยกตัวอย่างให้เห็นภาพได้ชัดอย่างคร่าว เช่น การออกแบบโครงสร้างการทำงานของโปรแกรมที่ต้องการสร้าง การฝึกเขียนโปรแกรมตามโครงสร้างที่ได้ออกแบบไว้เช่น ออกแบบด้วย Object Oriented Architecture การฝึกเขียนโปรแกรมให้เป็นระเบียบสามารทำ bug tracing ได้ การฝึกเขียนส่วน handle routine ต่าง ๆ เพื่อรองรับความผิดพลาด (error ต่าง ๆ)การฝึกทำ document และ manual เพื่อให้ผู้นำไปใช้สามารถศึกษาโปรแกรมและนำไปใช้ได้อย่างถูกต้อง หรือสามารถนำไปประยุกต์ใช้และพัฒนาต่อได้ง่ายการฝึกทำ Bug report หรือ Upgrade details เกี่ยวกับโปรแกรมที่ทำไปว่ายังขาดตกบกพร่องอะไร มีการใส่อะไรเพิ่มเข้าไปบ้าง หรือควรจะมีอะไรที่จะต้องทำเพิ่มบ้างเป็นต้น จากที่กล่าวมาแล้วอาจฟังดูแล้วเป็นเรื่องยาก และมีความลึกซึ้งหลายระดับ ซึ่งถ้าพูดกันแค่ว่า เอาให้แค่เขียนกันให้เป็นก็พอแล้ว คิดอย่างงี้เห็นทีจะทำการใหญ่ไม่ได้ โดยนิสัยคนไทยแล้วชอบฉายเดี่ยว ทำเอาชื่อ เอาหน้า และก็ปกปิดสิ่งที่ไม่ค่อยดีไว้ (จริง ๆ ก็เป็นกันทั้งโลกแหละนะ) แต่ว่าเราควรจะฝึกสิ่งทีคนไทยขาดอย่างมากคือ การทำงานร่วมกัน หรือทำงานให้ได้มาตรฐานร่วม ไม่ใช่มาตรฐานตัวเอง ซึ่งถ้าติดเป็นนิสัยต่อไปจะแก้ลำบาก และจะทำให้ส่งผลเสียหลายด้าน เช่น เมื่อเราพัฒนามาตรฐานใครมาตรฐานมัน พอมีปัญหาเกิด bug เกิดขึ้นเราก็ร้องขอความช่วยเหลือจากผู้อื่นได้ยาก หรือคนจะช่วยเองก็หนักใจ และยังส่งผลเสียด้านอื่นอีกมาก บางคนอาจจะมีความรู้สึกว่าการให้ความรู้จะทำให้คนอื่นเก่งกว่าตนได้ หรือจะทำให้คนอื่นรู้ข้อบกพร่องของตนเอง ซึ่งเป็นความรู้สึกที่ผิดมหันต์เนื่องจากจะทำให้ตนเองขาดพัฒนาการในการที่จะทำสิ่งที่เป็นที่ยอมรับและได้มาตรฐาน และ ขอยกตัวอย่างบริษัทที่ได้มาตรฐาน ไม่ต้อง CMMI ก็ได้ ตัวอย่างในอินเดียจะเห็นได้ชัดว่า พอเข้าบริษัทเป็นโปรแกรมเมอร์จะต้องมีการเทรนให้สามารถเขียนโปรแกรมไปในทิศทางเดียวกันได้กับแนวทางหรือระบบที่วางไว้ เพื่อป้องกันปัญหาการพัฒนาต่อยอด หรือส่งต่องานภายในองค์กรตัวเอง หรือองค์กรอื่น เป็นต้น ที่ผมพูดทั้งหมดก็เพราะเห็นแต่แหล่งความรู้ที่สอนแต่การเขียนโปรแกรม แต่ไม่ได้สอนการพัฒนาโปรแกรมที่ถูกวิธี และรวมถึงเรื่องการเขียนบทความผมก็ขอเสนอว่า ควรจะมีตัวอย่างบทความที่คุณคิดว่าดีเพียงพอซัก 5-8 แบบ หรือมากกว่านั้นที่มีเหมือนจะมากเพราะว่า มีแนววิธีการเขียนหลากหลายตามแต่ละเนื้อหา ซึ่งจะเป็นประโยชน์มากที่ถ้ามีการกำหนด Framework หรือ Pattern Format ให้มีรูปแบบเดียวกันจะทำให้เป็นประโยชน์แก่ทุกฝ่าย ทั้งตัวคุณที่ต้องประสานงานเอง หรือว่าผู้เขียนบทความรายอื่น ง่ายแก่การจัดการ ปรับแต่ง และการนำไปใช้ประโยชน์ เหมือนดั่งการเขียน paper ส่ง conference ที่จะต้องมีรูปแบบที่แน่นอนตายตัว แต่นั่นก็อาจจะตายตัวเกินจนไม่เหมาะสม เพียงแต่ต้องการยกตัวอย่างให้เห็นภาพ ที่ผมพูดไปทั้งหมดนี้คุณอาจจะฟังดูเหมือนยุ่งยาก และมีภาระมาก แต่ผมว่าคุณมีความกรุณามากที่ทำมาได้ขนาดนี้ ดังนั้นถ้าจะเอื้อเฟื้อต่อเพื่อให้สมบูรณ์ และดียิ่งขึ้นจะเป็นการดีมาก และถ้าคุณกลัวว่าบางสิ่งจะนำความยุ่งยากมาสู่คุณ คุณก็อาจปรับให้มีความยืดหยุ่นเหมาะสมตามความคิดเห็นของคุณที่เห็นสมควร ส่วนเรื่องที่ขาดข้อมูล หรือสิ่งใดก็ตามผมเชื่อว่าน่าจะมีคนที่ยินดีจะให้ความช่วยเหลือตามกำลังอยู่พอสมควร ผมเองก็ยินดีช่วยเท่าที่พอจะทำได้ ส่วนการแจ้งเกิดของเว็บหรือการเริ่มต้นให้สวยนั้น ความคิดเห็นผมคิดว่าคุณอาจจะต้องลงทุนลงแรงซักหน่อยที่จะทำตัวอย่าง หรือสิ่งใดก็ได้ที่เป็นการผลักดันหรือสนับสนุนให้คนทั่วไปที่สนใจ มีกำลังใจ ความมั่นใจและอยากที่จะลองฝึกพัฒนาโปรแกรม ประโยชน์จากการพัฒนาโปรแกรมให้เป็นมาตรฐานนั้น จะทำให้รุ่นน้องใหม่ที่ฝึกเขียนโปรแกรมสามารถที่จะขอความช่วยเหลือหรือศึกษาแหล่งความรู้จากรุ่นพี่ ๆ ได้ ทำให้ไม่รู้สึกว่าถ้ามีปัญหาจะไม่มีคนช่วยเหลือ หรือจะทำไม่สำเร็จ เป็นต้น ผมว่ากลุ่มผู้ก่อตั้งหรือริเริ่มเป็นสิ่งสำคัญ ดูตัวอย่างจากเว็บ thaiiphone ที่ผู้ใช้ส่วนใหญ่ที่เป็นมือใหม่เมื่อเกิดปัญหาก็จะตกใจ หรือทำอะไรไม่ถูก ขาดความมั่นใจไปเสียหมด ซึ่งเป็นธรรมชาติของคนทั่วไป ก็จะคอยถามคุณวิโรจน์ให้ช่วยตอบหรือแก้ปัญหาให้ และก็จะมีความมั่นใจและอุ่นใจ โดยที่พอทำไปซักพักก็จะมีคนช่วยตอบแทนคุณวิโรจน์ จึงทำให้ community เกิด (เกิดขึ้นจากความมุ่งมั่นและเสียสละโดยแท้ แม้ว่าจะหวังหรือไม่หวังผลประโยชน์ทางตรงหรือทางอ้อมก็ตาม ก็ยังดีที่ทำให้สิ่งดี ๆ เกิดขึ้นได้) เป็นต้น รวมถึงการประชาสัมพันธ์ก็เป็นสิ่งที่จำเป็น แต่ผมเห็นว่าควรทำในหลายกลุ่มเป้าหมายแยกจากกัน ได้แก่ ควรทาบทามกลุ่ม developer ก่อนเป็นตัวผลักดันสำคัญให้มีข้อมูลป้อนสู่เว็บ และเมื่อตั้งหลักได้ลงตัวซักหน่อยก่อนแล้วจึงประชาสัมพันธ์ไปยังกลุ่มคนทั่วไปเพื่อหาผู้สนใจเข้าร่วมด้วยเพิ่ม หรือเผยแพร่ความรู้ ถ้าเข้ามาแล้วเจอแต่ documents ให้ไป download กันอย่างเดียวเห็นทีคนที่อยากเป็นนักพัฒนาโปรแกรมมือใหม่หลายคนคงจะไม่กล้าพอที่จะทำ ปล. หวังว่าความคิดเห็นผมจะเป็นประโยชน์ไม่มากก็น้อยสำหรับคุณ และขอบคุณในความเอื้อเฟื้อและหวังดีต่อส่วนรวมอย่างยิ่ง ผมดู blog คุณแล้วรู้สึกว่าคุณคงตั้งใจแค่ว่าจะไว้เป็นแหล่งข้อมูลความรู้ในการพัฒนาโปรแกรมไสตล์ blog ที่ไม่ใช่ community เท่ากับที่ผมพูดมาคาดหวังเกินไปมากและคุณก็รู้ดีอยู่แล้วทุกอย่างที่ผมเขียน อย่างไรก็ดีก็ขอขอบคุณทีช่วยอ่านถึงตรงนี้ได้ ^o^

No comments: