- มักจะอดคิดไม่ได้บ่อย ๆ ว่าอาชีพอื่นก็เป็นแบบนี้ไหม
- วิศวกรซอฟต์แวร์ต้องรู้จักภาษาโปรแกรมและเครื่องมือหลายอย่างตั้งแต่แรก
- แต่แค่นั้นยังไม่พอ และยังต้องเรียนรู้เฟรมเวิร์กเฉพาะที่บริษัทใช้อีกด้วย
- เช่น Rails, Django, Laravel เป็นต้น
- CSS ก็เป็นสิ่งจำเป็น แต่ทำไมเลย์เอาต์พังนั้นเป็นเรื่องที่ต่อให้เรียนไปทั้งชีวิตก็ยังเข้าใจได้ยาก
- ถ้ารู้แบบพอถูไถก็อาจเอาตัวรอดได้
วิวัฒนาการของ JavaScript และระบบนิเวศฝั่งฟรอนต์เอนด์
- แทบไม่มีกรณีที่หลีกเลี่ยง JavaScript ได้
- ถ้าเป็นแอปแบบเลกาซีที่ใช้แค่ jQuery ถือว่าโชคดี
- เมื่อ React ออกมา ฝั่งฟรอนต์เอนด์กับแบ็กเอนด์ก็เริ่มแยกจากกัน
- แต่บริษัทต่าง ๆ ไม่ได้เพิ่มจำนวนคน และกลับคาดหวังให้มี 'วิศวกรฟูลสแตก' ที่ดูแลได้ทั้งหมด
- ต้องเรียนรู้ React
- ต้องทำ REST API ได้ด้วย
- พอเริ่มพูดกันว่าจำเป็นต้องมี type ก็ต้องเรียน TypeScript เพิ่มอีก
- บรรยากาศโดยรวมก็เหมือนบอกให้ไปจัดการ state ด้วย Redux
- ยังต้องตั้งค่าเครื่องมือต่าง ๆ อีก: webpack, esbuild, rollup, Prettier, ESLint เป็นต้น
อิสระในการเลือกเทคโนโลยี? แทบไม่มีจริง
- จะทำแบบเดิมต่อไปก็ได้ แต่ในโลกความจริงมันไม่เป็นแบบนั้น
- ต้องคิดด้วยว่ามีเวลาพอจะสอนการทำ server-side rendering ให้เด็กจบใหม่ที่เคยใช้แค่ React ไหม
- สตาร์ตอัปต้องเคลื่อนที่เร็วและเผาเงินอยู่ตลอด จึงยากที่จะออกนอกมาตรฐาน
การเปลี่ยนแปลงของการดูแลระบบ: การมาของ DevOps
- ในอดีตเคยมีผู้ดูแลระบบ (System Administrator) แยกต่างหาก
- คนเหล่านี้ดูแลการจัดการอินฟราสตรักเจอร์ การอัปเกรด DB การดูแล daemon เป็นต้น
- ปัจจุบันด้วยวัฒนธรรม DevOps ทำให้วิศวกรต้องรับทุกอย่างเอง
- ต้องเรียน Docker
- ต่อให้เป็นสถาปัตยกรรมที่ไม่ต้องใช้ Docker ก็ยังต้องรู้เครื่องมืออย่าง Ansible, SystemD
คลาวด์และความจำเป็นของเครื่องมือจัดการอินฟราสตรักเจอร์
- ตอนนี้ต้องใช้ AWS เป็นด้วยแทบจะหลีกเลี่ยงไม่ได้
- ถ้ายังใช้ GUI จะถูกมองว่าเป็นมือใหม่ จึงต้องเรียนรู้เครื่องมือ IaC อย่าง Terraform หรือ Pulumi
เลื่อนตำแหน่งแล้วจบไหม? ไม่ใช่ จุดเริ่มต้นใหม่ต่างหาก
- ถ้ากลายเป็นผู้จัดการ ก็ต้องเรียนรู้งานอีกชุดที่ต่างออกไปโดยสิ้นเชิง
- การประเมินกำหนดส่ง
- การกระจายงาน
- การเขียนนิยามงาน
- การมีส่วนร่วมในการประเมินประจำปี
- การให้ฟีดแบ็กในการประชุมผลิตภัณฑ์
- ถ้าบริษัทยังไม่ได้ใหญ่ขึ้น ก็ยังต้องทำงานวิศวกรควบคู่ไปด้วยอยู่ดี
สิ่งที่ถูกคาดหวังเพิ่มขึ้นไม่รู้จบ
- ไม่นานมานี้มีบริษัทลึกลับแห่งหนึ่งติดต่อมา
- เทคโนโลยีที่ต้องการ: Rails, Hotwire, การพัฒนาแอปมือถือแบบเนทีฟ
- ดูทรงแล้วแทบจะขอให้ทำเคอร์เนลหรือคอมไพเลอร์ด้วย
- ซอฟต์แวร์ยิ่งซับซ้อนขึ้นเรื่อย ๆ
- ความซับซ้อนนั้นมีเหตุผลของมัน แต่การแบ่งความเชี่ยวชาญกำลังหายไป
- แม้แต่การสร้างบ้านก็ยังต้องใช้ผู้เชี่ยวชาญหลายแบบ
- แต่ในโลกซอฟต์แวร์กลับกลายเป็นว่าคาดหวังให้คนคนเดียวทำทุกบทบาท
ความหวังในอนาคต: โลกที่สร้างแอปได้ด้วยพรอมป์ต์ไม่กี่อัน
- ถ้าความจริงมันซับซ้อนขนาดนี้ อนาคตที่สร้างแอปได้ด้วยพรอมป์ต์ไม่กี่อันก็ดูไม่เลวเหมือนกัน
97 ความคิดเห็น
อย่างน้อยผมก็คิดว่าวิศวกรซอฟต์แวร์เป็นอาชีพที่พอจะออกล่าทองคำในศตวรรษที่ 21 ได้~
ผมเข้าใจว่าผู้เขียนรู้สึกลำบากกับเรื่องไหน แต่תגובותต่าง ๆ ก็ดูแปลก ๆ นะครับ การไล่เรียงว่าความเป็นจริงยังมีความยากที่ใหญ่กว่านี้อีกก็ไม่ได้ช่วยอะไรนัก เพราะมันเป็นเรื่องอัตวิสัย
https://whoisnnamdi.com/never-enough-developers/
นี่เป็นบทความต่างประเทศที่วิเคราะห์ว่าทำไมถึงหาวิศวกร SW ที่มีประสบการณ์ได้ยาก ลองอ่านดูครับ
แม้จะเริ่มต้นในสายวิศวกร แต่ระหว่างทางก็มีอัตราการย้ายไปสายที่ไม่ใช่วิศวกรสูง - การเปลี่ยนผ่านไปสู่เทคโนโลยีใหม่เกิดขึ้นเร็วมากเมื่อเทียบกับอาชีพอื่น - วิเคราะห์ข้อมูลประกาศรับงานออนไลน์ช่วงปี 2007 ~ 2019 - ในสายคอมพิวเตอร์และคณิตศาสตร์ 47% ต้องการทักษะใหม่อย่างน้อยหนึ่งอย่าง (เช่น เทคโนโลยีที่ยังไม่คุ้นเคยในปี 2007) - เมื่อเทียบกับสาขาอย่างการศึกษา กฎหมาย ฯลฯ ที่มีเพียง 20% ถือว่าเป็นความเปลี่ยนแปลงที่ใหญ่มาก - ทักษะที่ใช้ในปี 2007 จำนวน 16% กลายเป็นทักษะที่ไม่มีประโยชน์อีกต่อไปในปี 2019 ซึ่งมากกว่าสายอาชีพอื่นราว 2 เท่า - ทักษะที่จำเป็นเพิ่มขึ้นอย่างรวดเร็ว และก็หายไปอย่างรวดเร็วเช่นกัน - กล่าวคือ ต่อให้สั่งสมประสบการณ์ก็ยากจะมีความมั่นคง - แม้แต่คนมีประสบการณ์ก็ยังต้องเรียนรู้และเติบโตต่อไปกับเทคโนโลยีที่ไม่เคยมีอยู่ในช่วงต้นอาชีพของตน - อาชีพในสาขาที่เปลี่ยนแปลงเร็ว (เช่น วิทยาการคอมพิวเตอร์) มักได้รับค่าตอบแทนสูงกว่าอาชีพอื่นในช่วงต้นอาชีพ แต่เมื่อเวลาผ่านไป พรีเมียมนี้จะลดลงอย่างรวดเร็ว หลังอายุ 35~40 ปี เมื่อเทียบกับสายอื่น (สังคมศาสตร์, ธุรกิจ) กลับมีพรีเมียมน้อยกว่า - วิศวกรรม: เป็นสายงานที่ต้องมีทักษะสูงตั้งแต่ต้นและเปลี่ยนแปลงเร็ว ทำให้รายได้ช่วงต้นอาชีพสูงสุด แต่เมื่อเวลาผ่านไปและมีเทคโนโลยีใหม่เข้ามา มูลค่าของทักษะที่มีอยู่ก็ลดลง แม้คนทำงานจะมีประสบการณ์มากขึ้นก็ยังต้องเรียนรู้อยู่ตลอด แต่ประสิทธิผลของการเรียนรู้จะลดลง และผลตอบแทนจากการใช้ประสบการณ์ก็ต่ำลง - คนที่เรียนรู้ได้เร็วก็ออกไปเร็ว - คนที่มีความสามารถทางการรับรู้สูงและเรียนรู้ได้ไว มองว่าการย้ายไปสู่สาขาที่มั่นคงกว่านั้นให้ประโยชน์มากกว่า มากกว่าจะอยู่ในสาขาที่เปลี่ยนแปลงรวดเร็ว - การออกกลางคันและการย้ายไปสายงานอื่นเช่นนี้ไม่ใช่เรื่องชั่วคราว และยิ่งสาขานี้เติบโตมากขึ้นก็จะยิ่งเพิ่มขึ้น - เมื่อขยายพูลแรงงาน ค่าจ้างก็จะลดลง และอัตราการออกกลางทางก็จะสูงขึ้นด้วย - เราอาจคาดหวังว่าคนเก่งจะอยู่และคนไม่เก่งจะออกไป แต่ในความเป็นจริงกลับเป็นตรงกันข้าม คนที่มีความสามารถและเรียนรู้เร็วต่างหากที่กำลังออกไป สิ่งนี้กำลังทำให้อุตสาหกรรมซอฟต์แวร์ต้องจ่ายต้นทุนค่าเสียโอกาสมหาศาล - ตราบใดที่ความเร็วในการเปลี่ยนแปลงของสายวิศวกรยังไม่ช้าลง ผมคิดว่าในระยะยาว ปรากฏการณ์การขาดแคลนแรงงานนักพัฒนาซอฟต์แวร์จะยังคงดำเนินต่อไป
ฉันกลับไม่ค่อยเข้าใจปฏิกิริยาในคอมเมนต์เท่าไรนะ ในเกาหลีปัญหามันใช่ว่าวิศวกรหลงตัวเองกันจนเป็นปัญหาหรือเปล่า (ถึงจะมีคนแบบนั้นอยู่บ้างบางส่วน) แต่ตรงกันข้ามคือพวกเขาถูกมองข้ามและหมดกำลังใจ จนวิศวกรกับนักวิจัยเก่ง ๆ ไหลออกไปต่างประเทศจนกลายเป็นปัญหาอยู่ต่างหาก ฉันคิดว่าถ้าคนที่เคยทำงานที่ Samsung, Naver ฯลฯ แล้วย้ายไป AMD, Google ฯลฯ ได้กลับมาเกาหลีในภายหลังพร้อมประสบการณ์ นั่นจะเป็นทรัพยากรที่มีค่ามาก แต่ถ้าบรรยากาศยังเป็นแบบนี้ คนส่วนใหญ่ก็คงจะเลือกอยู่ประเทศนั้นต่อไปเลยมากกว่า
ดูเหมือนว่ายังมีหลายคนที่มองขอบเขตของวงการซอฟต์แวร์แคบเกินไป และมองว่ามูลค่าเพิ่มก็ต่ำด้วย แต่สิ่งที่แต่ละคนได้ทำงานและได้เห็นด้วยตาตัวเองไม่ใช่ทั้งหมดของโลกนี้ อย่างที่มีคอมเมนต์ข้างล่างบอกไว้ แม้แต่ชิปกึ่งตัวนำระบบก็ยังมีความสามารถในการแข่งขันที่แตกต่างกันไปตามเทคโนโลยี SW
ดูจากการดูหมิ่นและกดค่าซอฟต์แวร์เอนจิเนียร์กันแบบนี้ในคอมเมนต์แล้ว ต่อไปเกาหลีก็คงยากที่จะสร้างพลังได้มากในอุตสาหกรรมการผลิตและเซมิคอนดักเตอร์เช่นกัน การหลงตัวเองและดูถูกคนอื่นนั้นแน่นอนว่าไม่ดี แต่การลดทอนคุณค่าที่แท้จริงก็ไม่ใช่เรื่องดีเช่นกัน
ทำไมเกาหลีจึงไม่มีความสามารถในการแข่งขันด้าน non-memory หรือก็คือ system semiconductor? หากจะสรุปตั้งแต่ต้น คำตอบก็คือเป็นเพราะอุตสาหกรรมซอฟต์แวร์ยังด้อยกว่าสหรัฐฯ คุณอาจย้อนถามได้ว่าชิปกับ "ซอฟต์แวร์" เกี่ยวข้องกันอย่างไร จากนี้ไปผมจะค่อยๆ อธิบายเหตุผลนั้นตั้งแต่ฉากหลังอย่างเป็นลำดับ
ดังที่กล่าวไปแล้ว ความสามารถในการแข่งขันของ system semiconductor ไม่ได้มาจากความสามารถในการออกแบบวงจรเซมิคอนดักเตอร์ ท้ายที่สุดแม้มันจะถูกทำให้เป็นจริงในรูปของฮาร์ดแวร์ แต่รากฐานของมันอยู่ที่ความคิดสร้างสรรค์ด้านซอฟต์แวร์ของสาขาการใช้งานนั้น
https://brunch.co.kr/@airtight/215/…
อย่างที่หลายคนบอก งานสาย SW ก็มีขอบเขตกว้าง มีทั้งด้านที่เรียนรู้เร็วแล้วนำไปใช้ได้ทันที และด้านที่ต้องอาศัยความเชี่ยวชาญเป็นพื้นฐาน พร้อมการสั่งสมจากการเรียนรู้และประสบการณ์ยาวนาน อย่าคิดว่าประสบการณ์ของตัวเองคือทั้งหมด
ตัวบทความเองก็ไม่ได้ดูหมิ่นอาชีพอื่นเป็นพิเศษ แต่กลับมีคอมเมนต์แปลก ๆ อยู่เยอะนะครับ อย่างที่ท่านอื่นพูดไว้ ยิ่ง IT เข้าไปฝังลึกในชีวิตของมนุษย์มากขึ้นเท่าไร ซอฟต์แวร์ก็ยิ่งสำคัญขึ้น และกำลังค้ำจุนโครงสร้างพื้นฐานจำนวนมากอยู่ ผมคิดว่าไม่ใช่ว่าความสามารถของนักพัฒนาแต่ละคนเพิ่มขึ้นจนทำให้ค่าตอบแทนสูงขึ้น แต่เป็นเพราะตัวงานนั้นแพงขึ้นเฉย ๆ เพราะมันสำคัญกว่าสมัยก่อน ที่นี่ประเด็นว่างานนั้นเหนื่อยหรือไม่เหนื่อยไม่ใช่เรื่องสำคัญนัก ความเหนื่อยหรือไม่เหนื่อยเป็นความรู้สึกเชิงอัตวิสัย และมันก็ไม่ได้เป็นตัวกำหนดการปฏิบัติต่ออาชีพใดอาชีพหนึ่งด้วย
เหมือนเจ้าตัวไม่ค่อยมั่นใจในฝีมือตัวเองเลยต้องโวยวายขนาดนั้นมั้ง คนที่เก่ง ๆ เขายังถูกดูแคลนว่าไม่ได้เรื่องเลย
ทุกอย่างก็เพื่อให้มันดูคล้ายๆ กันไปหมด
มันก็จริงที่เป็นงานที่ใคร ๆ ก็ท้าทายลองทำได้ แต่ไม่ได้หมายความว่าไม่ควรมีความเป็นมืออาชีพกับความภาคภูมิใจในงานตัวเองเลย กำลังเข้าใจผิดกันอย่างหนัก
ใช่เลย แม้ว่าใคร ๆ ก็ท้าทายเข้ามาทำได้ แต่ก็เป็นสายงานที่ความต่างด้านผลิตภาพขึ้นอยู่กับแต่ละคนมาก พอปฏิเสธเรื่องนั้น คนที่เก่งจริง ๆ ก็เลยออกจากวงการหรือย้ายงานไปต่างประเทศกัน
ฉันไม่เข้าใจคอมเมนต์ต่าง ๆ เลยนะ หลงตัวเองก็ไม่ดีอยู่แล้ว และแน่นอนว่าการดูหมิ่นอาชีพอื่นก็เป็นสิ่งที่ไม่ควรทำ แต่ตั้งแต่แรกในโพสต์ต้นฉบับมีการดูหมิ่นใครหรือเปล่า? หรือว่าพวกคุณเองไม่มีความภาคภูมิใจ และแค่อยากได้วิศวกรที่คิดว่าใครทำก็เหมือนกันแล้วทำงานแบบขอไปที?
ก็จริงที่ว่าคนนั้นพูดเวอร์ไปหน่อย
ได้อ่านคอมเมนต์เชิงวิจารณ์แล้วก็ทำให้คิดหลายอย่าง มีทั้งส่วนที่เห็นด้วยและส่วนที่คิดต่าง
ก็จริงนะ คอมเมนต์ก็มีแต่พูดเหลวไหลเยอะเหมือนกัน ถึงจะไม่ควรอินเกินไป แต่ถ้าคุณรู้สึกว่าวิศวกรรมซอฟต์แวร์ไม่ได้มีอะไรพิเศษขนาดนั้น ก็เลิกทำงานนั้นไปเถอะ พูดตามตรง ถ้าลดมาตรฐานลงมันก็เป็นงานง่าย แต่ถ้าไม่อย่างนั้น มันก็เป็นงานที่ยากไม่ใช่หรือ? แม้อาชีพส่วนใหญ่ในโลกนี้ก็คงเป็นแบบนั้นก็ตาม
แม้จะยากที่จะตัดสินเพราะเราไม่รู้ว่าคนอื่นอยู่ในสภาพแวดล้อมแบบไหน มีนิสัยแบบไหน และกำลังรู้สึกอย่างไร.... แต่อย่างน้อยสำหรับผม ผมไม่ค่อยรู้สึกร่วม และคิดว่ายังมีอาชีพอื่นที่ลำบากและหนักหนากว่านี้อีกมาก จึงไม่ค่อยเห็นด้วยกับเนื้อหาในบทความนี้
ไม่จำเป็นต้องเอามาเปรียบเทียบกันเลย
•แม้ว่าชื่อจะถูกแปลว่าเป็นเรื่องบ้าบอ แต่ผมคิดว่าน่าจะเป็นการสื่อถึงสภาพการณ์ตอนนี้ที่ทำให้คนหมดแรงมากกว่า และผมก็เห็นด้วยกับเนื้อหาในบทความอยู่พอสมควร จริงอยู่ว่าสิ่งที่คาดหวังจากวิศวกรหนึ่งคนในทุกวันนี้กว้างขึ้นและมากขึ้นกว่าในอดีต และเมื่อเทียบกับแต่ก่อน โลกความเป็นจริงที่จำนวนมากกว่ามากได้เข้ามาอยู่ในระบบคอมพิวเตอร์ ทำให้ทั้งนามธรรมและความยากในการลงมือทำเพิ่มสูงขึ้นอย่างรวดเร็วด้วย เพียงเพราะยกตัวอย่างงานในโลกจริงที่ยากกว่ามาเรียงกัน ก็ไม่เห็นจำเป็นต้องอ้างว่างานนี้ไม่ใช่งานที่เหนื่อยเลยนะ...
ผมกลายมาเป็นนักพัฒนาซอฟต์แวร์ก็เพราะเหตุผลเดียวกับที่บทความนั้นเขียนไว้ บางคนอาจไม่ชอบอาชีพนี้เพราะต้องเรียนรู้เทคโนโลยีใหม่ทุกวัน ขณะที่บางคนกลับมองว่าเป็นพรเพราะได้เรียนรู้เทคโนโลยีใหม่ทุกวัน ดูเหมือนว่าแต่ละคนจะมีมุมมองไม่เหมือนกันนะครับ
ก็จริงครับ สำหรับคนคนนั้นมันอาจจะเป็นเรื่องหนักก็ได้ ความลำบากเป็นเรื่องที่ขึ้นอยู่กับแต่ละคน
ผมไม่เข้าใจว่าทำไมเขาถึงโดนด่าขนาดนั้นนะ ถ้าเขาไปดูถูกอาชีพอื่นก็คงพอจะโดนวิจารณ์ได้ แต่นี่ก็ไม่ใช่แบบนั้น ในความเป็นจริง คอมเมนต์ต่างหากที่กำลังด่าผู้เขียนอย่างเกินกว่าเหตุและไร้เหตุผล
แม้ชื่อเรื่องจะถูกแปลว่าเป็นเรื่องบ้าบอ แต่ผมคิดว่ามันน่าจะเป็นการสื่อถึงสถานการณ์ตอนนี้ที่ทำให้คนหมดแรงมากกว่า และผมก็ค่อนข้างเห็นด้วยกับบทความต้นฉบับในระดับหนึ่ง เป็นความจริงที่เมื่อเทียบกับอดีต สิ่งที่คาดหวังจากวิศวกรหนึ่งคนนั้นกว้างขึ้นและมากขึ้นมาก อีกทั้งเมื่อเทียบกับอดีต โลกความเป็นจริงจำนวนมากกว่ามากได้เข้ามาอยู่ในระบบคอมพิวเตอร์ และด้วยเหตุนั้น ระดับของนามธรรมและความยากในการลงมือพัฒนาก็เพิ่มสูงขึ้นอย่างรวดเร็วด้วย เพียงเพราะยกตัวอย่างงานในโลกจริงที่ยากกว่ามาเรียงกัน ก็ไม่น่าจำเป็นต้องอ้างว่างานนี้ไม่ใช่งานที่เหนื่อยหรอกนะ...
ยิ่ง IT แทรกซึมเข้าไปลึกในชีวิตของมนุษยชาติมากขึ้นเหมือนแป้งผงชนิดอื่นๆ ซอฟต์แวร์ก็ยิ่งสำคัญขึ้น และกำลังค้ำจุนโครงสร้างพื้นฐานจำนวนมากอยู่ เพราะอย่างนั้นการได้รับการปฏิบัติก็เลยเปลี่ยนไป ส่วนว่างานนั้นยากหรือไม่ยากไม่ใช่ประเด็นสำคัญที่ต้องพูดถึงที่นี่
ก็จริงนะครับ/ค่ะ ตั้งแต่แรกแล้ว ความยากลำบากเป็นความรู้สึกเชิงอัตวิสัย และโลกนี้ก็ไม่ใช่ที่ที่คุณจะได้รับการปฏิบัติเป็นพิเศษเพียงเพราะบอกว่ามันลำบาก ผม/ฉันกลับรู้สึกว่าคอมเมนต์ต่าง ๆ แปลกเสียยิ่งกว่า การปฏิบัติต่อคนถูกกำหนดจากว่าคุณมีส่วนช่วยต่อผลิตภาพหรือเรื่องทำนองนั้นหรือไม่ ซึ่งเป็นคนละประเด็นกับว่างานนั้นเหนื่อยหรือยากแค่ไหน
เรื่องอื่นอาจไม่รู้ก็จริง แต่ในสายงาน IT มีบรรยากาศที่เปิดเผยข้อมูลมากกว่าและแบ่งปันผลงานของตัวเองต่อกันค่อนข้างแพร่หลาย รวมถึงในระดับบริษัทด้วย ซึ่งในแง่นั้นก็ดีเลยล่ะ
ไม่จริงนะ การทำงานกับคอมพิวเตอร์ที่ไม่เถียง เปิดเผยข้อมูลทุกอย่าง และตอบสนองให้ตลอดเวลานี่สบายจะตาย 555
บทความนี้ทำให้รู้สึกราวกับว่าชีวิตของวิศวกรซอฟต์แวร์เต็มไปด้วยความทุกข์และความไร้ระเบียบไปเสียทั้งหมด แต่จริง ๆ แล้วดูเหมือนว่าจะเป็นเรื่องที่อิงจากเทรนด์เทคโนโลยีและสภาพแวดล้อมเฉพาะที่ผู้เขียนได้ประสบมาด้วยตัวเองเท่านั้น
การเปลี่ยนแปลงของเทคโนโลยีนั้นรวดเร็วอย่างไม่ต้องสงสัย แต่ก็ไม่ใช่ว่าวิศวกรทุกคนจะต้องเผชิญเหมือนกันหมด และยังมีคนจำนวนมากที่รู้สึกถึงความมั่นคงและความสนุกภายในนั้น
หากมีการเปลี่ยนแปลง การปรับตัวเข้ากับมันก็เป็นส่วนหนึ่งของงานวิศวกรรม ไม่ใช่ว่าตัวมันเองจะเป็นเรื่อง 'บ้าบอ' เสียทีเดียว
ก็แค่หัวเราะแล้วปล่อยผ่านไปครับ... ฮ่าๆ
บนโลกนี้จะมีงานไหนที่ไม่ยากบ้างล่ะครับ
ผมทำงานสายอื่นมามากกว่า 10 ปีแล้วค่อยย้ายมา IT แต่ก็ยังมีคนจำนวนไม่น้อยที่คร่ำครวญเกินจริงพอๆ กับที่เคยเห็นจากคนนอกตลอด 10 ปีที่ผ่านมา
ความลำบากเป็นเรื่องที่แต่ละคนรู้สึกไม่เหมือนกัน แล้วทำไมถึงพูดแบบนั้นล่ะครับ?
สำหรับเขา เรื่องแบบนั้นอาจเป็นความทุกข์ใจก็ได้ครับ
ถ้าจะพูดแบบนั้น งั้นใครจะพูดกับคุณก็ได้ว่า ก็เพราะคุณเปลี่ยนสายงานช้าเลยได้แต่ทำงานระดับกลางๆ ถึงได้รู้สึกแบบนั้นไง แบบนี้คุณก็คงเถียงอะไรไม่ได้ใช่ไหมครับ?
การใช้ชีวิตเป็นวิศวกรซอฟต์แวร์มันบ้าชัดๆ
วิศวกรซอฟต์แวร์ไม่ได้มีแค่คนที่ทำ DevOps บนคลาวด์เท่านั้น
ผมคิดว่าสายฟรอนต์เอนด์นี่ก็จริงอยู่พอสมควร สิ่งที่เรียนวันนี้พรุ่งนี้ก็กลายเป็นขยะแล้ว....
แม้จะไม่ได้ลงลึกมาก แต่ก่อนจะใช้ Tailwind ผมรู้สึกมีแต่ความโกรธและความท้อแท้อย่างหนัก
ส่วนแบ็กเอนด์หรือไม่ก็พัฒนาระบบ? ผมกลับคิดว่า ทำงานแบบนี้แล้วสมควรได้รับเงินนี้จริงเหรอ~ ให้ความรู้สึกเหมือนได้รับเงินไปกับการต่อเลโก้ แต่สำหรับผม ดีแล้วที่ได้ทำงานพัฒนาซอฟต์แวร์...
CSS ก็เป็นสิ่งจำเป็นเหมือนกัน แต่การจะรู้ว่าทำไมเลย์เอาต์ถึงพังนี่ ต่อให้เรียนไปทั้งชีวิตก็เข้าใจได้ยากมาก > จริงมากเลยครับ ฮือฮือ
นี่น่าจะเป็นงานที่เดิมที AGI ควรทำตั้งแต่แรก..
ความคิดเห็นจาก Hacker News
การเป็นวิศวกรซอฟต์แวร์ไม่ใช่เรื่องยาก วิศวกรรมซอฟต์แวร์เป็นหนึ่งในอาชีพที่ง่ายที่สุดอาชีพหนึ่ง เราถูกปกป้องมากเกินไปจนคิดว่าสิ่งที่อธิบายในบทความนี้เป็นเรื่องยาก ซึ่งเป็นหลักฐานว่าอาชีพของเราไม่ได้ยากขนาดนั้น
ซอฟต์แวร์ซับซ้อนขึ้นเรื่อย ๆ ความซับซ้อนนี้มีเหตุผลอยู่ แต่ไม่ใช่เหตุผลที่ดี ในอดีตมีแรงจูงใจด้านประสิทธิภาพ มีทั้งการขาดแคลนบุคลากร แบนด์วิดท์และพลังประมวลผลที่จำกัด รวมถึงงบประมาณที่จำกัด
การผลักดันแบบ "ทุกคนมาเป็นโปรแกรมเมอร์กันเถอะ" ตลอด 20 ปีที่ผ่านมา เงินทุนที่มากเกินไป และการออกแบบโดยคณะกรรมการ ได้สร้างโลกที่ซับซ้อนอย่างมากขึ้นมา
ตลอดอาชีพ 30 ปี เคยทำทั้งแอปและระบบเฟรมเวิร์ก และต้องเรียนรู้ภาษาใหม่ ๆ, API, เฟรมเวิร์ก, เครื่องมือ และอื่น ๆ อยู่เสมอ รวมถึงการเปลี่ยนแปลงของวิธีสร้างและส่งมอบซอฟต์แวร์ด้วย: การพัฒนาแบบ Agile, การนำโดย tech lead, จาก QA ไปสู่ no-QA, unit test, code review ฯลฯ เป้าหมายขยับตลอดเวลา
ภาษาที่รู้: Pascal, C, 6502 แอสเซมบลี, C++, Objective-C, Javascript, Swift เป็นต้น
ช่วงต้นอาชีพ ทักษะสำคัญคือการจัดการหน่วยความจำและทำให้ทุกอย่างเล็กและเร็ว ช่วงกลางอาชีพต้องกลายเป็นผู้เชี่ยวชาญด้าน concurrency
ในบริษัทใหญ่แบบ Apple มีทั้งทีม "ดี" และทีม "แย่" ซึ่งเป็นเรื่องสัมพัทธ์กับวิศวกรแต่ละคน ทีมที่ฉันไม่ชอบอาจเหมาะกับคนอื่นก็ได้
หลังจากทำงานอยู่ในทีม "แย่" หลายปี ก็มีปัญหาระบบทางเดินอาหารอย่างรุนแรงจนต้องผ่าตัด ต้องมองเรื่องความเครียดอย่างจริงจัง
เหมือนกับการสร้างบ้าน ความเชี่ยวชาญเฉพาะทางกำลังหายไป ในงานที่ต้องการการศึกษามากกว่าแค่จบมัธยมปลาย จะต้องการคนที่ทำได้รอบด้าน หลายอาชีพต้องใช้ทักษะที่หลากหลาย
ถ้าคนคนเดียวมีความรู้มากพอจะจัดการงานได้ ก็ไม่จำเป็นต้องจ้างผู้เชี่ยวชาญสองคน บริษัทสถาปัตยกรรมจำนวนมากมักทำงานเพียงขั้นต่ำเท่านั้น
เหตุผลของความซับซ้อนคือการปั้นเรซูเม่เพื่อให้เข้าบริษัทอย่าง FAANG, การสร้างตลาดงานเฉพาะทาง และการหลงตัวเองเพื่อความมั่นคงในอาชีพ มีการเพิกเฉยต่อการเติบโตเป็นผู้ใหญ่ของอุตสาหกรรมในระดับพื้นฐาน
ถ้าทำงานได้ดี ก็จะถูกเลื่อนเป็นผู้จัดการ แล้วต้องไปเรียนรู้งานที่ต่างออกไปโดยสิ้นเชิง ใช้เวลามากมายไปกับการเรียนรู้ทักษะทางเทคนิค แต่มันไม่ได้แปลงเป็นความสามารถในการ "ดีบักมนุษย์"
ทุกวันนี้หน้าเว็บไม่ได้ต่างจากเมื่อ 10 ปีก่อนมากนัก แต่เครื่องจักรกลับซับซ้อนขึ้นมาก ขนาดดาวน์โหลดของหน้าก็ใหญ่ขึ้น และการตอบสนองก็แย่ลง
ทฤษฎีหนึ่งเกี่ยวกับอุตสาหกรรมซอฟต์แวร์คือ ไม่มีใครรู้วิธีบริหารบริษัทเทคโนโลยีที่โตเต็มที่จริง ๆ การพัฒนาที่ขับเคลื่อนด้วยเรซูเม่เป็นปัญหาในโลกเทค ผู้จัดการสายเทคนิคควรตรวจจับและหยุดเรื่องนี้ แต่ทำไม่ได้
การเรียนรู้ภาษาโปรแกรมและเฟรมเวิร์กสักไม่กี่อย่างเป็นเพียงเรื่อง "น่ารำคาญเล็กน้อย" ไม่ใช่เรื่องยาก
ซอฟต์แวร์เป็นสิ่งประดิษฐ์ขึ้นมาเอง สาขาวิทยาศาสตร์กายภาพยากกว่าในการค้นพบเทคโนโลยีและวิธีแก้ปัญหาใหม่ ๆ การแก้ปัญหาซับซ้อนอย่างการเปลี่ยนแปลงสภาพภูมิอากาศ การรักษาโรค และการรับประกันแหล่งอาหารที่ยั่งยืน เป็นเรื่องยากมาก
วิศวกรรมซอฟต์แวร์ก็เป็นแค่การจัดเรียงข้อมูลใหม่เท่านั้น แม้จะทรงพลัง แต่ก็ไม่ได้ซับซ้อนโดยพื้นฐานเท่ากับการแก้ปัญหาที่ยากที่สุดของโลกกายภาพ
ความซับซ้อนของวิศวกรรมซอฟต์แวร์นั้นแตกต่างกันไปตามงานที่วิศวกรและทีมทำอยู่ ไม่ได้มีขีดจำกัดสูงสุดแบบตายตัว หากทุกปัญหาแก้ได้เพียงแค่จัดเรียงข้อมูลใหม่ สาขาวิศวกรรมซอฟต์แวร์ก็คงไม่ถือกำเนิดขึ้นมาหรอก
การอ้างว่าเพราะมันตั้งอยู่บนระบบแบบแผนมากกว่าโลกทางกายภาพจึงมีความซับซ้อนน้อยกว่า ก็อยู่ในระดับเดียวกับการอ้างว่าภาษาศาสตร์หรือคณิตศาสตร์ไม่ได้ซับซ้อน เพราะอิงอยู่กับภาษาและระบบตัวเลขแบบแผนที่มนุษย์สร้างขึ้นอย่างประดิษฐ์.
เทคโนโลยีซอฟต์แวร์ก็มีความสำคัญต่อการแก้ปัญหาที่ซับซ้อน เช่น การเปลี่ยนแปลงสภาพภูมิอากาศ การรักษาโรค และการรับประกันความมั่นคงของแหล่งอาหารอย่างยั่งยืนด้วย ต่อจากนี้มันจะยิ่งสำคัญขึ้นอีก ผมเลยไม่ค่อยเข้าใจนักว่าทำไมถึงพูดกันราวกับว่าเป็นปัญหาคนละเรื่องกันโดยสิ้นเชิง
จริง ๆ แล้วคุณก็มีส่วนช่วยแก้ปัญหาได้มากพอสมควรด้วยเทคโนโลยีอย่างบิ๊กดาต้าไม่ใช่หรือ
การหลงตัวเองก็ไม่ดี แต่การลดทอนคุณค่าที่แท้จริงของตัวเองก็ไม่ดีเช่นกัน
การใช้ชีวิตเป็นวิศวกรซอฟต์แวร์มันบ้าคลั่ง
มีอาชีพชั้นยอดไม่มากนักที่เทียบเท่าวิศวกรซอฟต์แวร์ได้ จงพบกับช่วงเวลาที่ทำให้คุณรู้สึกได้ว่าการได้สร้างสรรค์สิ่งต่าง ๆ นั้นเป็นความสุขเพียงใด
ช่วงไม่กี่ปีมานี้ จำนวนอุปทานของนักพัฒนาซอฟต์แวร์เพิ่มขึ้นมาก ทำให้แม้แต่คนที่ไม่ได้อยู่ในอุตสาหกรรมก็รู้จักการพัฒนาซอฟต์แวร์กันมากขึ้น จึงเคยคาดหวังว่าอาการคร่ำครวญเกินจริงของคนในวงการซอฟต์แวร์และการอวยกันเกินพอดีจากเพื่อนร่วมสายอาชีพน่าจะลดลงบ้าง แต่เพราะเบื้องล่างของเรื่องนี้มีการปรับปรุง待遇จากภาวะขาดแคลนอุปทานรองรับอยู่ กลับทำให้มันถูกมองว่าเป็นอาชีพที่เรียกกันว่า “กำลังรุ่ง” และผมก็รู้สึกว่าอาจยิ่งหนักขึ้นด้วยซ้ำ
ใช่ครับ ตอนที่การพัฒนาซอฟต์แวร์ยังเป็นอาชีพที่ไม่ค่อยได้รับความนิยม เป็นงานของคนส่วนน้อยที่คนอื่นไม่ค่อยสนใจและไม่ค่อยอยากทำ มันก็ยังถือว่าค่อนข้างดีอยู่ในแบบของมัน สิ่งนั้นอาจเป็นแรงจูงใจอย่างหนึ่ง และอาจช่วยสร้างอัตลักษณ์ทางอาชีพในฐานะกลุ่มวิชาชีพขนาดเล็กได้ด้วย ความรู้สึกแบบ ‘กลุ่มที่ฉันสังกัดนั้นพิเศษ’ ก็เป็นองค์ประกอบสำคัญที่ทำให้มนุษย์รู้สึกเป็นส่วนหนึ่งและมีความมั่นคงทางจิตใจ
แต่ถึงอย่างนั้น แม้ในช่วงที่ผมตัดสินใจจะเป็นโปรแกรมเมอร์ การพัฒนาซอฟต์แวร์ก็เป็นเรื่องที่ค่อนข้างแพร่หลายอยู่แล้ว แต่ตอนนี้ ยุคแบบนั้นมันผ่านไปแล้วจริงๆ ไม่ใช่หรือ? หากอิงตามเกาหลี จำนวนผู้จบสาขาซอฟต์แวร์ในแต่ละปีก็เพิ่มขึ้นอย่างมากจนเทียบกับเมื่อก่อนไม่ได้อีกต่อไป การพัฒนาซอฟต์แวร์ไม่ใช่เรื่องลึกลับอีกแล้ว นอกจากนี้ ผลจากกระแสรีเทรนคนต่างสายที่ต่อเนื่องมาหลายปีเพราะการจัดหาบุคลากรล้มเหลว ก็ทำให้ทั้งสังคมรู้กันแพร่หลายแล้วว่า หากมีรสนิยมและวิธีคิดที่เหมาะสม แม้คนที่ไม่ได้เรียนสายนี้มาก็สามารถเรียนด้วยตัวเองและก้าวจากมือสมัครเล่นมาเป็นมืออาชีพได้ไม่ยาก
คนที่บอกว่าการพัฒนาซอฟต์แวร์เป็นงานยาก เหตุผลที่พวกเขาทำงานนี้คืออะไรกันแน่? ทำเพราะเป็นงานที่เหนื่อยและหนัก แต่ให้ความคุ้มค่าทางใจอย่างนั้นหรือ? ผมรู้สึกว่าในวงการนี้คนแบบนั้นไม่ได้มีมากนัก ที่บอกว่ายากก็เพราะเหมือนคนอื่นทำไม่ได้เท่านั้นเอง แต่ความจริงไม่ใช่ว่านี่คือสิ่งที่ง่ายที่สุดสำหรับตัวเองจึงทำอยู่หรอกหรือ? อย่าหลงชื่นชมตัวเองเพียงเพราะคนอื่นยกยอ แล้วปิดตาตัวเองด้วยความคิดว่ามีแต่ฉันที่พิเศษ ควรมองไปรอบๆ บ้าง ในสายวิทย์และวิศวะ มีสาขาไหนอีกที่แค่นั่งอยู่ในห้อง ดูอินเทอร์เน็ตแล้วเรียนเอง ก็สามารถกลายเป็นผู้เชี่ยวชาญที่ถ้าทำได้ดีก็ส่งลงงานจริงได้ภายในไม่กี่เดือนได้บ้าง?
เพียงเพราะได้อานิสงส์จากตลาดชั่วคราวจากความไม่สอดคล้องกันระหว่างการเพิ่มขึ้นของอุปสงค์กับนโยบายพัฒนากำลังคน เพียงเพราะโชคดีที่มีวิธีคิดและโอกาสทางการศึกษาที่ต่างจากคนอื่นจนไม่รังเกียจงานนี้ ผมก็หวังว่าเราจะไม่ไปมอบความหมายอันยิ่งใหญ่ให้กับมันเกินไป
ในมุมมองของอุตสาหกรรมสมัยใหม่ ซอฟต์แวร์ยังอยู่ในสภาพที่ทั้งความเชี่ยวชาญเฉพาะทางระดับสูงและการผลิตจำนวนมากยังไม่เกิดขึ้นอย่างเหมาะสม มันยังอยู่ในขั้นที่ใกล้กับงานหัตถกรรมมากกว่างานอุตสาหกรรมการผลิต และเหมือนงานหัตถกรรมจำนวนมาก โปรแกรมเมอร์ซอฟต์แวร์เองก็ยังมีเส้นแบ่งระหว่างงานอดิเรกกับอาชีพที่เลือนราง
เราต้องยอมรับว่างานที่เราทำนั้น ในแง่ของอุตสาหกรรมแล้ว คล้ายกับการตีเหล็กในโรงตีเหล็ก การใช้เลื่อยทำงานไม้ และการใช้กระดาษทรายขัดกระจก นี่แตกต่างอย่างชัดเจนจากอุตสาหกรรมสมัยใหม่ที่ใส่ไม้เข้าไปแล้วโรงงานกระดาษผลิตกระดาษออกมา เทน้ำมันเข้าไปแล้วโรงงานปิโตรเคมีผลิตพลาสติกออกมา หรือใส่ซิลิคอนเข้าเครื่องจักรราคาแพงแล้วโรงงานผลิตเซมิคอนดักเตอร์ออกมา ไม่เหมือนอุตสาหกรรมการผลิตอื่นๆ การพัฒนาซอฟต์แวร์ยังต้องการคนที่มีฝีมือเชิงช่างอยู่
แน่นอนว่าคนที่มีฝีมือเชิงช่างอันยอดเยี่ยมซึ่งคนอื่นไม่มี ย่อมสมควรได้รับความเคารพ แต่เพียงเพราะขัดเกลาฝีมือเล็กๆ น้อยๆ ของตัวเองขึ้นมา ก็ไปหมกมุ่นกับความพิเศษของตนเอง เช่น ทำไมถึงใช้ฝีมือที่เรียนรู้มาตั้งแต่วัยหนุ่มสาวเลี้ยงชีพไปตลอดชีวิตไม่ได้ ทำไมทั้งที่ฉันมีฝีมือยอดเยี่ยมแบบนี้จึงไม่ควรต้องทำงานหนักเหมือนคนอื่น หรือฉันอาจมีพรสวรรค์อันยิ่งใหญ่ที่คนอื่นทำได้ไม่ง่ายหรือเปล่า—ความหลงใหลในตัวตนพิเศษเช่นนั้น ไม่ใกล้เคียงกับความหยิ่งผยองหรอกหรือ
ลองคิดให้ดีว่าทำไมคนอื่นถึงวิจารณ์กันขนาดนี้ แล้วต่อไปก็อย่าทั้งหลงตัวเองหรือเที่ยวพูดเรื่องไร้สาระแบบนี้อีก
ยังมีคนจำนวนมากที่ทำงานด้วยความหลงใหลในเทคโนโลยีคอมพิวติ้ง อย่านำความคิดและประสบการณ์ของตัวเองไปเหมารวม เพราะมันเป็นการดูหมิ่นคนเหล่านั้น
มีคำวิจารณ์ที่เหมาะสมอยู่ด้านล่างนะครับ การที่เทคโนโลยีคอมพิวติ้งเข้าถึงได้ง่ายก็เป็นเพราะวิศวกรซอฟต์แวร์มีส่วนช่วยอย่างมากเช่นกัน แต่การเข้าถึงได้ง่ายไม่ได้แปลว่าการเป็นมืออาชีพจะง่ายนะครับ ถ้าการทำอาหารเข้าถึงได้ง่าย แล้วการเป็นผู้เชี่ยวชาญด้านอาหารมันง่ายตามไปด้วยไหม?
•เรียนรู้ง่าย อันนี้ยอมรับ แต่การที่กำแพงการเข้าสู่วงการต่ำ ไม่ได้หมายความว่าความเป็นมืออาชีพต่ำ ผมคิดว่าเหตุผลที่เรียนรู้ง่ายกว่าอุตสาหกรรมอื่น โดยเฉพาะสายเทคนิคในภาคการผลิต ไม่ใช่เพราะการพัฒนาซอฟต์แวร์นั้นง่าย แต่เป็นเพราะวัฒนธรรมโอเพนซอร์สหรือความเสี่ยงที่ต่ำกว่า มากกว่านั้น อย่างที่พูดไปก่อนหน้า ในแง่ของความหลากหลายของนักพัฒนา มีทั้งงานที่เรียนรู้เร็วแล้วทำได้ และงานที่ต้องอาศัยความเชี่ยวชาญเป็นฐาน
•แค่ไปเรียนวาดรูปมาหน่อยแล้วได้เข้าไปเป็นผู้ช่วยนักเขียนการ์ตูน คุณจะเดินไปบอกคนอื่นว่าตัวเองเป็นมืออาชีพไหม? หรือแค่ไปเรียนโรงเรียนสอนทำอาหารมาหน่อยแล้วได้งานในครัว ก็จะเรียกตัวเองว่าผู้เชี่ยวชาญด้านอาหารหรือเชฟเลยหรือเปล่า? ก็ประมาณนั้นแหละครับ ระดับเดียวกับที่คุณพูด ถ้ามันง่ายขนาดนั้น ก็คงไม่เรียกว่าโปรหรอก
•การนำไปเปรียบเทียบกับอุตสาหกรรมการผลิตโดยตรงมีความหมายมากแค่ไหน? หากมองจากมุมที่ว่าอุตสาหกรรมนี้ยังไม่ได้พัฒนาไปสู่ความซับซ้อนอย่างเพียงพอ สิ่งที่ถูกนำมาเทียบก็ดูจะเป็นภาคการผลิต แต่ถ้าพยายามทำความเข้าใจงานซอฟต์แวร์ด้วยกรอบคิดแบบอุตสาหกรรมการผลิต มันอาจดูเหมือนงานหัตถกรรมหรือการพัฒนาแบบงานอดิเรก ทว่าในอีกด้านหนึ่ง ผมคิดว่าสิ่งเหล่านี้เองที่สร้างวัฒนธรรมอันยืดหยุ่นและสร้างสรรค์เฉพาะของการพัฒนาซอฟต์แวร์ และเป็นฐานให้มันเติบโตขึ้น
•เป็นความจริงที่เมื่อเทียบกับอดีต สิ่งที่คาดหวังจากวิศวกรหนึ่งคนกว้างขึ้นและมากขึ้น และเมื่อเทียบกับอดีต โลกแห่งความเป็นจริงจำนวนมากกว่ามากได้เข้าไปอยู่ในระบบคอมพิวเตอร์แล้ว ด้วยเหตุนี้ ความยากของทั้งการทำ abstraction และการลงมือ implement ก็เพิ่มสูงขึ้นอย่างรวดเร็วเช่นกัน ผมไม่แน่ใจว่าจำเป็นไหมที่จะต้องยกงานที่ยากกว่าในโลกจริงมาเรียงให้ดู แล้วอ้างว่างานนี้ไม่ใช่งานที่เหนื่อย...
•สภาพแวดล้อมได้เปลี่ยนไปแล้ว ผมไม่คิดว่าเหตุผลที่ตลาดคาดหวังและให้ผลตอบแทนกับนักพัฒนามากกว่าในอดีต จะเป็นเพียงเพราะทักษะ ความชำนาญ หรือความเป็นมืออาชีพของพวกเขาเท่านั้น ยิ่ง IT เข้าไปฝังลึกในชีวิตมนุษย์มากขึ้น ซอฟต์แวร์ก็ยิ่งมีความสำคัญ และกำลังค้ำจุนโครงสร้างพื้นฐานจำนวนมากอยู่ ไม่ใช่ว่าความสามารถของนักพัฒนาแต่ละคนเพิ่มขึ้นจนทำให้ค่าตอบแทนสูงขึ้น แต่ผมคิดว่าเป็นเพราะตัวงานเองมีราคาสูงขึ้น ก็เพราะมันสำคัญกว่าเมื่อก่อนนั่นเอง
•ดูเหมือนว่าคุณกำลังเข้าใจผิดว่าการพัฒนา SW คือแค่การสร้างโค้ดหรือสร้าง API เท่านั้น แต่แก่นแท้ของการพัฒนา SW คือการนามธรรมความเป็นจริงขึ้นมา สร้างโปรโตคอลและอินเทอร์เฟซ แล้วทำให้ทุกอย่างเข้ากันได้ มันคือการเชื่อมสิ่งที่ทำงานกันคนละแบบให้ทำงานราวกับเป็นสิ่งเดียวกัน นี่เป็นกิจกรรมทางปัญญาที่ซับซ้อนกว่าที่คิดมาก และนั่นจึงเป็นเหตุผลว่าทำไมการบ่มเพาะวิศวกร SW ถึงยากกว่าที่คิด ตอนนี้เขาบอกว่ามีคนเยอะก็จริง แต่ในนั้นมีสักกี่คนที่ทำงานได้อย่างเหมาะสม? ส่วนใหญ่ก็แค่เคยลองใช้เครื่องมือมาบ้างครั้งหนึ่ง ซึ่งนั่นไม่ใช่หัวใจสำคัญของวิศวกร SW
คุณวิจารณ์โดยไม่สอดคล้องกับสถานการณ์นะครับ/คะ ผู้เขียนต้นฉบับก็ไม่ได้ดูหมิ่นใครเลย แต่คนที่กลับลดทอนและดูแคลนคุณค่าของสายอาชีพวิศวกรซอฟต์แวร์กลับเป็นคุณไม่ใช่หรือ?
ถ้าไปเรียนจนได้ปริญญาเอกในสาขาอย่างหุ่นยนต์หรือ OS อย่างน้อยแค่เรียนจบหลักสูตรก็น่าจะพอถูกเรียกว่าเป็นผู้เชี่ยวชาญระดับโปรในด้านนั้นได้แล้วนะครับ หมายความว่าอย่างน้อยเกณฑ์ของคำว่าโปรก็ควรต้องถึงระดับนั้น
แค่ไปเรียนวาดรูปมาหน่อยแล้วได้เข้าไปเป็นผู้ช่วยนักเขียนการ์ตูน จะเดินไปบอกคนอื่นว่าตัวเองเป็นมืออาชีพเหรอครับ? หรือไปเรียนทำอาหารมานิดหน่อยแล้วได้งานในครัว ก็จะเรียกตัวเองว่าผู้เชี่ยวชาญด้านอาหาร เป็นเชฟเหรอ? คำพูดของคุณก็ประมาณนั้นแหละ ถ้ามันง่ายขนาดนั้น เขาคงไม่เรียกสิ่งนั้นว่ามืออาชีพหรอก
การทำอาหารหรือวาดรูปก็เป็นงานที่ใคร ๆ ก็ทำได้ คุณกำลังพูดคล้ายกับการบอกว่าเรียนไม่กี่เดือนก็เป็นมืออาชีพได้เลย การที่วิศวกรซอฟต์แวร์ได้รับการยอมรับก็เพราะอิทธิพลของซอฟต์แวร์เติบโตขึ้นมาก ไม่ใช่ว่างานนั้นเหนื่อยหรือไม่เหนื่อยต่างหากที่สำคัญ ถ้าไม่ชอบก็ไปทำงานอื่นสิครับ ไม่ว่าคุณจะไปสาขาไหน ถ้ายังพูดแบบนั้นไปทั่วก็ไม่ได้ยินคำพูดดี ๆ หรอก คนในสายงานนั้นเขาจะรู้สึกไม่ดี การหลงตัวเองว่าทำงานยิ่งใหญ่ก็ไม่ดี แต่การลดทอนคุณค่าของมันก็ไม่ใช่พฤติกรรมที่ถูกต้องเช่นกัน
ผมจะไม่ปฏิเสธคำพูดที่ว่าใคร ๆ ก็ท้าทายและลองทำได้ แต่คำพูดที่ว่าทุกคนจะกลายเป็นมืออาชีพได้อย่างง่ายดายนั้นเป็นเรื่องโกหก หวังว่าคุณคงไม่ได้ไปพูดแบบนั้นกับใครในชีวิตจริง เพราะนั่นคือการหลอกลวง
มีสาขาไหนในสายวิทย์วิศวะบ้างที่แค่นั่งอยู่บ้าน ดูอินเทอร์เน็ตแล้วเรียนเองนิดหน่อย แล้วถ้าทำได้ดีก็กลายเป็นผู้เชี่ยวชาญที่พร้อมลงงานจริงได้ในไม่กี่เดือน? <- ไม่ว่าสาขาไหน ผู้สมัครงานระดับเริ่มต้นแบบนี้ก็ไม่มีใครเรียกว่าเป็นผู้เชี่ยวชาญหรอก มีคนวิจารณ์ประเด็นนี้ไปก่อนแล้วด้วยซ้ำ ถ้าคุณคิดแบบนี้จริง ๆ ก็แปลว่าระดับความคิดของคุณต่ำและไม่มีความเป็นมืออาชีพเลย
หลุดพ้นจากความเป็นมือสมัครเล่นแล้วกลายเป็นมืออาชีพได้ง่ายงั้นเหรอ? ถ้าเป็นเรื่องจริง เราก็คงไม่เรียกสิ่งนั้นว่ามืออาชีพอีกต่อไป
ดูเหมือนว่าคุณจะเข้าใจผิดว่าการพัฒนา SW เป็นเพียงการสร้างโค้ดหรือสร้าง API แต่แก่นแท้ของการพัฒนา SW คือการนามธรรมความเป็นจริงออกมา สร้างโปรโตคอลและอินเทอร์เฟซ แล้วทำให้สิ่งต่าง ๆ เข้ากันได้ มันคือการเชื่อมสิ่งที่ทำงานกันคนละแบบให้ทำงานราวกับเป็นสิ่งเดียวกัน นี่เป็นกิจกรรมทางปัญญาที่ซับซ้อนกว่าที่คิด และนั่นจึงเป็นเหตุผลว่าทำไมการบ่มเพาะวิศวกร SW ถึงยากกว่าที่คิด ตอนนี้บอกว่ามีคนเยอะก็จริง แต่ในนั้นมีคนที่ทำงานได้อย่างเหมาะสมจริง ๆ สักกี่คน? ส่วนใหญ่ก็แค่เคยลองใช้เครื่องมือมาบ้าง แต่สิ่งนั้นไม่ใช่หัวใจสำคัญของวิศวกร SW แต่อย่างใด
เหมือนกับคอมเมนต์อื่น ๆ ถ้าคนที่ทำงานอยู่ที่ Samsung, Naver ฯลฯ แล้วย้ายไป AMD, Google ฯลฯ ภายหลังกลับมาที่เกาหลีพร้อมประสบการณ์ ก็น่าจะกลายเป็นทรัพยากรที่มีค่ามาก แต่ในบรรยากาศแบบนี้ไม่ใช่แค่จะไม่กลับมาเท่านั้น คงยิ่งออกไปต่อเรื่อย ๆ ปัญหาไม่ได้มีแค่เรื่องเงินอย่างเดียว แต่ทั้งสภาพแวดล้อมและมุมมองต่ออาชีพนี้ก็ย่ำแย่มากด้วย
โดยรวมแล้วอยากจะพูดอะไรกันแน่? ที่เกาหลีสภาพการปฏิบัติต่อวิศวกรก็ไม่ได้ดีขนาดนั้นไม่ใช่เหรอ? ถ้าคุณรู้สึกว่าตัวเองได้เงินมากกว่าที่ทำงานไว้มาก ก็ไปบริจาคที่ไหนสักแห่งก็คงได้นะ แล้วที่เกาหลีเป็นสภาพแวดล้อมที่มีปัญหาเพราะวิศวกรหยิ่งยโสอย่างนั้นหรือ? ทั้งที่ปัญหาคือสภาพแวดล้อมแย่กว่าต่างประเทศจนคนเก่ง ๆ ย้ายงานแล้วไม่กลับมาเสียมากกว่า (แม้ก็อาจจะมีคนหยิ่งอยู่บ้างก็ตาม)
พอเห็นว่าคุณเหมารวมเอาเองว่าคนอื่นก็คงเหมือนคุณ ก็ค่อนข้างชัดเลยว่าคุณหยิ่งผยองนะครับ มีคนจำนวนมากที่ทำงานนี้เพราะชอบท้าทายกับปัญหาที่ยาก อย่าคิดว่าประสบการณ์ของตัวเองคือทั้งหมดของโลก
มีสาขาไหนในสายวิทย์-วิศวะบ้างที่แค่นั่งอยู่ในห้อง เปิดดูอินเทอร์เน็ตแล้วเรียนเอง แล้วถ้าทำได้ดีก็กลายเป็นผู้เชี่ยวชาญที่พร้อมลงงานจริงได้ในไม่กี่เดือน? <- ไม่ว่าในสาขาไหน ผู้สมัครงานระดับเริ่มต้นแบบนี้ก็ไม่มีใครเรียกว่าเป็นผู้เชี่ยวชาญหรอกครับ
ดูจากคอมเมนต์นี้ เหมือนเกณฑ์ที่คุณใช้ตัดสินว่าตัวเองเป็นผู้เชี่ยวชาญจะต่ำมากนะครับ ปกติแล้วกรณีแบบนั้นเขาไม่เรียกว่าผู้เชี่ยวชาญกัน ไปพูดแบบนั้นที่อื่นอย่าดีกว่า
ตลกดีนะครับ/ค่ะ ดูเหมือนว่าคนที่หยิ่งจริงๆ จะเป็นคุณหรือเปล่า คนคนนั้นก็แค่ระบายถึงความลำบากของตัวเองเท่านั้นเอง เขาไม่ได้ดูถูกใครเลย แล้วแค่เพราะเขารู้สึกไม่เหมือนคุณ มันกลายเป็นเหตุผลที่ต้องถูกตำหนิด้วยเหรอ? กลับกัน ดูเหมือนว่าคุณต่างหากที่อยากเหยียดคนที่รู้สึกภาคภูมิใจในอาชีพวิศวกรซอฟต์แวร์ของตัวเองนะ ดูเหมือนว่าคุณจะไม่มีความภูมิใจหรือความพึงพอใจกับงานของตัวเอง ก็ไปจัดการความรู้สึกนั้นเองเถอะ อย่ามาพูดจาไร้สาระเลย
ขอแนบคอมเมนต์ของท่านอื่นที่ดูเป็นคำวิจารณ์ที่เหมาะสมกว่ามาด้วย
"เมื่อเทียบกับอดีต เป็นความจริงที่สิ่งที่คาดหวังจากวิศวกรหนึ่งคนกว้างขึ้นและมากขึ้น และเมื่อเทียบกับอดีต โลกความเป็นจริงจำนวนมากขึ้นมากได้เข้ามาอยู่ในระบบคอมพิวเตอร์ ดังนั้นระดับของนามธรรมและความยากในการลงมือทำให้เป็นรูปธรรมก็เพิ่มสูงขึ้นอย่างรวดเร็วเช่นกัน แต่การยกตัวอย่างงานในโลกความเป็นจริงที่ยากกว่านี้ขึ้นมาเป็นรายการ แล้วบอกว่างานนี้ไม่ใช่งานที่เหนื่อย... ผม/ฉันไม่แน่ใจว่าจำเป็นต้องอ้างแบบนั้นไหม"
คนนั้นอาจรู้สึกว่านั่นเป็นเรื่องยากสำหรับเขาก็ได้ เพราะความลำบากเป็นเรื่องส่วนบุคคล
ผมไม่เข้าใจว่าทำไมเขาถึงโดนด่าขนาดนั้นนะ ถ้าเขาดูถูกอาชีพอื่นก็อาจถูกวิจารณ์ได้ แต่นี่ก็ไม่ใช่แบบนั้น จริง ๆ แล้วคุณต่างหากที่กำลังตำหนิคนเขียนอย่างรุนแรงเกินไป ทั้งที่ไม่ใช่เรื่องที่จะต้องถูกตำหนิด้วยซ้ำ คนที่หยิ่งผยองจริง ๆ คือคุณ ต่อไปก็ขอให้ระวังปากหน่อยแล้วกัน พูดตรง ๆ คือให้ความรู้สึกว่าคุณอยากเอาการที่ตัวเองไม่มีความเป็นมืออาชีพและไม่มีความภาคภูมิใจในงานมาห่อให้ดูดี แม้จะเป็นงานที่ใคร ๆ ก็ท้าทายลองทำได้จริง แต่นั่นไม่ได้หมายความว่าไม่ควรมีจิตสำนึกความเป็นมืออาชีพหรือความภาคภูมิใจในงาน ผมจะไม่พูดมากไปกว่านี้แล้ว
"ฉันเริ่มต้นจากการที่การเขียนโปรแกรมเป็นเรื่องง่าย ฉันแก้ปัญหาที่อยู่ตรงหน้าตลอดทั้งวัน แล้วก็เลิกงานราวห้าโมงครึ่ง กลับบ้านไปพบปะสังสรรค์กับเพื่อน ๆ แต่แม้เวลาจะผ่านไป 20 ปี จนถึงตอนนี้ฉันก็ยังทำงานอยู่ในสายซอฟต์แวร์ เพราะงานนี้เป็นงานที่ยาก
เหตุผลที่งานซึ่งเคยง่ายกลับกลายเป็นเรื่องยากในตอนนี้ ก็เพราะบทบาทได้เปลี่ยนจากการแก้ปัญหาไปเป็นการทำให้ผลิตภัณฑ์เติบโต จากการมุ่งหาความถูกต้องที่ถูกกำหนดไว้แล้ว ไปเป็นการปรับให้เหมาะที่สุดว่าอะไรคือสิ่งที่ถูกต้องเพื่อสร้างการเปลี่ยนแปลง" - เจสสิกา เคอร์ (Jessica Kerr),
ช่วงต้นของบทความชื่อ "จากปริศนาสู่ผลิตภัณฑ์" ที่เจสสิกา เคอร์เขียนไว้ ในบรรดาบทความหลายชิ้นของ <97 ข้อเสนอแนะสำหรับนักพัฒนา Java>
คนที่บอกว่าการพัฒนาซอฟต์แวร์เป็นงานที่ยาก เขาทำงานนี้ไปเพื่ออะไรกันล่ะ? ทำเพราะเป็นงานที่หนักและเหนื่อยแต่ก็ให้ความภูมิใจอย่างนั้นหรือ? ดูเหมือนว่าในอุตสาหกรรมนี้จะมีคนแบบนั้นไม่มากนัก <- ประโยคนี้ก็ตลกดีนะครับ หลายคนก็ทำเพราะรู้สึกสนุกกับการแก้ปัญหาที่ซับซ้อนเหมือนกัน สุดท้ายคุณเองต่างหากที่กำลังเหมารวมอย่างมากจากประสบการณ์ของตัวเอง
ข้างล่างมีข้อความดี ๆ อยู่ เลยขอนำมาฝากไว้ที่นี่ด้วย
การเปรียบเทียบกับภาคการผลิตโดยตรงมีนัยสำคัญจริงหรือไม่? จากมุมมองที่ว่าอุตสาหกรรมยังพัฒนาไปสู่ความซับซ้อนไม่เพียงพอ คู่เปรียบเทียบนั้นจึงดูเหมือนจะเป็นภาคการผลิต แต่หากพยายามทำความเข้าใจงานซอฟต์แวร์ด้วยกรอบคิดแบบภาคการผลิต มันอาจดูเหมือนงานช่างฝีมือหรือการพัฒนาแบบงานอดิเรกได้ ทว่าในอีกด้านหนึ่ง ผมคิดว่าส่วนนี้เองที่สร้างวัฒนธรรมที่ยืดหยุ่นและสร้างสรรค์เฉพาะตัวของการพัฒนาซอฟต์แวร์ และกำลังเติบโตต่อไปโดยอาศัยสิ่งนี้เป็นฐาน
ขอเสริมอีกอย่างว่า งานด้านซอฟต์แวร์ก็มีขอบเขตกว้าง มีงานที่เรียนรู้เร็วแล้วทำได้ และมีงานที่ต้องอาศัยความเชี่ยวชาญเป็นพื้นฐาน อย่าคิดว่าประสบการณ์ของตัวเองคือทั้งหมด เพราะนั่นก็เป็นความหยิ่งเช่นกัน
อย่างที่บอกไปก่อนหน้านี้ การที่วิศวกรซอฟต์แวร์ได้รับการปฏิบัติแตกต่างออกไป ไม่ใช่เพราะงานนั้นเหนื่อยและยากลำบาก นั่นเป็นความรู้สึกเชิงอัตวิสัย และสิ่งแบบนั้นไม่ได้เป็นตัวตัดสินการยอมรับของอาชีพนี้ อย่างที่คอมเมนต์อื่นบอก ซอฟต์แวร์มีความสำคัญมากขึ้นและกำลังค้ำจุนโครงสร้างพื้นฐานจำนวนมาก ไม่ใช่ว่าความสามารถของนักพัฒนาแต่ละคนเพิ่มขึ้นจนได้รับค่าตอบแทนมากขึ้น แต่ผมคิดว่าเป็นเพียงตัวงานเองที่มีราคาสูงขึ้น เพราะมันสำคัญกว่าสมัยก่อน ดังนั้นเรื่องที่งานนั้นเหนื่อยหรือไม่ จึงไม่ใช่ประเด็นสำคัญมากนัก
งานที่คุณคิดว่าง่าย อาจเป็นงานที่ยากสำหรับใครบางคน และงานที่คนอื่นคิดว่าง่าย ก็อาจเป็นเรื่องยากสำหรับคุณ สิ่งที่คุณพูดทั้งหมดเป็นเรื่องเชิงอัตวิสัย ผมขอย้ำอีกครั้งว่าความรู้สึกว่าเหนื่อยและยากเป็นเรื่องเชิงอัตวิสัย และสิ่งแบบนั้นไม่ได้เป็นตัวตัดสินการยอมรับของอาชีพนี้ คุณบอกว่าอย่าหยิ่งผยอง แต่ดูเหมือนคนที่กำลังพูดด้วยมุมมองเชิงอัตวิสัยอย่างหยิ่งผยองจะเป็นคุณมากกว่า
แค่เพราะโชคดีที่ได้มีวิธีคิดและโอกาสทางการศึกษาที่ไม่รังเกียจงานนี้ต่างจากคนอื่น ก็อย่าไปให้ความหมายกับมันมากนักเลย<-มีอาชีพไหนบ้างในโลกที่ไม่เป็นแบบนั้น? นี่คือการกดคนอื่นลงด้วยการแสร้งถ่อมตัวเกินเหตุ
เรียนทำอาหารในโรงเรียนสอนทำอาหารไม่กี่เดือนแล้วไปสมัครงานเป็นเชฟ เราจะเรียกคนนั้นว่าเป็นผู้เชี่ยวชาญเลยไหม? ก็คงต้องประเมินกันหลังจากสั่งสมประสบการณ์ก่อนว่าเป็นผู้เชี่ยวชาญจริงหรือไม่
แค่ทำเป็นกับสามารถหางานแล้วรับเงินจากการทำงานนั้นได้ เป็นคนละเรื่องกันโดยสิ้นเชิง คนที่ไม่มีความรู้ในสาขานั้นเลยจะไปอบรมระยะสั้นแล้วหางานที่เหมาะสมได้จริงไม่ใช่เรื่องง่าย (คำว่าไม่มีความรู้นี่ไม่ได้หมายถึงคนที่จบสายวิทย์หรือวิศวะที่เกี่ยวข้องอย่างคณิตศาสตร์/วิศวกรรมอุตสาหการ/วิศวกรรมอิเล็กทรอนิกส์ แต่ไม่มีความรู้ด้านซอฟต์แวร์นะครับ/ค่ะ หมายถึงคนที่ไม่มีพื้นฐานด้านวิศวกรรมเลยต่างหาก) การทำอาหารหรือวาดรูปก็เรียนไม่กี่เดือนแบบคอร์สสั้นๆ แล้วพอทำได้เหมือนกัน แต่จะหางานที่ดีจริงๆ จากสิ่งนั้นได้ง่ายไหม?
มีสาขาไหนในสายวิทย์หรือวิศวะบ้างที่แค่นั่งอยู่ในห้อง เปิดอินเทอร์เน็ตดูแล้วเรียนเอง ก็สามารถกลายเป็นผู้เชี่ยวชาญที่พร้อมลงงานจริงได้ภายในไม่กี่เดือนถ้าทำได้ดี? <- ไม่ว่าสาขาไหน คนหางานระดับเริ่มต้นแบบนี้ก็ไม่มีใครเรียกว่าเป็นผู้เชี่ยวชาญหรอกครับ ในบทความมีคำพูดเหลวไหลมากเกินไป จนมีหลายจุดที่ต้องทักท้วงเลยครับ
และแน่นอนว่าคนที่มีฝีมืออันยอดเยี่ยมซึ่งคนอื่นไม่มี สมควรได้รับความเคารพ แต่เพียงเพราะขัดเกลาทักษะฝีมือขึ้นมาได้บ้าง ก็ไปหลงใหลในความพิเศษของตัวเองจนคิดว่า ถ้ามีชีวิตอยู่ได้ทั้งชีวิตด้วยฝีมือที่ฝึกไว้ตั้งแต่หนุ่มสาวก็คงดี แล้วทำไมถึงทำแบบนั้นไม่ได้ล่ะ เรามีฝีมือยอดเยี่ยมขนาดนี้ ไม่ควรต้องทำงานหนักเหมือนคนอื่นไม่ใช่หรือ เราอาจมีพรสวรรค์อันยิ่งใหญ่ที่คนอื่นทำได้ไม่ง่ายใช่ไหม อะไรทำนองนี้ มันก็ออกจะใกล้เคียงกับความหยิ่งผยองอยู่เหมือนกันนะครับ <- โดยหลักการแล้วก็เป็นคำพูดที่ถูกต้อง แต่ดูเหมือนจะมีคนจำนวนมากที่ชอบใช้มาตรฐานแบบนี้กับวิศวกรและนักวิทยาศาสตร์เป็นพิเศษ ดูเหมือนเป็นการกดคนอื่นลงโดยอ้างความถ่อมตัวเกินจริงมากกว่า
ที่นี่ค่อนข้างไม่เคร่งเรื่องคุณวุฒิหรือสเปกต่าง ๆ ไม่ใช่เพราะมันง่าย แต่เป็นเพราะอิทธิพลของวัฒนธรรมโอเพนซอร์ซมีมากกว่า เพราะโดยกำเนิดแล้วนี่คือวงการที่ไม่ชอบอำนาจนิยมอยู่แล้ว
เพราะนั่นเป็นความรู้สึกเชิงอัตวิสัย และไม่เคยเป็นสิ่งที่กำหนดว่าคนในอาชีพนั้นจะได้รับการปฏิบัติอย่างไร ถ้าใช้สิ่งนั้นเป็นเกณฑ์ คนใช้แรงงานน่าจะได้รับการยกย่องมากที่สุดแล้ว
ก็ไม่แน่เสมอไปนะ การหมกมุ่นมากเกินไปไม่ดี แต่ผู้เขียนเองกลับกำลังกดคุณค่าของวิศวกรรมซอฟต์แวร์อยู่ ตอบแทนของวิศวกรซอฟต์แวร์ที่เปลี่ยนไปไม่ได้เป็นเพราะงานนั้นเหนื่อยและยาก นั่นเป็นความรู้สึกเชิงอัตวิสัย และสิ่งแบบนั้นไม่ได้เป็นตัวตัดสินการยอมรับของอาชีพนี้ อย่างที่คอมเมนต์อื่นบอก ซอฟต์แวร์มีความสำคัญมากขึ้นและกำลังค้ำจุนโครงสร้างพื้นฐานจำนวนมาก ไม่ใช่ว่าความสามารถของนักพัฒนาแต่ละคนเพิ่มขึ้นจนทำให้ค่าตอบแทนสูงขึ้น แต่ผมคิดว่าเป็นเพราะตัวงานเองมีต้นทุนสูงขึ้นเฉยๆ เพราะมันสำคัญกว่าสมัยก่อนแล้ว ตรงนี้ประเด็นว่างานนั้นยากหรือไม่ยากจึงไม่ใช่เรื่องสำคัญมากนัก
และแค่พอทำได้กับการทำงานให้สำเร็จได้ในระดับหนึ่งนั้นต่างกันราวฟ้ากับเหว เว้นแต่จะเป็นกรณีพิเศษ มือใหม่เอี่ยมที่แทบไม่มีพื้นฐานจะหางานที่ดีจริง ๆ ได้ง่ายไหมจากการอบรมระยะสั้นไม่กี่เดือน
ก็ไม่ได้เป็นบทความที่ดูถูกอาชีพอื่นเป็นพิเศษอยู่แล้ว แต่บทความแบบนี้กลับน่าขำยิ่งกว่าอีกนะ
เห็นด้วยครับ/ค่ะ ได้ยินมาว่าในงานสถาปัตยกรรม แม้จะเป็นโปรเจ็กต์ที่กินเวลา 2~3 ปี ก็ยังสามารถประเมินกำหนดการได้ในระดับราวหนึ่งสัปดาห์ จากมุมนั้นแล้ว ซอฟต์แวร์ก็ยังต้องไปอีกไกลครับ/ค่ะ
ไม่เคยคิดเลยว่าจะคล้ายงานหัตถกรรมขนาดนี้ แต่รู้สึกเห็นด้วยมากครับ
พอมองจากมุมนี้ก็รู้สึกว่าหลาย ๆ ปรากฏการณ์อธิบายได้เลยครับ
ไม่เคยคิดมาก่อนว่ามันจะเหมือนงานหัตถกรรม แต่ก็เห็นด้วยครับ
ไม่ใช่พูดถึงเนื้อหาหลักนะ แต่พอลองดูของคนที่เขียนคอมเมนต์ไว้ข้างล่างนั้น เหมือนว่าเนื้อหามันปนกันอยู่ครับ
คนที่พูดว่างานวิศวกรซอฟต์แวร์เป็นอาชีพที่หนัก ถ้าได้ลองไปรับมือลูกค้าในแผนก CS แค่ครึ่งวัน ก็คงเปลี่ยนความคิดไปมาก
ดูเหมือนจะมีภาพลวงตาแบบหนึ่งว่าที่ผ่านมาในอดีตมันซับซ้อนน้อยกว่า แต่เอาเข้าจริงการเขียนโปรแกรมก็ถูกจำกัดด้วยความสามารถของสมองมนุษย์อยู่แล้ว ดังนั้นไม่ว่าจะเมื่อก่อนหรือตอนนี้ ความหนักหน่วงก็ไม่ได้ต่างกันมากนัก แค่ทุกวันนี้เราใช้เครื่องมือที่มีการทำ abstraction มากขึ้นเพื่อจัดการกับขอบเขตที่กว้างขึ้นเท่านั้น
คอมพิวเตอร์ยังนับว่าเป็นสิ่งที่ควบคุมได้ง่ายกว่าอย่างอื่นอยู่พอสมควร และจริง ๆ แล้วงานใช้ความรู้แบบนี้เอง เมื่อเทียบกับอาชีพอื่น ๆ โดยเฉลี่ยก็น่าจะเหนื่อยน้อยกว่าเสียด้วยซ้ำ ถ้าจะมีอะไรที่เหนื่อยเป็นพิเศษ ก็คงเป็นการที่ด้วยลักษณะของสังคมสมัยใหม่ เราถูกคาดหวังให้รักษาความน่าเชื่อถือไว้ตลอด 365/24 นั่นเอง
เห็นด้วยครับ เนื้อหาหลักเหมือนเป็นบทความที่เขียนโดยคนที่งานพัฒนาไม่ตรงกับความถนัดของตัวเอง
ถ้าจะพยายามทำสิ่งที่ตอนนี้ทำได้คนเดียวในอดีต คงยากมากๆ
แต่ตอนนี้ด้วยเครื่องมือที่ถูกทำให้เป็นนามธรรมมากขึ้น เราเลยจัดการขอบเขตงานที่กว้างขึ้นได้ด้วยความพยายามเท่าเดิม เลยทำให้สามารถรันบริการคนเดียวได้แล้ว พูดตรงๆ คือโคตรสบายครับ.
มีปัญหาที่เกิดขึ้นจากการที่ขอบเขตงานที่คนคนหนึ่งต้องรับผิดชอบกว้างขึ้นจากเมื่อก่อน
•เป็นความจริงที่เมื่อเทียบกับอดีต สิ่งที่คาดหวังจากวิศวกรหนึ่งคนนั้นกว้างและมากขึ้น และเมื่อเทียบกับอดีต โลกความเป็นจริงจำนวนมหาศาลก็เข้าไปอยู่ในระบบคอมพิวเตอร์มากขึ้นมากเช่นกัน ดังนั้นความยากของทั้งการทำ abstraction และการลงมือ implement ก็เพิ่มสูงขึ้นอย่างรวดเร็ว ผมไม่แน่ใจว่าจำเป็นด้วยหรือไม่ที่จะต้องอ้างว่า แค่เพราะยกตัวอย่างงานในโลกจริงที่ยากกว่า งานนี้เลยไม่ใช่งานที่หนัก...
ผมเห็นด้วยกับความเห็นนี้ มีงานอีกมากที่ยากกว่านี้มาก แต่กลับไม่ได้รับผลตอบแทนเท่ากับวิศวกรซอฟต์แวร์
ก็ไม่แน่หรอกนะ งานหนักมีเยอะอยู่แล้ว แต่แล้วมันสำคัญอะไรล่ะ? ตั้งแต่เมื่อไหร่ที่เราตัดสินค่าตอบแทนของแรงงานจากว่างานหนักหรือไม่หนัก? นั่นเป็นเรื่องอัตวิสัยนะ การที่วิศวกรซอฟต์แวร์ได้รับการยอมรับก็เพราะคุณค่าของซอฟต์แวร์เพิ่มสูงขึ้นมากขนาดนั้นต่างหาก เรื่องว่างานนั้นหนักหรือไม่หนักจึงไม่ใช่เกณฑ์ตัดสินที่สำคัญมากนักในประเด็นนี้
มีอะไรบ้าง?
ช่างมันเถอะ...
มีองค์ประกอบของวงจรหลายชนิดที่ทำหน้าที่เหมือนกันได้อยู่แล้ว (แค่คาปาซิเตอร์อย่างเดียวก็มีหลายประเภท และแม้แต่การเปิด/ปิดแบบง่ายๆ ก็ยังมีทั้งทรานซิสเตอร์, ไตรแอก ฯลฯ) แถมยังมีผลิตภัณฑ์ออกมาจากหลายสิบบริษัทเป็นหลักร้อยหลักพันรายการ ต้องคัดเลือกโดยเทียบทั้งราคาและคุณสมบัติ ระหว่างนั้นก็ยังต้องดู errata ตามรีวิชันของชิ้นส่วนในวงจรด้วย งานซอฟต์แวร์ถ้าปล่อยรีลีสแล้วค่อย rollback ก็จบ แต่ตัวผลิตภัณฑ์ถ้าผลิตออกไปครั้งหนึ่งแล้วเอาคืนไม่ได้ จึงต้องระมัดระวังมาก และการทดสอบก็ใช้เวลานานทั้งทำ PCB, ประกอบ, แก้ไข แล้วก็วนไปอีก ชิ้นส่วนตัวหนึ่งยังไปส่งผลกับอีกชิ้นที่อยู่ไกลออกไปได้ด้วย และแม้แต่ตอนดีบักก็ไม่เหมือนซอฟต์แวร์ที่ส่วนใหญ่แค่ตั้ง breakpoint ก็มักจะแก้ได้ แต่นี่ต้องคอยดึงพอร์ต JTAG ที่มีไม่พอออกมา ต้องบัดกรีจัมเปอร์กันวุ่น ในห้องแล็บไม่เจอปัญหาแต่จะเพี้ยนเฉพาะตอนรูปคลื่นไฟฟ้าขาเข้าบิดเบี้ยว แถมการขอการรับรอง EMC ก็ทรหดอีก
ไม่ใช่งานที่ผมทำเองนะครับ แค่เห็นคนข้างๆ ทำแล้วเป็นแบบนี้
นั่นเป็นคนละตัวอย่างกันเลยไม่ใช่เหรอ? บอกว่าแค่ rollback ก็จบเหรอ? ประสบการณ์ของคุณไม่ใช่ทั้งหมดนะครับ/คะ ไม่เคยทำงานขนาดใหญ่บ้างเหรอ
ก็แค่ลักษณะของงานที่ทำนั้นต่างกัน แล้วทำไมถึงต้องเอามาเปรียบเทียบกันแบบนั้นด้วย?
ฉันก็เห็นด้วยเหมือนกัน เหตุผลที่เรามักได้ยินถึงความยากลำบากของวิศวกรซอฟต์แวร์บนอินเทอร์เน็ตได้ง่าย ๆ ก็อาจเป็นเพราะพวกเขาเป็นคนที่สร้างอินเทอร์เน็ตขึ้นมานั่นเอง
พูดอะไรกันแบบไม่มีเหตุผลเลยนะครับ วิศวกรซอฟต์แวร์ทำงานกันอยู่แค่อุตสาหกรรมอินเทอร์เน็ตทั้งหมดหรือไง? ยังมีทั้งอุตสาหกรรมเซมิคอนดักเตอร์ รวมถึงสายการขับขี่อัตโนมัติและโรโบติกส์ด้วย แล้วมีแค่คนที่ทำงานในอุตสาหกรรมอินเทอร์เน็ตเท่านั้นหรือที่ใช้อินเทอร์เน็ตได้?
การใช้ชีวิตเป็นวิศวกรซอฟต์แวร์นี่มันบ้าชัดๆ
คิดว่าการเป็นวิศวกรซอฟต์แวร์มันง่ายเหรอ? 555 เป็นงานที่ต้องมีไอคิวระดับท็อปสุดถึงจะทำได้ คนมาเรียนที่สถาบัน 30 คน แต่คนที่รอดเหลือแค่ 1–2 คน แบบนี้ยังจะบอกว่าเป็นได้ง่ายอีกเหรอ?
การมีคนรอดได้เกิน 3% จาก "สถาบันกวดวิชา" นั่นก็เป็นหลักฐานแล้วว่ามันไม่ได้ยาก
parkindani ก็ไม่แน่หรอกครับ แค่ทำได้เฉยๆ กับการหางานแล้วทำงานรับเงินได้จริงๆ นั้นต่างกันโดยสิ้นเชิง คนที่ไม่มีความรู้ในสายนี้เลยจะไปเรียนระยะสั้นแล้วหางานที่เหมาะสมจริงๆ ได้ไม่ใช่เรื่องง่ายนะครับ (ที่บอกว่าไม่รู้อะไรเลย ไม่ได้หมายถึงคนที่จบสายวิทย์หรือวิศวะที่เกี่ยวข้อง เช่น คณิตศาสตร์ วิศวกรรมอุตสาหการ วิศวกรรมอิเล็กทรอนิกส์ แต่ไม่มีความรู้ด้านซอฟต์แวร์นะครับ หมายถึงคนที่ไม่มีพื้นฐานด้านวิศวกรรมเลยต่างหาก) การทำอาหารหรือวาดรูปก็เรียนไม่กี่เดือนแบบคอร์สสั้นๆ แล้วทำได้เหมือนกัน แต่จะหางานดีๆ จากสิ่งนั้นได้ง่ายจริงหรือ?
มีอาชีพที่ถ้าไปเรียนสถาบันแล้วอยู่รอดได้มากกว่า 50% มีอยู่ดาษดื่นเลยครับ อาชีพที่ไม่จำเป็นต้องไปเรียนสถาบันก็มีเยอะด้วย แล้วทำไมไม่พูดถึงเรื่องสติปัญญาล่ะ? ถ้าจะอยู่รอดในฐานะนักพัฒนาก็ต้องมีสติปัญญาอยู่ในระดับท็อป 15% ถึงจะได้ 555
ผมไม่แน่ใจว่าการอยู่รอดในฐานะนักพัฒนาหมายถึงอะไร แต่สำหรับกรณีของผม อย่างน้อยก็ดูเหมือนว่าผมรายล้อมไปด้วยคนเก่งที่มีความสามารถด้านการรับรู้ระดับท็อป 1 เปอร์เซ็นต์ขึ้นไป
แต่ความฉลาดนั้นไม่ได้ถูกกำหนดด้วยสิ่งที่ติดตัวมาตั้งแต่เกิดเท่านั้น แน่นอนว่ามันพัฒนาได้ภายหลังผ่านความยืดหยุ่นของสมองด้วย มีส่วนที่ถูกกำหนดมาตั้งแต่เกิด แต่ไม่ใช่ทั้งหมด และผมก็ไม่แน่ใจว่าในอุตสาหกรรมซอฟต์แวร์ ความฉลาดเป็นปัจจัยที่เด็ดขาดถึงขนาดนั้นหรือไม่ แค่เข้าใจงานพัฒนาก็มีสิ่งที่ทำได้มากมายเหลือเกิน รอบตัวผมก็มีทั้งเพื่อนร่วมงานที่จบปริญญาตรีคนละสาย หรือไม่มีปริญญาตรีเลย ไม่ว่าจะเป็นวิศวกรหรือตำแหน่งอื่นก็ทำงานกันได้ดี ผมไม่ได้สนใจว่าเขาเคยมีความฉลาดในด้านที่ "เกี่ยวข้อง" มากน้อยแค่ไหน
และโดยส่วนตัว ผมคิดว่าการ "อยู่รอด" ในสถาบันสอนเขียนโค้ดนั้น จริง ๆ แล้วได้รับอิทธิพลอย่างเด็ดขาดจากความสนใจของเจ้าตัวและระบบการสอนของสถาบันเอง ถ้าเดินตามเส้นทางแบบมาตรฐาน กล่าวคือเรียนจบคณิตศาสตร์ วิศวกรรม หรือปริญญาตรีด้าน CS หรือเรียนต่อถึงระดับบัณฑิตศึกษา นั่นคือระบบการศึกษาที่ผ่านการพิสูจน์และพัฒนามาหลายร้อยปีแล้ว เพราะฉะนั้นมันย่อมแตกต่างจากสถาบันสอนระยะ 16 หรือ 32 สัปดาห์อย่างท่วมท้นทั้งในด้านคุณภาพและปริมาณ
และต่อให้สถาบันสอนแบบเข้มข้นแค่ไหนก็ตาม ถ้ามาตรฐานของคุณคือถ้าไม่เทียบเท่าตำแหน่งระดับปริญญาโทหรือเอกที่กินนอนอยู่ในแล็บและเขียนงานวิจัยมา ก็ถือว่าล้มเหลว แบบนั้นก็ล้มเหลวแน่นอนอยู่แล้ว ถ้าคุณต้องการตำแหน่งแบบนั้น ก็ไปเรียนต่อบัณฑิตศึกษาในระบบการศึกษาที่พิสูจน์แล้วได้เลย ถ้าไม่อยากไป ก็ต้องพึ่งพาความฉลาดอย่างที่คุณพูดถึง ผมไม่แน่ใจว่าตอนนั้นจะต้องใช้ความสามารถด้านการรับรู้ที่ปลายสุดของโค้งมากแค่ไหนก็ตาม
ดูเหมือนจะตอบไม่ตรงคำถามนิดหน่อยนะ จู่ ๆ ทำไมถึงพูดเรื่องปริญญาโทปริญญาเอกขึ้นมาล่ะ?
ผมแค่เขียนขยายความเพื่อชี้ให้เห็นความกำกวมของคำว่า "อยู่รอด" ถ้าเป็นไวยากรณ์แบบพูดคนเดียว ก็ไม่จำเป็นต้องมีคำตอบหรือเปล่า?
ก็ไม่ได้รู้สึกอินเท่าไหร่นะครับ คุณไม่ต้องตอบก็ได้ครับ