การทำงานในส่วนของการทดสอบระบบ ต้องมองเรื่องของ Function เพื่อเป็นการตรวจสอบการทำงานของระบบว่าได้ทำงานถูกต้องหรือไม่ และสิ่งหนึ่งที่จะจำเป็นต้องมองสำหรับการพัฒนาระบบเพื่อการส่งเสริมการทำงานของส่วนงานทางธุรกิจ เราต้องมองเรื่องกระบวนการของการทำงานของผู้ใช้งานด้วยค่ะ
ดิฉันต้องขอบอกว่า บางครั้งโปรแกรมเมอร์หรือผู้ออกแบบระบบเอง อาจจะตกหล่นรายละเอียดไปบ้าง และอาจจะมองในมุมของผู้พัฒนาเพียงอย่างเดียว บางครั้งได้คุยกับโปรแกรมเมอร์ เกี่ยวกับระบบงานที่พัฒนา คุยไปคุยมาก็ได้เจอคำตอบว่า เรื่อง business ไม่แน่ใจ ต้องถามจาก ผู้ออกแบบ ดิฉันก็ถึงกับงง นิดนึง แล้วก็มาทบทวนและคิดเอาเองว่า ลักษณะการทำงานของทีมพัฒนา คงมีผู้ออกแบบเป็นคนวิเคราะห์และออกแบบระบบ ส่วนทีมเขียนโปรแกรม ก็เขียนตามสเปค ที่ได้รับมา
บางครั้ง ต้องบอกว่า หากผู้เขียนเอง ไม่เข้าใจกระบวนการ การทำงานทางด้าน business กลายเป็นการเสียโอกาสการเรียนรู้ ในมุมมองของการพัฒนาที่ขาดการคำนึงถึงการทำงานจริงไปค่ะ และบางครั้งก็ทำให้เกิดปัญหาในการใช้งานขึ้นได้
สำหรับผู้ทดสอบที่อยู่ระหว่างกลาง ต้องมองในมุมของผู้พัฒนาและผู้ใช้งานค่ะ ต้องทำงานได้ถูกต้อง และสนับสนุนการทำงานของผู้ใช้ให้ใช้งานได้ง่าย สะดวก และมองเรื่องการป้องกันความเสี่ยงของการผิดพลาดของการทำงานด้วยค่ะ เพราะหากเกิดข้อผิดพลาดกับระบบที่เกี่ยวข้องกับลูกค้า คงเป็นเรื่องใหญ่ทีเดียว
คงจะมีดีอยู่บ้าง ถ้าคนผสมปูน ช่างไม้ ฯลฯ รู้ว่าบ้านทั้งหลังจะออกมาเป็นอย่างไร ก็คงต้องพยายามเล่าเรื่องกันไป แต่ก็อาจจะคาดหวังไม่ได้มากนัก
โปรแกรมเมอร์ก็อาจจะเป็นไปได้ว่าอยากได้เงิน อยากมีข้าวกิน ตอบแทนบุญคุณพ่อแม่ พัฒนาท้องถิ่น ฯลฯ ก็อาจจะพยายามทำงานให้น้อยที่สุดและได้ค่าตอบแทนมากที่สุด (ซึ่งก็อาจจะถูกของเขา)
่อาจจะเป็นได้เปรียบ ของอาสาสมัครที่ทำซอฟต์แวร์เสรี? เพราะมักจะไม่ได้เงิน ไม่ได้ค่าตอบแทน แต่เขียนโปรแกรมเพราะต้องการตอบสนองความต้องการของตนเอง หรือไม่ตระหนักว่าคนอื่นต้องการโปรแกรมนั้นๆ อย่างไร เป็นแรงผลักดันแทนเงินเดือน หรือค่าจ้าง
เคยได้ฟังเรื่องราวตอนเรียนที่กล่าวถึง คนที่เรียนคอมพิวเตอร์
เป็นบางครั้งที่คนที่ไม่ค่อยชอบที่จะพูดคุย หรือว่าอาจจะพูดไม่ค่อยรู้เรื่อง จะชอบคอมพิวเตอร์ เพราะว่า ไม่ต้องการที่จะคุยกับใคร แต่เมื่อเรียนคอมฯแล้ว พบว่า เมื่อเขาจบออกมาทำงานเป็น โปรแกรมเมอร์ ทำให้การเขียนโปรแกรมออกมา แล้วสื่อสารกับผู้ใช้ไม่รู้เรื่องเหมือนเดิม
พูดเล่น อิอิ มันเป็นอดีตไปแล้ว
เดี่ยวนี้ คนเรียนคอมพิวเตอร์ สวย น่ารัก (คิดเหมือนผมหรือเปล่า)
ปล. คุณจะตอบว่า "แน่นอน" (แม้ว่าผมจะไม่เขียนก็เถอะ)
คุณ
ปล. คำถามที่คุณอุทัย ถามไม่ตอบนะค่ะ เพราะคุณอุทัยตอบให้แล้ว ^-^
มานึกๆ ดูอีกที ถ้าโปรแกรมเมอร์รู้ภาพรวม อาจจะได้ผลตอบแทนคุ้มค่าขึ้นก็ได้? แต่ก็เป็นแค่ข้อสังเกต ไม่รู้ว่าจะจริงหรือเปล่า?
ในอีกแง่นึงคือ ถ้ารู้ภาพรวมแล้วก็อาจจะอาชีพอื่นที่ได้ค่าตอบแทนเยอะกว่า เขาก็จะไม่เป็นโปรแกรมเมอร์อีกต่อไป?
แวะมาถามคุณมะปรางเปรี้ยวเฉยๆ ว่า ตอนนี้สบายดีหรือยังอ่ะค่ะ : )
ถ้าคุณวีร์ ตัดเลือกการมองผลตอบแทนออกไป แต่มองในแง่ของการทำงานที่ตนเองรับผิดชอบให้ดีที่สุด การทำงานของทุกคนก็คงเรียกได้ว่าทำด้วยความเอาใจใส่ค่ะ แต่ก็ต้องบอกว่าการทำงานบางทีมันมีสิ่งกดดันหลาย ๆ อย่าง อย่างเรื่องเวลา นี่ต้องบอกว่า บางโปรเจคก็มีระยะเวลาจำกัด แต่การพัฒนาระบบก็ไม่ได้หยุดแค่ ทำครั้งเดียวจบ ยังต้องมี phase ต่อไปเรื่อย ๆเพื่อพัฒนางานต่อไป บางเรื่องอาจจะเจอว่าเป็นข้อผิดพลาดใน phase 1 แต่ยังมีโอกาสให้แก้ตัวใน phase ถัดไปค่ะ
ส่วนเรื่องการรู้ภาพรวมจะทำให้การทำงานมองระบบได้กว้างขึ้นค่ะ
ส่วนเรื่องผลตอบแทน อันนี้ไม่ขอพูดถึงดีกว่านะค่ะ ก็คิดว่าถ้าเราทำงานมาก ก็ได้ประสบการณ์ ทักษะและมุมมองที่หลากหลายของการทำงานมากขึ้นค่ะ
และประสบการณ์ก็จะส่งให้เกิดการพัฒนาการทำงานที่ยากขึ้น ท้าทายขึ้นค่ะ
ผมนึกไม่ออกว่าตัดปัจจัยเรื่องค่าจ้างออกจากการพิจารณาเกี่ยวกับแรงงานได้อย่างไร
ค่าจ้างไม่ใช่ทุกสิ่งทุกอย่าง ตามที่เพื่อนเคยนำสถิติมาให้ดู ความยากง่ายของงาน ก็มีผลทำให้คนเลือกงานด้วย ง่ายไปก็เบื่อ ยากไปก็ทำไม่ไหว แต่ค่าจ้างก็ส่งผลกับแรงงานอยู่ไม่น้อยเหมือนกัน?
ไม่ว่าจะเป็นสาวโรงงาน หรือโปรแกรมเมอร์ ถ้าไม่ให้ค่าจ้างก็คงจะยังคงมีคนมาทำงาน แต่ว่าส่วนที่หายไปคงเยอะกว่า
<<และประสบการณ์ก็จะส่งให้เกิดการพัฒนาการทำงานที่ยากขึ้น>>
อาจจะเป็นเหตุผลที่ทำให้ โปรแกรมเมอร์ที่มีประสบการณ์อย่างที่ว่า ก้าวไปเป็นนักวิเคราะห์ระบบ ผู้จัดการโครงการ ฯลฯ หมดหรือเปล่า? (ผมอาจจะมองแบบสุดโต่งเกินไปอะนะ)
การเขียนโปรแกรม ก็ต้องเริ่มจากการออกแบบโปรแกรม ออกแบบระบบ
การออกแบบระบบ ก็ต้องเริ่มจากความต้องการของผู้ใช้
คนเขียนโปรแกรม ก็เป็นโปรแกรมเมอร์
คนใช้คนต้องการ มัีกอยู่ในงานธุรกิจต่่างๆ
โปรแกรมเมอร์หลายคนไม่ได้อยู่ในทุกธุรกิจ การจะใช้ใจในกระบวนการทำงาน คงจะเข้าใจอย่าง
คงต้องมีคนกลาง ที่เป็นนักออกแบบระบบ เป็นนักวิเคราะห์ระบบ (SA,System Analysis) ที่สามารถเจรจา พูดคุยให้ฝั่งคนเขียนกับฝั่งคนใช้ เข้าใจเหมือนกัน เข้าใจตรงกัน
เมื่อพัฒนาโปรแกรมแล้วต้องตรวจสอบ
1ตามหลักการทางโปรแกรมหรือภาษาที่เขียนนั้น
2ต้องตรวจสอบตามความต้องการของผู้ใช้ที่แท้จริง
เรียกว่า ทำให้ถูกหลักวิชา และทำให้ถูกหลักวิใช้
และเช่นกันถ้า SA บอกหรือออกแบบงานให้โปรแกรมเมอร์ไม่ถ่วนถี่ โปรแกรมเมอร์ก็พัฒนางานไม่ต้องหรือขาดบางรายละเอียดไปได้
พี่เอง ชอบมากงาน SA ก็เป็นคนไม่ถนัดงานเขียนโปรแกรม
ส่วนมุมมองค่าจ้าง ถ้าเป็นเอกชนจริงๆก็ไม่ได้อยู่ที่ ตำแหน่ง
SA เงินก็ไม่ใช่ว่าจะต้องสูงกว่าโปรแกรมเมอร์ เพราะเห็นหลายที่แล้ว เงินเดือนโปรแกรมเมอร์ สูงมาก ส่วน SA ก็ไม่ต่างจาก ฝ่ายขายเลย
อยู่ที่ประสบการณ์เหมือนน้องมะปรางว่ามากกว่า
พรุ่งนี้จะเดินทางไปหาหมอแล้วหรือเปล่าครับ เดินทางปลอดภัยนะ
ปล.ห้ามแอบกินตับ คนที่เดินทางไปด้วยนะ อิอิ
สวัสดีค่ะ นู๋มะปรางเปรี้ยว
จะลงมาหาดใหญ่วันไหนค่ะ วันอาทิตย์ที่ 4 มีนาคม ยังอยู่ที่หาดใหญ่อีกรึเปล่าค่ะ ยังไงแวะไปหาพี่ที่ทำงานได้นะคะ ช่วงสาย ๆ หน่อยนะคะ ที่คณะวิทยาศาสตร์ มอ.ค่ะ พี่จะทำมันปู มาให้ทาน
ทิ้งเบอร์ไว้ให้พี่ ที่ e-mail พี่ ด้วยนะคะ
ตาหยู: เราจะ claim ได้หรือเปล่าว่า โปรแกรมเมอร์ ที่เข้าใจภาพรวม ลูกค้า ความต้องการในการใช้ ก็มักจะทำให้ได้รับ ค่าจ้าง สูงขึ้นด้วย (ในตำแหน่งโปรแกรมเมอร์เหมือนเดิม)?
ถ้าออกมารูปนี้ก็น่าจะเป็นเรื่องตรงไปตรงมาเลย ที่จะปลูกฝังโปรแกรมเมอร์
พี่รัตติยาค่ะ
ส่งเมล์หาแล้วนะค่ะ
ขอมาตอบคุณวีร์ ผ่านน้องมะปรางด้วย
บ้างเงินตอบแทน หรือส่วนใหญ่มาในรูปเงินเดือนนั้น
ต้องขอบอกก่อนว่าบ้างครั้ง มันจะต่างกรรม ต่างวาระครับ
โปรแกรมเมอร์ ขอเรียกว่า PGM
PGM บางคน เขียนโปรแกรมไม่เก่งเลยแต่ทำงานอื่นคล่อง ปรากฏว่าไปอยู่บ.หนึ่ง ที่เค้ามีโปรแกรมอยู่แล้ว ให้PGM ไปดูแล ซึ่งก็แทบไม่ได้เขียนโปรแกรมแต่ทำงานคอมอื่นได้ดี ไม่มีข้อเปรียบเทียบ เพราะไม่มีใครไปทดสอบวัดเค้าได้ เงินเดือนเลยสูงมาก เพราะในบ.นั้นมองว่า เก่ง
ในขณะที่
PGM บางคน เขียนโปรแกรมเก่งมาก ไปทำงานบ.ด้านsoftware ล้วนๆ ทำงานกับPGM หลายคน จำนวนมาก หัวหน้างานก็เป็นโปรแกรม การตรวจสอบทดสอบ ทำกันอยู่ตลอดเวลา งานหนัก เคลียด เงินเดือนอาจน้อยกว่า PGM ในตัวอย่างแรกเลยครับ
จากตัวอย่างทั้งสองคน หรือหลายคน ในหลายองค์กร ตัวเงินเดือนไม่เท่ากัน ตัวงานก็ไม่เท่ากัน
บางครั้งเราก็ต้องทำใจครับ เอกชนเค้าถึงไม่ให้ดูเงินเดือนกัน เดี๋ยวทำใจไม่ได้
แต่การจะเป็นPGM ที่ดี หรือวิชาชีพอื่นๆเหมือนกัน คือการทำงานต้องทำ 2 อย่างคือ
1 ทำให้ได้
2 ทำให้ดี
คนเราชอบข้ามขั้นตอน 1 ยังไม่ได้ จะไป 2 เลย
เช่นกัน การจะเป็นPGM ที่ดี
1ทำให้ได้ คือ เขียนโปรแกรมให้ถูกต้องตามหลักวิชา และหลักวิใช้(คนใช้งาน)
2 ทำให้ดี อันนี้วัดกันได้เลย PGMหลายคนไม่เคยมอง ถ้าเป็นบ.software
ขอต่อ
ถ้าเป็นบ.software ใหญ่ๆ จะวัดกันเลย
วัดกันยังงัย
วัดกันที่ performance คืออะไร
โปรแกรมใหญ่ 1ระบบ
-บางคน เขียนไป 3พันคำสั่ง
-บางคน เขียนไป 5พันคำสั่ง
ซึ่งทั้ง2 คนทำให้โปรแกรมทำงานได้ ไม่ผิดด้วย
แต่คนที่เขียนคำสั่งน้อยกว่า หรือทำให้ระบบทำงานได้เร็วกว่านั้น มีperformance
ที่ดีกว่า
PGM เคยดูกันหรือยังว่าเราเคยสนใจใน performance ของโปรแกรม แล้วหรือยัง
ขอโทษที่มือไปเผลอกดปุ่ม tab เลยโดนบันทึกเลย
โดนใจคำว่าทำได้ดีค่ะ เพราะบางทีมันถูกลืมไปค่ะ แต่ทำได้ดี ก็มีหลายระดับ ขึ้นอยู่กับความพึงพอใจของแต่ละคนอีกค่ะ
ขอบคุณสำหรับบทความนี้มากคะ กำลังสนใจอาชีพนี้ tester เลยศึกษาเพื่อจะมีไรทำมันๆๆ ระหว่างช่องว่างที่เราพูดถึงกัน