3 คะแนน โดย GN⁺ 2024-02-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • นักพัฒนาซอฟต์แวร์ที่ถูกเลิกจ้างปลายปี 2023 ได้ติดต่อกับ 30 บริษัท ระหว่างหางานใหม่ และพบว่าตลาดตึงตัวกว่าที่คาดไว้ จากการถูกปฏิเสธ 8 แห่ง ไม่ได้รับคำตอบ 6 แห่ง และได้รับออฟเฟอร์ 3 แห่ง
  • ช่องทางหางานหลักคือสถานะ Open to work บน LinkedIn, รายชื่อบริษัทที่สนใจอยู่เดิม และเว็บจับคู่นักพัฒนากับบริษัทอย่าง Demando ขณะที่การค้นหางานรีโมตและประกาศงานเก่ามีความน่าเชื่อถือน้อย
  • กระบวนการรับสมัครทั่วไปยาวถึง 4–5 ขั้นตอน ตั้งแต่รีครูตเตอร์ ผู้จัดการ สัมภาษณ์เทคนิค แบบทดสอบ ไปจนถึงสัมภาษณ์ CTO/ผู้ก่อตั้ง และแบบทดสอบเขียนโค้ดแบบทำโจทย์ใช้เวลามากกว่าที่บริษัทบอกไว้มาก
  • เตรียมคำตอบแบบ STAR สำหรับคำถามเชิงพฤติกรรม, snippet โค้ด Python·Go, Leetcode, GoLand, ChatGPT, GitHub Copilot ฯลฯ แต่ในการ live coding ความตื่นเต้นทำให้คิดได้แย่กว่าปกติ
  • ในตลาดที่ยากขึ้น ข้อกำหนดประสบการณ์แยกตามภาษา การตอบกลับที่ช้า การตรวจสอบช่วงเงินเดือน และการจัดตารางหลายกระบวนการ เป็นปัจจัยชี้ขาดในการต่อรองออฟเฟอร์และการเลือกสุดท้าย

สถานการณ์หลังถูกเลิกจ้างและท่าทีในการเตรียมตัว

  • ปลายเดือนตุลาคมปีที่แล้ว บริษัทเลิกจ้างพนักงาน 17 คน โดยในนั้นมี นักพัฒนา 8 คน
  • ไม่กี่นาทีหลังจากคุย Zoom กับ CEO สิทธิ์เข้าถึงทรัพยากรทั้งหมดของบริษัทก็ถูกตัด
    • ไม่สามารถ push การเปลี่ยนแปลงหลายอย่างที่กำลังทำอยู่ได้
    • ทำให้ยากที่จะกล่าวลากับเพื่อนร่วมงานอย่างเหมาะสม
  • เพื่อนร่วมงานหลายคนติดต่อมาทาง LinkedIn และบางคนช่วยนัดคุย Zoom เพื่อให้ได้เล่าสถานการณ์และกล่าวลากัน
  • การย้ายงานก่อนหน้านี้ส่วนใหญ่เป็นการตัดสินใจเองขณะยังทำงานอยู่ และใช้ช่วงแจ้งลาออกมาตรฐานของสวีเดนคือ 3 เดือน เพื่อปิดงานก่อนย้ายไปบริษัทใหม่
  • การถูกตัดสิทธิ์เข้าถึงทันทีทำให้สามารถใช้เวลาทั้งหมดไปกับการหางานได้ทันทีในช่วงที่ยังได้รับเงินเดือน
  • ยังคงดูแลรายชื่อบริษัทที่อยากทำงานด้วยไว้เสมอ ด้วยแนวคิดว่าควรพร้อมหางานใหม่ได้ทุกเมื่อ และรักษาความสัมพันธ์ที่ดีกับรีครูตเตอร์ที่เคยติดต่อกันมาก่อน

ช่องทางหางาน

  • การใช้ LinkedIn

    • เปลี่ยนสถานะ Open to work บน LinkedIn จากเดิม “Flexible, I am casually looking” เป็น “Immediately, I’m actively applying”
    • จำกัดการมองเห็นไว้เฉพาะรีครูตเตอร์ ไม่ใช่สมาชิก LinkedIn ทั้งหมด และไม่ได้ใช้กรอบรูปสีเขียว #OpenToWork
    • หลังเปลี่ยนสถานะ ช่วงสัปดาห์แรกมีรีครูตเตอร์ติดต่อมาประมาณวันละ 5 คน
    • คุณภาพของตำแหน่งใกล้เคียงกับปกติ แต่ความถี่ในการติดต่อสูงขึ้นมาก
    • ตรวจรายชื่อบริษัทที่สนใจ พร้อมดูทั้งแท็บ Jobs บนหน้า LinkedIn ของบริษัทและหน้ารับสมัครงานของบริษัทนั้น ๆ
    • LinkedIn สะดวกเพราะดูจำนวนผู้สมัคร เวลาที่ประกาศงานถูกโพสต์ มีคนรู้จักในบริษัทหรือไม่ และใครเป็นผู้โพสต์ประกาศได้
    • การค้นหาด้วยคีย์เวิร์ดอย่าง “Golang Stockholm”, “Recommended for you” และ “Jobs where you’d be a top applicant” ของ Premium ก็แสดงประกาศงานที่ค่อนข้างดีบางส่วน
    • การค้นหา งานรีโมตเต็มรูปแบบ ของ LinkedIn ไม่น่าเชื่อถือนัก
      • มีปัญหาอย่างเช่นตำแหน่งที่รีโมตได้เฉพาะในสหราชอาณาจักรปะปนขึ้นมา
      • เห็นว่าถ้าแบ่งขอบเขตค้นหาได้ เช่น รีโมตเต็มรูปแบบภายในสวีเดน, ภายใน EU, หรือทั่วโลก ก็น่าจะดีกว่า
    • การดูเฉพาะประกาศล่าสุดทำได้ยาก จึงต้องเลื่อนผ่านประกาศที่เคยเห็นแล้วซ้ำ ๆ
    • ต่อมาพบวิธีค้นหาบน Google โดยตั้งช่วงเวลาเป็นสัปดาห์ที่ผ่านมา แล้วค้นหาเช่น golang fully remote site:linkedin.com/jobs
    • ติดต่อกลับรีครูตเตอร์ประมาณ 15 คนที่เคยคุยกันบน LinkedIn ในอดีต แต่ไม่มีผลลัพธ์
    • มีกรณีที่ส่ง InMail ไปยังผู้จัดการที่กำลังรับคน แต่ไม่ได้รับคำตอบ
  • เว็บไซต์อื่นและวิธีค้นหา

    • ใช้เว็บไซต์จับคู่นักพัฒนากับนายจ้างในสวีเดน Demando
    • เปิดใช้งานโปรไฟล์ที่ระบุทักษะและเงินเดือนขั้นต่ำที่คาดหวัง และต่อมาได้รับออฟเฟอร์จากบริษัทหนึ่งที่ติดต่อมาผ่านเว็บไซต์นี้
    • ยังพบประกาศงานของบริษัทอื่นที่ไม่เห็นบน LinkedIn ผ่าน Demando และสมัครไป ซึ่งบริษัทนั้นก็ให้ออฟเฟอร์เช่นกัน
    • ลองดู RemoteOK ชั่วครู่ แต่ไม่พบประกาศที่น่าสมัคร และโดยรวมรู้สึกว่าคุณภาพประกาศต่ำกว่า LinkedIn
    • Efinancialcareers แทบไม่มีตำแหน่งรีโมตเต็มรูปแบบ และค้นหายาก
    • ดูเธรดรายเดือน Who’s hiring ของ Hacker News ด้วย แต่หาข้อความที่เกี่ยวข้องได้ยาก
    • ยังพบวิธีค้นหาบริษัทที่คล้ายกันด้วยการค้น Google โดยผสมคำว่า “competitor to” หรือ “alternative to” กับชื่อบริษัท

การจัดการใบสมัครและประสบการณ์การตอบกลับ

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

เครื่องมือแบบเสียเงินและเอกสารเตรียมตัว

  • จ่ายเงินใช้ LinkedIn Premium หนึ่งเดือน แต่ไม่เป็นประโยชน์เท่าที่คาด
    • ไม่แน่ใจว่าเห็นคนที่เข้าดูโปรไฟล์ได้มากขึ้นหรือไม่ และมีคุณค่าต่อการหางานค่อนข้างจำกัด
    • ส่ง InMail ไปบ้าง แต่ไม่ได้ช่วยมากนัก
    • “Jobs where you’d be a top applicant” ก็ไม่ได้มีคุณค่าชี้ขาด
    • ยกเลิกหลังครบหนึ่งเดือน และก่อนยกเลิกได้รับข้อเสนอให้ต่ออีก 2 เดือนในราคา 1 เดือน
  • เนื่องจากกำลังหางาน Go จึงจ่ายไลเซนส์ GoLand สองเดือนเพื่อซ้อมในสภาพแวดล้อมที่คุ้นเคย
  • ลองใช้ GitHub Copilot ด้วย แต่ในการสัมภาษณ์ไม่ได้ใช้มากนัก เพื่อให้ชัดเจนว่าเขียนโค้ดเอง
  • subscription ChatGPT ที่มีอยู่เดิมมีประโยชน์ในการสร้างกรอบพื้นฐานของงานที่ต้องการอย่างรวดเร็วในแบบทดสอบทำโจทย์หลายงาน
  • Leetcode เวอร์ชันเสียเงินใช้เตรียมสัมภาษณ์ได้ดี เพราะดูคำอธิบายเฉลยได้
  • บริษัทหนึ่งใช้แบบทดสอบ IQ ของ Alva Labs จึงจ่ายเงินเรียน Alva Logic Cram Course ของ 12minprep เพื่อฝึกซ้อม
    • รู้สึกว่าการซ้อมล่วงหน้าช่วยให้ทำแบบทดสอบได้ดีขึ้นมาก

ตลาดที่ตึงขึ้นและข้อกำหนดประสบการณ์ภาษา

  • รู้สึกว่าตลาดรับนักพัฒนายากขึ้นอย่างชัดเจนเมื่อเทียบกับ 10 ปีก่อน
  • ประกาศที่สมัครได้ยังมีอยู่มาก แต่จำนวนผู้สมัครต่อหนึ่งตำแหน่งดูมากกว่าในอดีต
    • ในประกาศบน LinkedIn ที่ดูจำนวนผู้สมัครได้ หลายประกาศแสดงว่ามีผู้สมัคร มากกว่า 100 คน
  • จำนวนบริษัทที่ไม่ได้รับคำตอบแม้ในบทบาทที่คิดว่าเหมาะสมก็เป็นหลักฐานว่าตลาดยากขึ้น
  • ข้อกำหนดประสบการณ์ภาษาเฉพาะเพิ่มขึ้น
    • ในอดีตเคยเริ่มงานที่พัฒนาด้วย Python หรือ Golang ได้แม้ไม่มีประสบการณ์ภาษาเหล่านั้น และทำงานได้มีประสิทธิภาพอย่างรวดเร็ว
    • มองว่าภาษาเชิง imperative หลายภาษาคล้ายกัน จึงปรับตัวเข้ากับภาษาได้
    • แต่รีครูตเตอร์จำนวนมากแจ้งว่าเงื่อนไขตายตัวของบริษัทผู้จ้างคือประสบการณ์ภาษาเฉพาะ 2–3 ปี

กระบวนการสัมภาษณ์และวิธีเตรียมตัว

  • กระบวนการและภาระเรื่องตารางเวลา

    • กระบวนการรับสมัครทั่วไปประกอบด้วย การสัมภาษณ์ 4–5 ครั้ง
      • สัมภาษณ์รอบแรกกับรีครูตเตอร์
      • สัมภาษณ์กับผู้จัดการฝ่ายจ้างงาน
      • สัมภาษณ์เทคนิค 1–2 ครั้ง
      • แบบทดสอบทำโจทย์หรือ live coding
      • แล้วแต่กรณี อาจมีสัมภาษณ์กับ product manager, CTO, ผู้ก่อตั้ง
    • ตำแหน่งรีโมตดำเนินการผ่าน Zoom, Meet, Teams
    • ตำแหน่งในสต็อกโฮล์มส่วนใหญ่ต้องการสัมภาษณ์แบบเจอหน้า
    • เพราะเวลาเดินทางไปกลับ การสัมภาษณ์แบบเจอหน้าหนึ่งครั้งกินเวลาครึ่งวัน
    • ในทางกลับกัน การสัมภาษณ์รีโมตทำได้หลายครั้งในวันเดียว
    • ข้อดีของการสัมภาษณ์แบบเจอหน้าคือทำให้เข้าใจบรรยากาศของคู่สนทนาและออฟฟิศได้ดีกว่า
  • คำถามเชิงพฤติกรรมและการเตรียมเทคนิค

    • รวบรวมสิ่งที่ต้องดูก่อนสัมภาษณ์ไว้ในเอกสาร Word ที่ดูแลไว้เดิมชื่อ Interview Tips
    • ครั้งนี้เพิ่มส่วน Behavioral Questions เพื่อเตรียมตอบคำถามอย่าง “เล่าเหตุการณ์ที่คุณมีความเห็นต่างจากเพื่อนร่วมงาน”
    • เตรียมคำตอบตามเฟรมเวิร์ก STAR คือ Situation, Task, Action, Result, Reflection
    • ดูรายการคำถามจาก Rock the Behavioral Interview ของ Leetcode แล้ว整理กรณีที่จะใช้ตอบ
    • ครั้งนี้ไม่มีการสัมภาษณ์ที่ตกเพราะคำถามเชิงพฤติกรรม
    • ยังจด snippet โค้ดสั้น ๆ ของ Python และ Go ไว้ในเอกสาร
      • มีจุดประสงค์เพื่อให้นึกถึง pattern และ idiom ที่พบบ่อยได้รวดเร็ว
      • snippet ทั้งหมดถูก execute เพื่อตรวจว่าไม่มี error และใส่ output ที่เกี่ยวข้องไว้ด้วย
    • ดูวิดีโอของ Gergely Orosz เรื่อง Confessions from a Big Tech Hiring Manager: Tips for Software Engineering Interviews ด้วย
    • ในการสัมภาษณ์เทคนิค มองว่าสิ่งสำคัญคือการแสดงความอยากรู้อยากเห็น ทำงานร่วมกันได้ดี และตั้งคำถาม

ประสบการณ์สัมภาษณ์และแบบทดสอบเขียนโค้ด

  • สัมภาษณ์ทั่วไป

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

    • เมื่อเทียบกับการสัมภาษณ์ครั้งล่าสุดเมื่อหลายปีก่อน แบบทดสอบทำโจทย์ มีมากขึ้น
    • แบบทดสอบทำโจทย์เครียดน้อยกว่า live coding แต่ใช้เวลามากกว่ามาก
    • ไม่ว่าบริษัทจะพูดอย่างไร มองว่าแต่ละโจทย์ใช้เวลาอย่างน้อย 6 ชั่วโมง
    • สำหรับบริษัท ต้นทุนการขอโจทย์ตั้งแต่ช่วงต้นต่ำ แต่สำหรับผู้สมัครคือการลงทุนเวลาจำนวนมากโดยผลลัพธ์ไม่แน่นอน
    • ทำแบบทดสอบทำโจทย์ทั้งหมด 5 งาน
      • Java 2 งาน
      • Python 2 งาน
      • Go 1 งาน
    • มองว่าล้มเหลวประมาณ 1 งานครึ่ง
    • ในโจทย์ Go ส่ง solution ที่ทำงานได้ แต่ไม่ได้ใส่ test
      • แม้จะไม่ใช่ข้อกำหนดชัดเจน แต่คิดว่าควรใส่ test
      • รู้สึกไม่ชัดเจนว่าจะมีการรันซ้ำหรือไม่ แต่การไม่ใส่ caching เพื่อปรับปรุงความเร็วก็เป็นเหตุผลหนึ่งที่พลาด
    • อีกโจทย์หนึ่งผ่าน test ที่มีอยู่ แต่ hidden test พบ error 2 จุดเกี่ยวกับ input ว่าง
      • มองว่าถ้าเป็นงานจริงก็คงเขียน test เพิ่มเอง
      • สุดท้ายได้รับออฟเฟอร์จากบริษัทนั้น จึงนับเป็นความล้มเหลวครึ่งหนึ่ง
  • Live coding

    • ใน live coding รู้สึกว่าเพราะความตื่นเต้น สมองทำงานได้เพียงประมาณ 50% ของปกติ
    • live coding ครั้งนี้ผ่าน 3 ครั้งและไม่ผ่าน 2 ครั้ง
    • กรณีที่ล้มเหลวครั้งแรกคือโจทย์เขียนโปรแกรมหมากรุกแบบจำกัด
      • รองรับหมากเพียง 2 ประเภท แต่ต้องมีโครงสร้างโปรเจกต์ โมเดลข้อมูล การเดินที่ถูกต้อง และ test
      • ต้องส่งภายใน 2 ชั่วโมง และเวลาคับมาก
      • ส่วนใหญ่ทำงานได้ แต่ทำฟังก์ชันทั้งหมดไม่เสร็จ และมี bug ในโค้ดการเดิน
    • อีกกรณีหนึ่ง test ใน repository โค้ดเริ่มต้นที่บริษัทเตรียมไว้ไม่ทำงาน และการตั้งค่าสภาพแวดล้อมก็ใช้เวลา
      • ต้องถามหลายคำถามว่า logic ควรทำงานอย่างไร และสุดท้ายใช้เวลานานเกินไป
    • live coding ทั้งหมดใช้ IDE บนคอมพิวเตอร์ของตนเองและแชร์หน้าจอผ่าน Zoom

การต่อรองเงินเดือนและการเลือก

  • ช่วงแรกมีหลายครั้งที่การสัมภาษณ์ถูกยกเลิกเพราะบอกตัวเลขเงินเดือนสูงเกินไป
  • หลังจากนั้นเปลี่ยนวิธีเป็นบอกเงินเดือนประจำปีในช่วง 4 ปีที่ผ่านมา เพื่อสื่อระดับที่ต้องการแบบอ้อม ๆ
    • ถ้าบริษัทบอกว่าจ่ายระดับนั้นไม่ได้ ก็ตอบว่าตอนนี้ว่างงาน จึงไม่มีเงินเดือนขั้นต่ำแบบตายตัว และขึ้นอยู่กับข้อเสนอ
    • วิธีนี้ทำให้กระบวนการเดินหน้าต่อได้ และสร้างโอกาสไปสู่ออฟเฟอร์ที่ดีกว่าในภายหลัง
  • หลังได้รับออฟเฟอร์แรก การเจรจาก็ง่ายขึ้น
  • เมื่อถาม ช่วงเงินเดือน ของบทบาทนั้น กลับได้รับคำตอบบ่อยกว่าที่คาด
    • มีประโยชน์เพราะสามารถ early no กับบริษัทที่ต่ำกว่าระดับที่รับได้
  • บริษัทหนึ่งน่าสนใจ จึงไม่ได้เช็กเงินเดือนล่วงหน้า และหลังผ่านหลายสัมภาษณ์กับโจทย์ทดสอบ ก็ได้รับออฟเฟอร์ที่ต่ำมาก
    • มองว่าเสียเวลาเพราะไม่ได้เช็กล่วงหน้า
  • เข้าใจระดับเงินเดือนนักพัฒนาในสต็อกโฮล์มดีขึ้นด้วย
    • ในสวีเดนคิดเป็นเงินเดือนรายเดือน
    • ต้องพิจารณาด้วยว่ารวมเงินสมทบ pension หรือไม่ โดยส่วนใหญ่จะรวม และอาจมี 10–15% เพิ่มเติมรวมอยู่โดยนัย
    • เงินเดือนนักพัฒนาระดับเฉลี่ยมาก ๆ อยู่ที่ประมาณ 55K–65K SEK ต่อเดือน
    • มากกว่า 80K SEK ต่อเดือน ยากกว่า แต่แม้ในตลาดที่ตึงตัวก็ไม่ใช่ว่าเป็นไปไม่ได้
    • นอกเหนือจากเงินเดือน บางบริษัทมี option, equity, bonus ให้ด้วย
  • ในการเลือกสุดท้าย ต้องพิจารณาความน่าสนใจของผลิตภัณฑ์และบริษัท ภาษาที่จะใช้ สิ่งที่จะได้เรียนรู้ และเพื่อนร่วมงานด้วย

ผลลัพธ์สุดท้ายและสิ่งที่ได้เรียนรู้

  • บริษัทหนึ่งดำเนินการไปในทิศทางที่ดีมากและขอ reference 2 คน แต่วันถัดมากลับเลือกผู้สมัครคนอื่น
    • รู้สึกผิดหวังที่ทำให้ reference 2 คนต้องเสียเวลา
  • การหางานสุดท้ายแล้วใกล้เคียงกับ เกมของตัวเลข
    • แม้จะล้มเหลวในการสัมภาษณ์หลายครั้ง ขอเพียงมีบริษัทหนึ่งที่สำเร็จ ก็ได้งานใหม่
  • สุดท้ายมีออฟเฟอร์ 3 รายการครึ่งให้เลือก
    • บริษัทหนึ่งไม่ได้รับออฟเฟอร์อย่างเป็นทางการ แต่ดูแล้วน่าจะต่ำกว่าออฟเฟอร์สองรายการที่มีอยู่ จึงนับเป็นครึ่งหนึ่ง
  • จัดให้กระบวนการของหลายบริษัทจบในช่วงเวลาใกล้เคียงกัน โดยบางแห่งชะลอไว้และบางแห่งเร่งให้เร็วขึ้น
    • ปรับด้วยการเลื่อนสัมภาษณ์หรือพยายามนัดให้เร็วที่สุด
  • การมีหลายออฟเฟอร์ทำให้สถานะต่อรองดีขึ้นมาก และสุดท้ายได้ตำแหน่ง senior developer ที่ Swissblock ซึ่งมีทั้งงานที่น่าสนใจและเงินเดือนดี
  • การหางานใหม่เป็นงานที่ใช้แรงมาก และยังมีสิ่งที่ต้องเตรียมในวันหยุดสุดสัปดาห์ ทำให้พักได้ยาก
  • เมื่อนับรวมการสัมภาษณ์ 4–5 ขั้นตอน โจทย์ทดสอบ การศึกษาบริษัท การจัดตาราง และการถูกปฏิเสธ อาจใช้เวลาหลายเดือน
  • ยากที่จะประเมินผลสัมภาษณ์ด้วยตัวเอง และมักแปลกใจทุกครั้งเมื่อถูกปฏิเสธ
  • อดีตเพื่อนร่วมงานที่ช่วยพูดคุยเรื่องกระบวนการหางานมีประโยชน์มาก
  • รีครูตเตอร์ที่ตอบกลับเร็วมีความสำคัญต่อการสร้างความเชื่อมั่นต่อบริษัท
  • เมื่อเพื่อนร่วมงานถูกเลิกจ้าง การติดต่อไปทาง LinkedIn หรือช่องทางอื่นเพื่อกล่าวลา มีความหมายอย่างมากต่อเจ้าตัว

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

 
GN⁺ 2024-02-12
ความคิดเห็นจาก Hacker News
  • ในฐานะวิศวกร ML ที่ FAANG ได้ลองหางานแบบไม่เร่งรีบมาตลอดครึ่งปีที่ผ่านมา แต่ความเป็นจริงต่างจากภาพจำที่ว่าบริษัทจะวิ่งเข้ามาพร้อมกองเงินโดยสิ้นเชิง
    แม้จะมีข้อความจากรีครูตเตอร์เข้ามาเยอะเพราะโปรไฟล์ช่วยได้ แต่เกินครึ่งหายไประหว่างกระบวนการ และความสนใจจากรีครูตเตอร์ก็เป็นแค่ตัวชี้วัดความภูมิใจปลอม ๆ หากไม่เปลี่ยนเป็นข้อเสนอจริง
    ถึงความต้องการจะมาก แต่เกณฑ์การจ้างก็สูงมากเช่นกัน บริษัทต้องการประสบการณ์กับ tech stack ที่ตรงเป๊ะกับที่ตัวเองใช้ มี ML framework หลักอยู่ไม่กี่ตัว แต่เพียงเพราะคุ้นเคยแค่ตัวใดตัวหนึ่งก็ทำให้ถูกตัดออกจากหลายตำแหน่งแล้ว และบางบริษัทก็คัดออกเพราะมีประสบการณ์กับเทคโนโลยีเฉพาะด้าน 6 ปี ซึ่งไม่ถึงขั้นต่ำ 8 ปีที่กำหนด
    จนถึงตอนนี้ผลคือมีการปฏิเสธ 1 ครั้ง กับข้อเสนอให้ลดเลเวลลงไปเป็น senior 2 ครั้งเท่านั้น ทั้งที่เป้าหมายคือ Staff+ และค่าตอบแทนส่วนใหญ่ก็ถูกตั้งเพดานไว้ราวครึ่งหนึ่งของ total compensation ปัจจุบัน มีแค่ไม่กี่บริษัทเท่านั้นที่ให้ได้มากกว่านี้
    โดยรวมแล้วตลาดวิศวกร ML ยังดีกว่าตลาดซอฟต์แวร์เอนจิเนียร์ แต่ไม่เหมือนช่วงฟองร้อนแรงปี 2020~2022 เลยแม้แต่น้อย

    • ตอนนี้ชื่อเสียงของ FAANGไม่ได้สม่ำเสมออีกต่อไป
      วิศวกรจาก Google ยังถูกมองว่าเป็นคนระดับสูงโดยรวม ส่วนวิศวกรจาก Apple ก็ชื่อเสียงดีแต่ไม่ค่อยออกสู่ตลาดงาน ขณะที่วิศวกรจาก Facebook/Meta มักจะเหนือค่าเฉลี่ย แต่ก็มีภาพลักษณ์ว่าเป็นพวกแข่งขันภายในเพื่อเลื่อนตำแหน่งอย่างดุเดือด
      ถ้าหางานยาก คนก็มักจะนึกถึง Amazon ก่อน ระบบจ้างงานเชิงรุกแล้วตามด้วย PIP pipeline ของ Amazon อย่างน้อยจากประสบการณ์ส่วนตัวทำให้ชื่อเสียงเสีย และอดีตวิศวกร Amazon ที่ร่วมงานกันมาในช่วงไม่กี่ปีหลัง หลายคนมีฝีมือต่ำกว่าค่าเฉลี่ย
      ตอนนี้การพูดรวม ๆ ว่า “FAANG” แทบไม่มีความหมายแล้ว ความคาดหวังต่อวิศวกรจากแต่ละบริษัทต่างกันมาก และทุกที่ก็ไม่ได้ถูกจับตามองเหมือนเมื่อหลายปีก่อนแล้ว รวมถึงกำลังขยับไปสู่การให้ค่ากับความสามารถในการอยู่รอดในบริษัทยักษ์ใหญ่มากกว่าความสามารถเชิงวิศวกรรมล้วน ๆ
    • สมมติฐานที่ว่า FAANG โยนเงินใส่ผู้สมัครที่ไม่ใช่ FAANG นั้นใกล้ความจริงกว่าแบบกลับกัน
      golden handcuffs มีอยู่จริงและเป็นสิ่งที่ตั้งใจทำไว้ และก็มีไม่มากนักที่บริษัทจะมีปัญหาใหญ่พอให้คุ้ม ROI ของค่าตอบแทนระดับ FAANG
      อีกทั้งภายใน FAANG ยังมีเครื่องมือภายในที่ยอดเยี่ยมจำนวนมากซึ่งภายนอกไม่มี ทำให้เกิดคำถามว่า “คนนี้เป็นผู้เชี่ยวชาญจริง หรือเป็นผู้เชี่ยวชาญในการใช้ internal stack ของ Google กันแน่” คำถามคือจะสร้างผลงานได้ทันทีไหม หรือจะต้องเสียเวลาสร้างเครื่องมือพวกนั้นขึ้นมาใหม่ก่อน
      ทุกคนอยากบอก CEO หรือบอกนักลงทุนว่าดึงคนเก่งจาก FAANG มาได้ แต่บริษัทที่มีทั้งงบพร้อมประมูลแข่งและมีบริบทที่เหมาะจริง ๆ นั้นมีไม่มาก
      ตอนปี 2020 ตอนที่เป็น hiring manager และรับวิศวกร ML ก็เจอปัญหานี้เหมือนกัน และในบริษัทขนาดกลางก็มักมีปัญหาว่า “จะเอาวิศวกร ML ไปใช้ตรงไหนกันแน่” ถ้าไม่ใช่นักวิทยาศาสตร์ข้อมูลหรือซอฟต์แวร์เอนจิเนียร์สายทั่วไป ก็สร้างบทบาทกึ่งกลางได้ยาก และถ้าทีมข้อมูลไม่คุ้นกับ workflow และเครื่องมือแบบวิศวกรรม ต่อให้วิศวกร ML สร้างระบบที่เป็นระเบียบ สะอาด และมี version control ก็อาจถูกมองข้ามได้ง่ายเพราะไม่ใช่ KPI
    • การเรียนรู้ทุก tech stack ยอดนิยมไม่ใช่เรื่องจริงจังได้ในทางปฏิบัติ แต่เวลาวิศวกรซอฟต์แวร์หรือวิศวกรสายอื่นหางาน การใช้เวลา1~2 เดือนสำรวจภาพรวมทั้งตลาดของสายที่สนใจและทำความคุ้นเคยไว้จะช่วยได้
      ถ้าไม่ได้จะไปทำงานเดิมแบบเด๊ะ ๆ ที่บริษัทอื่น ในการสัมภาษณ์ก็ควรเตรียมตัวให้ดูเหมือนเป็นผู้เชี่ยวชาญแม้กับเทคโนโลยีที่จริง ๆ อยากไปคุ้นเคยหลังเข้าทำงาน บางกรณีอาจต้องขยายประสบการณ์ของตัวเองขึ้นมาบ้าง
      สุดท้ายแล้วความเชี่ยวชาญควรอยู่ที่วิธีคิดมากกว่าข้อเท็จจริงที่รู้ แต่ตลาดจ้างงานไม่ได้มองแบบนั้น ดังนั้นจึงต้องแต่งให้ดูดีไว้ก่อน และพร้อมไปอุดช่องว่างด้วยการเรียนตอนกลางคืนทีหลัง
      อีกอย่างคือเลเวลไม่ได้เทียบกันตรงตัวระหว่างแต่ละสภาพแวดล้อม ถ้าเจองานที่เหมาะกับตัวเองก็ไต่ขึ้นได้ และถ้ายึดติดกับเลเวลหรือค่าตอบแทนมากเกินไป ตัวเลือกอาจยิ่งแคบลง
    • ไม่ใช่ทั้ง ML และไม่ใช่ FAANG แต่ใน EU ช่วงนี้สถานการณ์ค่าตอบแทนก็คล้ายกัน
      แม้จะรู้สึกว่าตัวเองถูกประเมินค่าต่ำกว่าประสบการณ์และความรับผิดชอบพอสมควร แต่ค่าตอบแทนและสวัสดิการในประกาศงานช่วงหลังก็อยู่ในระดับน่าหดหู่
      ต่างจากที่คนชอบพูดกันเกี่ยวกับ EU หลายประกาศชูคำว่า “hybrid” และ “ยืดหยุ่น” แต่พอเข้าสัมภาษณ์รอบท้ายกลับค่อยบอกว่าต้องเข้าออฟฟิศสัปดาห์ละ 3~4 วัน และชอบประชุมต่อหน้าเพราะ “การทำงานร่วมกัน”
      พูดกันเรื่องปรับตามเงินเฟ้อ แต่ค่าแรงกลับลดลง และให้ความรู้สึกว่า EU กำลังตามสหรัฐในด้านความร้อนแรงเกินจริงและความไม่มั่นคง แต่ไม่สามารถไล่ระดับค่าแรงให้ทันได้
    • ถ้าทำ ML อยู่ใน FAANG ก็สงสัยว่าต่อให้ย้ายไปที่อื่นแล้วไม่ได้เงินมากขึ้น จะอยากได้อะไรจากที่ใหม่
      เช่น การจะได้ชิปเพิ่มก็ยากอยู่แล้ว และมีโอกาสสูงว่าจะได้รันการทดลองน้อยลงพร้อม throughput ที่ลดลงในสภาพแวดล้อมที่ทรัพยากรคำนวณตึงตัวอยู่แล้ว
  • มองว่าความยากของการจ้างงานในสหรัฐตอนนี้มีด้านที่ร้ายกาจกว่าการที่บริษัทเลือกมากขึ้นเฉย ๆ
    อย่างแรก บริษัทสหรัฐกำลังเรียนรู้วิธีจ้างทีมต่างประเทศด้วยต้นทุนที่ต่ำกว่า ทุกสัปดาห์จะได้รับอีเมลหลายฉบับเสนอทีมจากอเมริกาใต้หรืออินเดียในราคาถูก และที่บริษัทก่อนหน้านี้ก็เห็นมากับตาว่ามีการลดคนในสหรัฐ/อเมริกาเหนืออย่างหนักแล้วแทนที่ด้วยทีมอินเดียเพราะเหตุผลเรื่องการลดต้นทุนล้วน ๆ
    อย่างที่สอง ดูเหมือนว่าบริษัทสหรัฐกำลังพยายามเอาอำนาจควบคุมกลับคืนมาจากแรงงานที่เคยได้เปรียบในช่วงโควิด
    เพิ่งเริ่มหางานได้ไม่นานก็รู้สึกอึดอัดแล้ว ทั้งโดนหาย เงียบ ไม่ตอบ และเจอเรื่องอย่าง “จำนวนปีประสบการณ์ไม่พอเมื่อเทียบกับ requirement” เช่น บังคับว่าต้องมีประสบการณ์ .NET 6 อย่างน้อย 3 ปี

    • เห็นด้วย บริษัทของฉันก็ปลดพลเมืองสหรัฐในสัดส่วนที่มากผิดปกติ และเอนเอียงไปทางจ้างคนในลาตินอเมริกา
      วันนี้ลองดูคู่แข่งรายใหญ่ ๆ พบว่าที่หนึ่งเปิดตำแหน่งโปรแกรมมิงในเม็กซิโกไว้เพียบ ส่วนอีกที่ก็รับคนในอินเดียเป็นหลัก
      คนที่จะมาแย่งงานวิศวกรรมในสหรัฐไม่ใช่ ChatGPT แต่คือเหล่านักพัฒนาที่ถูกกว่าจากประเทศอื่น หลายคนในนั้นมีทั้งภาษาอังกฤษและทักษะการเขียนโปรแกรมดีพอ ซึ่งฉันรู้เพราะเคยร่วมงานด้วย
    • หลายปีมาแล้วที่พูดว่านักพัฒนาซอฟต์แวร์ในอเมริกาเหนือควรเรียกร้องให้กลับเข้าออฟฟิศ
      ถ้างานสามารถทำแบบรีโมตได้ ก็แปลว่าใครสักคนที่ไหนก็ได้บนโลกสามารถทำงานเดียวกันนี้ได้ด้วยต้นทุนหนึ่งในห้า
    • บริษัทสหรัฐรู้วิธีจ้างทีมต่างประเทศด้วยต้นทุนต่ำตั้งแต่15~20 ปีก่อนแล้ว ตอนคลื่นแรกของการ outsource ไปอินเดีย
    • ตอนนี้มันไม่ใช่ทฤษฎีสมคบคิดแล้ว แค่เปิดดู 100 บริษัทใหญ่สุดแล้วเทียบภูมิภาคที่รับคนเมื่อ 3 ปีก่อนกับปีนี้ ก็จะเห็นว่านอกสหรัฐเพิ่มขึ้น
  • ผู้แสดงความคิดเห็นไม่ได้ทำตามคำแนะนำใน “องค์ประกอบสำคัญของไมโครไซต์สำหรับหางาน” ที่บอกให้ใส่รูปโปรไฟล์แบบมืออาชีพ
    พอเคยทำงานเป็นช่างภาพมาก่อน จึงได้เรียนรู้ว่าตัวเองเหมาะกับการอยู่หลังกล้องกดปุ่มมากกว่า และมองว่าในการจ้างงานในสหรัฐฯ ไม่ควรมีรูปถ่าย
    เพราะมีประวัติการเลือกปฏิบัติที่ยาวนานและอคติที่ยังคงอยู่ หากเป็นไปได้แม้แต่ชื่อก็ควรถูกตัดออกด้วย เพราะอาจเป็นเบาะแสเรื่องเพศ เชื้อชาติ·ชาติพันธุ์ วรรณะ หรือภูมิหลังทางสังคมเศรษฐกิจ
    รูปถ่ายเป็นสิ่งที่เคยถูกตัดออกจากกระบวนการจ้างงานได้ค่อนข้างง่าย และในสหรัฐฯ ก็แทบหายไปแล้ว แต่เว็บไซต์สไตล์ “โซเชียลมีเดีย” อย่าง LinkedIn ได้นำ รูปโปรไฟล์ กลับเข้ามาในเรซูเม่อีกครั้ง

    • ผู้เขียนไม่ได้อยู่ในสหรัฐฯ แต่อยู่ที่ สวีเดน
      ฟังดูอาจแปลก แต่ในหลายประเทศยุโรป การใส่รูปโปรไฟล์ในเรซูเม่เป็นเรื่องเด่นชัด ตอนเริ่มจ้างงานสำหรับออฟฟิศใน EU ใหม่ ๆ ก็รู้สึกช็อก แต่ที่นั่นเขาทำกันแบบนี้
      ยิ่งน่าตกใจเพราะได้ยินมาบ่อยว่ายุโรปก้าวหน้ากว่าสหรัฐฯ ในเรื่องการเลือกปฏิบัติ แต่เรซูเม่จริง ๆ กลับมีทั้งรูปโปรไฟล์และแม้แต่สถานภาพสมรส พอให้รีครูตเตอร์ท้องถิ่นลบข้อมูลพวกนี้ออก ก็กลับถูกมองว่าเป็นคนแปลก
    • ตอนย้ายจากออสเตรเลียไปเยอรมนีก็ประหลาดใจกับเรื่องนี้เหมือนกัน และดูเหมือนจะเป็น ธรรมเนียมแบบยุโรป
      บางคนยังเขียนว่า “โสด” หรือ “แต่งงานแล้ว” ลงในเรซูเม่ด้วย แต่ได้ยินว่าทุกวันนี้เริ่มน้อยลงแล้ว
    • อ่านบทความแล้ว แต่ไม่เห็นเนื้อหาส่วนนั้น อาจเป็นไปได้ว่าบทความถูกอัปเดตแล้ว
    • ตอนเข้ารับการอบรมการสัมภาษณ์ เหตุผลหนึ่งที่มีการย้ำหนักแน่นให้ใส่เรซูเม่เข้า ตัวแยกวิเคราะห์อัตโนมัติ ก็เพื่อเอารูปหรือข้อมูลลักษณะนี้ออก
    • แม้จะบอกว่ารูปถ่ายไม่เหมาะกับการจ้างงานในสหรัฐฯ แต่บางทีอาจต้องกลับไปอ่านคำแนะนำเรื่องการแต่งกายแบบมืออาชีพของ Don Burleson อีกครั้ง: https://www.dba-oracle.com/dress_code.htm
      การมีรูปลักษณ์ที่เรียบร้อยและเป็นมืออาชีพสร้างความแตกต่างต่อผู้จ้างงานได้จริง และบริษัทก็อาจเลิกจ้างหรือไม่รับเข้าทำงานอย่างถูกกฎหมายได้หากไม่ปฏิบัติตามมาตรฐานดังกล่าว
  • แม้จะไม่สงสัยว่าต่อให้เป็นนักพัฒนาที่มีประสบการณ์มากแบบผู้เขียนก็ยังต้องใช้ความพยายาม แต่ สมัคร 30 ที่ได้ข้อเสนอ 3 ที่ ถือเป็นผลลัพธ์ในฝัน
    สำหรับคนช่วงต้นอาชีพ ส่วนใหญ่น่าจะต้องสมัครเกิน 100 ที่ ถึงจะได้สัมภาษณ์ไม่กี่ครั้ง และถ้าโชคดีก็ได้ข้อเสนอหนึ่งครั้ง

    • ผู้เขียนมี ประสบการณ์มากกว่า 30 ปี และสมัครงานที่เงินเดือนต่ำกว่า 100,000 ดอลลาร์ต่อปี
      เมื่อเทียบกับค่าเฉลี่ยของนักพัฒนาในสหรัฐฯ ก็ถือว่าตั้งความคาดหวังค่อนข้างถ่อมตัว
    • ดูเหมือนว่าการเริ่มต้นในปี 2017 ในฐานะคนเปลี่ยนสายอาชีพจะเป็นจังหวะที่ดี
      สมัคร 6 แห่ง ได้สัมภาษณ์ 4 แห่ง และได้ข้อเสนอ 2 แห่ง ทั้งที่ในทางปฏิบัติยังเป็นระดับจูเนียร์ แต่ไปสมัครตำแหน่งมิดเลเวล
      อยากคิดว่าสาเหตุที่มีสัมภาษณ์ไม่มาก ทำให้ทุ่มพลังและสมาธิให้กับแต่ละที่ได้เต็มที่ แต่ก็อาจเป็น survivor bias
      หลังจากนั้น จากการสัมภาษณ์ 3 ครั้งก็ได้ข้อเสนอที่ดี 2 ครั้ง และค่าตอบแทนก็อยู่เหนือเปอร์เซ็นไทล์ที่ 50 ของบทบาทซอฟต์แวร์เอนจิเนียริงในสหรัฐฯ ไม่คิดว่าตัวเองเก่งเหนือคนอื่นเป็นพิเศษจนถล่มทุกอย่างได้
      ไม่มีพลังจะใช้กลยุทธ์สมัครงานแบบหว่านจำนวนมาก ไม่ชอบการสัมภาษณ์ และเวลาทำ live coding สมองก็มักตื้อ เลยสมัครเฉพาะที่ที่อยากทำงานจริง ๆ และที่น่าจะยินดีรับนักพัฒนาธรรมดาที่ทำงานร่วมกับคนอื่นได้ดี
      สามารถรู้สึกสนใจงานธรรมดาทั่วไปอย่างจริงใจ และมีความเห็นที่หนักแน่นแต่พร้อมเปลี่ยนได้ง่าย อาจเป็นสองสิ่งนี้ที่เป็นเคล็ดลับของตัวเอง
    • เทียบกันแล้ว ตอนหางานใน สตอกโฮล์ม ช่วงกลางปี 2022 สมัคร 12 แห่งและได้ข้อเสนอ 5 แห่ง โดยมี 2 แห่งที่ปฏิเสธอย่างชัดเจน
      อีก 5 แห่งเป็นฝ่ายปฏิเสธเองหรือไม่มีเวลาทำขั้นตอนให้จบ ตอนนี้ตลาดงานแย่กว่าตอนนั้นมากสำหรับคนหางาน
    • แม้ในมุมมองของนักพัฒนาระดับซีเนียร์ ก็รู้สึกว่าเนื้อหาไม่ได้หนักอย่างที่คิดไว้จากการอ่านชื่อเรื่อง
    • อาจจะโชคดีมาก เพราะคุยกับเพื่อน ๆ แล้วก็ได้งานจากการแนะนำมา 3 งานที่ต่างกัน
      ไม่เคยสมัครงานหรือสัมภาษณ์แบบจริงจังมาก่อนเลย และรู้สึกว่าสักวันหนึ่งเรื่องนี้น่าจะย้อนกลับมาสร้างปัญหา
  • โจทย์ที่ให้เขียนโปรแกรมหมากรุกแบบจำกัด ซึ่งรองรับหมากแค่สองชนิด ภายใน 2 ชั่วโมง ไม่ใช่เรื่องง่าย
    เคยลองเขียนโปรแกรมหมากรุกเอง แต่ก็ยังสงสัยว่าจะสร้างโครงสร้างโปรเจกต์ โมเดลข้อมูล การเดินที่ถูกกติกา และการทดสอบทั้งหมดให้เสร็จภายใน 2 ชั่วโมง ได้หรือไม่ และต่อให้ทำได้ก็น่าจะกลายเป็นโค้ดที่เต็มไปด้วยบั๊ก

    • ไม่นานมานี้เพิ่งทำอะไรคล้ายกัน โดยเขียนการทำงานของการเดินคิงกับรู๊ค แต่ไม่ได้ใส่เรื่องเช็กหรือเช็กเมต และเป็นระดับที่จับคิงได้ก็ชนะ
      ถึงอย่างนั้นก็ยังใช้เวลาประมาณ 2.5 ชั่วโมง
    • ถ้าข้อกำหนดด้านกลยุทธ์ไม่สูงนัก ก็ดูเป็นโจทย์ที่พอทำได้ภายใน 2 ชั่วโมง
      ฟังดูเป็นงานที่ค่อนข้างเป็นกลไกและตรงไปตรงมา
  • การจ้างงานทั่วไปทุกวันนี้มีทั้งการคัดกรองรอบแรกกับ recruiter, สัมภาษณ์กับผู้จัดการที่รับคน, สัมภาษณ์เชิงเทคนิคอีกหนึ่งหรือสองรอบ และบางครั้งยังมีสัมภาษณ์กับผู้จัดการผลิตภัณฑ์หรือ CTO/ผู้ก่อตั้งอีก รวมแล้วสี่ถึงห้ารอบ ซึ่งไม่ใช่เรื่องใหม่แล้ว แต่ก็ยังค่อนข้างบ้าดี

    • บริษัทเราก็เคยมีกรณีที่หลังสัมภาษณ์ 1–2 รอบก็ตัดสินได้แล้วว่าผู้สมัครเหมาะสม
      แต่สุดท้ายก็ยังต้องถูกบังคับให้ผ่านกระบวนการสัมภาษณ์เพิ่มเติมอีกหลายสัปดาห์ ซึ่งไม่ใช่แค่บ้า แต่ยังเป็น การเสียเวลาและทรัพยากร
    • ในมุมผู้สมัคร แม้จะเป็นวันที่ยาวนาน แต่ก็ไม่ได้แย่ขนาดนั้น
      อย่างแรก ถ้าได้ไปถึงขั้นคัดกรองทางโทรศัพท์ก็มักจะมีโอกาสได้ข้อเสนอค่อนข้างแน่ ทำให้ต้นทุนเวลาจริงอาจไม่สูงอย่างที่คิด ถ้าไม่มีการคัดกรองทางโทรศัพท์ก็ไม่ต่างจากตอนนี้ แต่ถ้ามี ก็แค่ดูว่าชุดสัมภาษณ์นั้นมีเวลารอระหว่างรอบยาวเกินไปไหม ถ้ายาวเกินก็ถอนตัวตั้งแต่ต้นได้ 8 ชั่วโมงในวันเดียวรับได้ แต่ 8 ชั่วโมงที่ลากยาวสองเดือนทำให้การหางานซับซ้อนขึ้น
      อย่างที่สอง ถ้ามีข้อเสนอแข่งกัน ต้นทุนด้านเวลาก็จะเริ่มน่ารำคาญ วันสัมภาษณ์หนึ่งวันอาจคุ้มถ้ากำลังจะได้ค่าจ้างเพิ่ม 40% แต่การต้องใช้เวลา 5 วันเต็มไปกับการหางานเป็นภาระเมื่อวันลามีจำกัด ถึงอย่างนั้นดูเหมือนว่านายจ้างราวครึ่งหนึ่งก็ไม่ได้ขอหลักฐานข้อเสนอคู่แข่งจริง ๆ และถ้าบอกค่าตอบแทนที่ต้องการแบบ XYZ พร้อมบอกว่าถ้าได้ตามนี้จะเซ็นทันที พวกเขาก็มักพยายามปรับให้ตรงอย่างน่าประหลาด
      อย่างที่สาม การสัมภาษณ์เชิงเทคนิคโดยเฉลี่ยใช้เวลา 10–20 นาทีไปกับการแก้ปัญหาทางเทคนิค และอีก 30–50 นาทีคือการสำรวจว่าผู้สมัครรู้อะไรเกี่ยวกับบริษัทและทีมบ้าง บริษัทใหม่เป็นความเสี่ยง และมักซ่อนสัญญาณลบจากคนนอก ดังนั้นนอกจากตรวจสอบภูมิหลังผู้บริหารแล้ว การได้ฟังมุมมองปัจจุบันจากสมาชิกทีมหลายคนก็ช่วยหลีกเลี่ยงปัญหาได้ตั้งแต่เนิ่น ๆ
    • ควรคิดในมุมของคนที่กำลังจ้างด้วย
      ถ้าสัมภาษณ์ผู้สมัครไปมากมายแต่ยื่นข้อเสนอให้เพียง 1% และในช่วงทดลองงานยังล้มเหลวอีก 30% การจ้างงานก็เป็น การกินเวลา อย่างมหาศาลสำหรับทุกฝ่าย คนเก่งหายาก และงานดี ๆ ก็หายากเช่นกัน
    • ก็ไม่ได้บ้าขนาดนั้นนัก ถ้าบางรอบใช้ 30 นาที และรอบเทคนิคใช้ราว 60 นาที รวมทั้งหมดก็ประมาณ 5 ชั่วโมง
      เมื่อก่อนการสัมภาษณ์ onsite ต้องเสียเวลาเดินทางไปกลับหนึ่งชั่วโมง สัมภาษณ์รวมอีกหกชั่วโมง แถมมีมื้อกลางวัน และบริษัทที่เป็นที่ต้องการสูงก็มักให้ทำแบบนั้นหลายรอบ บางคนถึงขั้นต้องบินมาจากต่างเมือง
      ผมมีเพื่อนคนหนึ่งไปสัมภาษณ์กับ Google แล้วติดอยู่ที่ SF นาน 3 สัปดาห์เพราะพายุหิมะฝั่งตะวันออก สุดท้ายเลยถูก Accenture ไล่ออก
      เทียบกันแล้ว การสัมภาษณ์ 4–6 ชั่วโมงที่นัดในเวลาที่ต้องการ แม้จะแบ่งเป็นหลายวัน ก็ยังดีกว่ามาก
    • ถึงขั้นนี้คงต้องสัมภาษณ์กับภารโรงด้วยแล้วมั้ง
  • ตลาดงานวิศวกรซอฟต์แวร์ก็ไม่ได้ดีนัก แต่ตำแหน่ง สายสนับสนุน อย่าง engineering manager, product manager, designer หรือ developer relations ดูจะแย่กว่ามาก
    จากที่ผมเห็น คนกลุ่มนี้หางานลำบากเป็นพิเศษ ส่วนฝั่งนักพัฒนายังพอหางานได้ แม้จะช้าลงและสวัสดิการแย่ลง เลยสงสัยว่านี่เป็นแค่รอบตัวผมหรือเปล่า

    • ในฐานะนายจ้าง และจากกรณีรอบตัว ผมก็เห็นคล้ายกัน
      ตอนนี้มีกระแสทางการบริหารที่มองว่ามีผู้จัดการมากเกินไปแพร่หลายอยู่ และหลายที่ก็ขยับไปในทิศทางเดียวกับที่ Instagram ยุบทั้งบทบาท Technical Program Manager
      ที่งานแรก การปลดคนประมาณ 50% อยู่ฝั่ง “การจัดการ” ตอนนี้ทีมเราไม่มี product manager แล้ว และยังถูกบอกด้วยว่า ถ้าไม่ใช่เรื่องใหญ่ก็ไม่ต้องสนใจงานออกแบบมากนัก สองบทบาทนี้แทบจะถูกรวมเข้าไปอยู่กับ team lead ซึ่งตอนนี้ต้องรับผิดชอบทั้ง mockup และการตัดสินใจด้านผลิตภัณฑ์
      ที่งานที่สอง 70% ของการปลดคนอยู่ฝั่งการจัดการ ผู้จัดการหนึ่งคนต้องดูแลจากเดิมทีมเดียว 5 คน กลายเป็น 4 ทีมรวม 25 คน และเราก็เสียทั้งดีไซเนอร์กับ product owner ไป ตอนนี้การตัดสินใจพวกนั้นตกไปอยู่กับ product owner ที่เหลือหรือไม่ก็ technical team lead
    • สำหรับคนที่มีประสบการณ์มากพอ ตลาดยังดูแข็งแรง
      บริษัทเราก็กำลังรับคน และในกล่องข้อความของผมก็เต็มไปด้วยบริษัทจัดหางาน ทั้งหมดนี้พูดถึงบทบาทด้าน product engineering และ leadership
      ตลาดที่หนาวจริง ๆ คือฝั่ง junior และยังไม่ชัดว่ามันจะเปลี่ยนเมื่อไรหรืออย่างไร
      อ้างอิงจากมุมมองในซิลิคอนวัลเลย์ และผมไม่ได้ย้ายออกไปช่วงโรคระบาด ผมสงสัยมาตลอดว่าสุดท้ายมันอาจลงเอยแบบนี้
  • ทุกวันนี้การเป็นนักพัฒนาซอฟต์แวร์ให้ความรู้สึกเหมือนต้องคอยรับมือกับเรื่องไร้สาระไม่รู้จบ
    ผมสงสัยว่าทุกคนยังโอเคกันไหม เพราะพูดตรง ๆ คือเหนื่อยมาก การหางานเป็นกิจกรรมที่บั่นทอนจิตใจ การส่งใบสมัครกินเวลาและยุ่งยากเกินจำเป็น ให้ความรู้สึกเหมือนทำซ้ำแบบซิซิฟัส และเหมือนกำลังทิ้งชีวิตไปเปล่า ๆ เราไม่ได้เรียนรู้อะไรที่เป็นประโยชน์ ไม่ได้สร้างอะไรที่ใช้ได้จริง ไม่ได้ทำให้ส่วนไหนของชีวิตดีขึ้น และก็ดูเหมือนไม่มีวิธีอัตโนมัติที่พิสูจน์แล้วว่าช่วยได้
    ผมไม่เข้าใจว่าทำไมนักพัฒนาต้องเหนื่อยขนาดนี้ ต้องรู้ทั้ง Java, JavaScript, Python, Go, ภาษาถิ่นของ SQL, สคริปต์อย่าง bash กับ awk, ansible, chef, terraform, บริการ AWS อีกหลายสิบตัว, ฐานข้อมูลหลายแบบกับรายละเอียดการติดตั้งใช้งาน, ประเภทช่องโหว่ยอดฮิต, ไปจนถึงโปรโตคอลอย่าง DNS, TCP-IP, HTTP, WebSocket และยังเหมือนต้อง กลับด้านต้นไม้ทวิภาค กลางสภาวะไร้น้ำหนักอีก
    กราฟกิจกรรมบน GitHub ก็เหมือนต้องแน่นหนาราวกับภาพถ่ายทางอากาศของป่าแอมะซอน ต้องรักษาบล็อก ต้องไปพูดในคอนเฟอเรนซ์ และบางทีก็ต้องเขียนอะไรคล้ายงานวิชาการ แต่ถึงอย่างนั้นก็ยังไม่พอ ยังต้องเก่งทั้งอัลกอริทึมและโครงสร้างข้อมูล รายภาษา รายเฟรมเวิร์ก pair programming การออกแบบระบบ ผลิตภัณฑ์ ความรู้เรื่องบริษัทและอุตสาหกรรม งานมอบหมาย การพรีเซนต์เชิงเทคนิค และสัมภาษณ์ด้านบุคลิกภาพอีก
    ต่อให้ได้เข้าไปทำงานบริษัทใหญ่จนรู้สึกว่า “ประสบความสำเร็จแล้ว” ก็ยังไม่เข้าใจว่าทำไมถึงรู้สึกปลอดภัยไม่ได้ ทำไมแทนที่จะได้สร้างและซ่อมสิ่งต่าง ๆ กลับต้องใช้ชีวิตอยู่ใน โหมดหางาน ตลอดเวลา

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

    • เพราะงั้นควรถาม recruiter ว่ามีการติดต่อโดยตรงกับผู้จัดการที่กำลังจ้างหรือไม่ หรือเป็นคนในบริษัทนั้นหรือเปล่า
      recruiter จำนวนมากเป็นบุคคลที่สาม และงานของพวกเขาก็มักมีแค่รับเรซูเม่จากผู้สมัครแล้วส่งต่อ ทำให้กลายเป็นอีกชั้นที่งี่เง่าซึ่งไม่ได้ดีไปกว่าการสมัครแบบ cold application เท่าไร
      บ่อยครั้งด้วยซ้ำที่ประกาศงานที่ recruiter เอามาเสนอ เป็นประกาศเดียวกับที่บริษัท third-party อื่น ๆ เอาไปโพสต์ซ้ำบนเว็บเดียวกันโดยไม่แก้คำบรรยายงานแม้แต่ตัวอักษรเดียว
      recruiter บางคนถึงขั้นขอเป็น เอกสาร MS Word เพื่อให้ลบข้อมูลติดต่อออกแล้วแปะโลโก้ของตัวเองได้ง่าย
    • เหตุผลที่เป็นไปได้มากที่สุดคือ ในระบบ HR มีช่อง อัปโหลดไฟล์เรซูเม่ ที่บังคับกรอกอยู่
  • น่าสนใจที่มีบริษัทหนึ่งใช้ แบบทดสอบ IQ
    ฉันยังไม่เคยเจออะไรแบบนั้น แต่เมื่อสัปดาห์ก่อนฉันเห็นใบสมัครงานที่ถามในแบบทดสอบ “บุคลิกภาพ” ว่าผู้สมัครลงคะแนนให้ผู้สมัครที่มีแนวคิดฝ่ายซ้ายหรือผู้สมัครที่มีแนวคิดฝ่ายขวา บริษัทนั้นอยู่ในสายเฮลท์แคร์
    แล้ว GitHub ก็เคยขออนุญาตให้ AI ตรวจเรซูเม่ของฉัน ซึ่งก็ทำให้ฉันชะงักไปเหมือนกัน ฉันไม่ได้อนุญาต และรู้สึกชัดเจนเลยว่าตัวเองเสียเปรียบผู้สมัครคนอื่น

    • การถามว่าลงคะแนนให้ผู้สมัครที่มีแนวคิดซ้ายหรือขวานั้น ควรผิดกฎหมายอยู่แล้วในหลายแง่มุม
      และฉันก็คิดว่าควรทำให้ แบบทดสอบบุคลิกภาพ โดยรวมผิดกฎหมายด้วย
    • จำไม่ได้ว่าเห็นจากที่ไหน แต่ฉันเคยเห็นประกาศรับสมัครตำแหน่งนักพัฒนาที่ให้ทำ แบบทดสอบ MBTI ก่อน
      คือแบบทดสอบที่ถามประเภทบุคลิกภาพอย่าง INFJ, INFP นั่นแหละ การเอาสิ่งนี้มาใช้กับงานสายเขียนโค้ดนี่แปลกมาก และฉันเคยคิดว่าแค่อ่าน LeetCode ก็พอแล้ว
    • โจทย์เขียนโค้ดเองก็ให้ความรู้สึกว่าเกือบจะเป็นการทดสอบ IQ อยู่แล้ว ดังนั้นแทนที่จะต้องคอยคิดโจทย์เขียนโค้ดเฉพาะทางขึ้นมาเรื่อย ๆ การใช้แบบทดสอบ IQ ไปเลยอาจจะง่ายกว่า
    • ฉันนึกว่าแบบทดสอบ IQ ผิดกฎหมาย