1 คะแนน โดย GN⁺ 2024-04-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ผู้เขียนรู้สึกว่าตัวเองปรับตัวเข้ากับอาชีพวิศวกรรมซอฟต์แวร์ได้ไม่ค่อยดี

    • พอเริ่มเข้าใจตรรกะภายในของ codebase ในระดับหนึ่งแล้ว ด้านเทคนิคกลับกลายเป็นเรื่องน่าเบื่อ อยากทำอะไรให้มากกว่านั้น และอยากทำในวิธีที่ต่างออกไป
    • ผู้เขียนสงสัยเกี่ยวกับการตัดสินใจด้านการออกแบบและเป้าหมายในภาพกว้างของมัน แต่กลับถูกบอกว่า “คิดมากเกินไป” หรือ “ใส่ใจมากเกินไป”
    • ไม่ใช่แค่เรื่องความถนัดหรือชื่อตำแหน่งไม่ตรงกันเท่านั้น แต่โดยพื้นฐานแล้วผู้เขียนไม่เห็นด้วยกับวิธีที่สถานที่แบบนี้ดำเนินงาน และอยากทำงานเพื่อเปลี่ยนมันมากกว่าจะคงสภาพมันไว้
  • เมื่อมองดูประกาศรับสมัครงานในปี 2023 ผู้เขียนก็หมดภาพฝันเกี่ยวกับวงการวิศวกรรมซอฟต์แวร์

    • ในกรณีส่วนใหญ่ เห็นได้ชัดว่าโค้ดที่วิศวกรจะต้องเขียนนั้นแยกขาดอย่างสิ้นเชิงจากปัญหาสำคัญของมนุษยชาติหรือของปัจเจกบุคคล
    • วัฒนธรรมสตาร์ตอัปยืนอยู่แนวหน้าของนโยบายแบบ “เขียนโค้ดให้มากขึ้น และตั้งคำถามให้น้อยลง” ของอุตสาหกรรมนี้
    • สตาร์ตอัปส่วนใหญ่มักพยายามหาผู้ใช้แบบจ่ายเงินด้วยการหมุนเงินของนักลงทุนไปมา แต่ท้ายที่สุดเวลาก็ถูกเผาผลาญไปกับงานของวิศวกร และเงินทุนร่วมลงทุนก็ตกไปอยู่ในมือของผู้ที่มีทุนมากอยู่แล้ว
    • โฆษณารับสมัครงานที่พยายามทำให้สิ่งนี้ดูเป็นความพยายามที่น่าตื่นเต้นและมีความหมาย ถือเป็นการดูหมิ่นสติปัญญา
  • บริษัทเทคโนโลยีแบบดั้งเดิมจะแตกต่างจากสตาร์ตอัปในเชิงโครงสร้างองค์กรและการเงิน แต่ในเชิงวัฒนธรรมแทบไม่ต่างกัน

    • โค้ดที่เขียนใน FAANG อาจไปถึงมือผู้ใช้จริงได้ แต่การที่ปัจเจกจะครุ่นคิดถึงทุกแง่มุมของการเขียนโค้ดกลับไร้ความหมายยิ่งกว่าที่เคย
    • วิศวกรไม่ได้เป็นเพียงฟันเฟืองในเครื่องจักรที่สร้างผลิตภัณฑ์เพื่อทำให้ด้านที่เลวร้ายที่สุดของทุนนิยมเป็นระบบอัตโนมัติเท่านั้น แต่ยังถูกลดทอนให้เป็นแค่ตัวเลข เช่น ขนาดของ backend stack คะแนนสัมภาษณ์เชิงเทคนิค หรือคะแนนประเมินผลงาน
    • ยังมีความคาดหวังอีกว่าวิศวกรควรโหยหางานอันว่างเปล่าและน่าอัปยศนี้ให้มากขึ้น และการตั้งคำถามกับมันก็ยิ่งถูกกดทับ
    • โปรแกรมเมอร์ควรถูกทำให้โฟกัสแค่ “ทำอย่างไร” แทบไม่แตะ “ทำอะไร” และไม่มีวันแตะ “ทำไปทำไม”
    • สำหรับ code monkey จำนวนน้อยที่สามารถและเต็มใจวิจารณ์ระบบ ข้อความที่ส่งออกมาก็ชัดเจนว่า ให้ทิ้งความคิดแบบนั้นไว้นอกประตู
  • วิธีคิดแบบทำให้มากขึ้นและถามให้น้อยลงในโลกเทคโนโลยีเช่นนี้ อาจผลิตโค้ดได้มากขึ้น แต่ก็พาไปสู่ซอฟต์แวร์ที่แย่ลง

    • แม้ในเวลาที่ทุนและอำนาจอื่น ๆ ที่เราไม่อาจควบคุม เปิดทางในทางทฤษฎีให้เราสร้างซอฟต์แวร์อย่างยั่งยืน ส่งผลบวกต่อโลก หรือมีประโยชน์ใช้สอยจริงได้ ในทางปฏิบัติเราก็มักไม่ทำ เพียงเพราะแรงเฉื่อยธรรมดา ๆ
    • แรงเฉื่อยแบบนี้แทรกซึมไปทั่วทั้ง tech stack ที่ถูกสร้างขึ้นเพื่อผลิตผลิตภัณฑ์ซึ่งไร้ประโยชน์ต่อสังคม
    • ตั้งแต่ภาษา ไลบรารี เฟรมเวิร์ก ไปจนถึง pattern ของโค้ด เทคโนโลยีเต็มไปด้วยความหมกมุ่นในความใหม่และลูกเล่น ก่อนจะเกิดนวัตกรรมที่แท้จริง ซึ่งเป็นโรคระบาดไปทั่วทั้งอุตสาหกรรม
    • หากไม่ได้กำลังแก้ปัญหาที่นอกกรอบของแนวปฏิบัติเดิม ก็ไม่มีเหตุผลอะไรที่จะต้องการวิศวกรรมที่นอกกรอบของแนวปฏิบัติเดิม
  • ปัญหาทางวิศวกรรมที่น่าสนใจที่สุด คือปัญหาที่เกิดขึ้นเองตามธรรมชาติในสังคมของเรา

    • สิ่งนี้ตรงข้ามกับปัญหาที่ตั้งให้ความก้าวหน้าทางเทคโนโลยีเป็นเป้าหมายในตัวเอง หรือพยายามสร้างความต้องการของตลาดขึ้นมาแบบฝืน ๆ ในที่ซึ่งไม่มีความต้องการอยู่ก่อน
    • ความจำเป็นทางสังคมคือแรงขับเคลื่อนที่ดีที่สุดของนวัตกรรม และในทางประวัติศาสตร์ ความสำเร็จที่ก้าวล้ำที่สุดของยุคคอมพิวเตอร์ระยะแรกก็เกิดขึ้นเพื่อประโยชน์ที่ใหญ่กว่า
    • ผู้เขียนต้องการให้ทุกวิธีการ ตั้งแต่ภาษาโปรแกรมและกระบวนทัศน์ สถาปัตยกรรม ไปจนถึงทุกบรรทัดของโค้ดและทุกไวยากรณ์ ถูกกำหนดโดยเหตุผลของระบบที่กำลังสร้างอยู่
    • และหวังว่าเหตุผลนั้นจะเป็นภาพสะท้อนของความจำเป็นที่มีอยู่จริง ไม่ใช่ตัวชี้วัดทางธุรกิจไร้สาระที่มีอยู่เพื่อคงอยู่ด้วยตัวมันเองเท่านั้น

ความเห็นของ GN⁺

  • ดูเหมือนว่าวิศวกรซอฟต์แวร์จำนวนมากจะรู้สึกคลางแคลงใจกับบรรยากาศปัจจุบันของอุตสาหกรรมที่มุ่งเน้นเพียงการยกระดับทักษะทางเทคนิคหรือความก้าวหน้าของเทคโนโลยีในตัวมันเอง ผมเห็นด้วยว่าการนำเทคโนโลยีไปใช้เพื่อแก้ปัญหาสังคมจริงและสร้างคุณค่าจริงนั้นสำคัญกว่า
  • แม้นวัตกรรมทางเทคโนโลยีในตัวมันเองจะสำคัญ แต่การย้อนกลับมามองว่ามันส่งผลต่อโลกอย่างไรในทางปฏิบัติก็อาจเป็นหนึ่งในบทบาทสำคัญของวิศวกร ดูเหมือนว่าเราจำเป็นต้องมีท่าทีที่ไม่ใช่แค่เขียนโค้ดให้เยอะและเร็ว แต่ต้องครุ่นคิดถึงเป้าหมายและทิศทางของมันด้วย
  • ปัญหาของวัฒนธรรมในบริษัทใหญ่หรือสตาร์ตอัปอาจเป็นสิ่งที่วิศวกรแต่ละคนเปลี่ยนได้ยาก แต่ก็ดูมีความหมายไม่น้อย หากแต่ละคนเลือกองค์กรที่สอดคล้องกับคุณค่าของตัวเอง หรือร่วมกับคนรู้จักทดลองแก้ปัญหาด้วยวิธีทางเลือก
  • เป็นเรื่องน่ากังวลที่ตรรกะของทุนมีอิทธิพลมากเกินไปต่อการกำหนดทิศทางการพัฒนาเทคโนโลยี ดูเหมือนว่าเราจำเป็นต้องคิดมากขึ้นว่าเทคโนโลยีจะมีส่วนช่วยต่อฉันทามติทางสังคมหรือประโยชน์สาธารณะได้อย่างไร และต้องมีความพยายามอย่างมีสำนึกเพื่อมุ่งไปในทิศทางนั้น
  • คงจะดีไม่น้อยหากมีพื้นที่ให้วิศวกรที่เหมือนผู้เขียน ซึ่งตั้งคำถามกับธรรมเนียมปฏิบัติของอุตสาหกรรมและพยายามแสวงหาทางเลือก ได้มารวมตัวและแลกเปลี่ยนกันมากขึ้น หวังว่าจะได้เห็นการเติบโตของชุมชนที่ร่วมกันสร้างเทคโนโลยีที่ยั่งยืนและมีความหมายต่อสังคม

1 ความคิดเห็น

 
GN⁺ 2024-04-22
ความเห็นบน Hacker News

สรุปได้ดังนี้:

  • ในโลกธุรกิจ องค์กรต้องการนักพัฒนาที่สร้างฟังก์ชันให้ตรงความต้องการทางธุรกิจได้อย่างรวดเร็ว มากกว่าคนที่ใส่ใจความหรูหราหรือความงามของโค้ด หากนักพัฒนาไม่สร้างมูลค่าทางเศรษฐกิจให้บริษัท ก็จะถูกมองว่าเป็นภาระ
  • การพัฒนาซอฟต์แวร์ส่วนใหญ่เป็นกิจกรรมทางเศรษฐกิจ และนักพัฒนากำลังเขียนโค้ดเพื่อทำให้ผู้ถือหุ้นและผู้บริหารร่ำรวยขึ้น พวกเขาไม่ได้สนใจว่านักพัฒนาทำอะไร หรือมองการพัฒนาซอฟต์แวร์เป็นศิลปะหรืองานช่างฝีมือ
  • ในอุตสาหกรรมมีพวกแอบอ้างอยู่มาก และยังเกิด “บทบาทปลอม” อย่างโปรดักต์แมเนเจอร์, สครัมมาสเตอร์ เป็นต้น วิศวกรที่มีความสามารถต้องคอยประคองคนที่ไร้ความสามารถ เพื่อช่วยให้พวกเขาได้สัมผัสความคิดสร้างสรรค์ นวัตกรรม การวิจัย การค้นพบ และวิศวกรรม
  • มีคนหนึ่งที่ทำงานพัฒนาซอฟต์แวร์องค์กรมาเกิน 10 ปี บอกว่าตอนนี้เขาสนใจแค่เช็คเงินเดือนก้อนโตที่ได้รับอย่างมหาศาล
  • ตัวการเขียนโปรแกรมนั้นเติมพลังให้ชีวิต แต่เมื่อเป็นอาชีพแล้ว ส่วนของการเขียนโปรแกรมจริง ๆ กลับมีสัดส่วนน้อยกว่า ส่วนใหญ่ใช้เวลาไปกับการประชุมไร้สาระ การวางแผน และเรื่องอื่น ๆ หลังเกษียณเขาวางแผนจะเขียนโปรแกรมสิ่งที่อยากทำเพื่อความสุขล้วน ๆ
  • หากอยากทำโปรเจ็กต์ที่มีความหมาย อาจต้องยอมสละเงินเดือนหรือสต็อกออปชัน โดยเฉพาะถ้าทำงานในบริษัท adtech หรือสตาร์ตอัป AI
  • ทางออกที่ถูกเสนอคือการเป็นนักพัฒนาอิสระ การพัฒนาไอเดียของตัวเอง และการขายตรงให้ผู้บริโภค การก่อตั้งบริษัทเองก็เป็นอีกวิธีหนึ่ง