botbotbot 's blog

How to get that job for developer

ทำไงให้ได้งาน:

หลักการง่ายๆ คือทำให้ตัวเองเป็นที่รู้จัก หากคุณเก่งอยู่บ้านคนเดียวโดยที่คนอื่นไม่รู้ก็ยากที่จะมีใครมาจ้างคุณไปทำงาน

วิธีการทำให้ตัวเองเป็นที่รู้จัก Online:

  1. มี CV Online และคอยอัพเดทอยู่เสมอๆ เช่น
    • http://linkedin.com ปัจจุบัน HR/Agency หลายคนหาคนไปทำงานจาก linkedin กันมากขึ้น
    • https://www.wantedly.com ฝากโปรไฟล์ไว้บนเว็บเด่นๆ หรือ เฉพาะทาง มีโอกาสให้ บ. มาเชิญไปทำงานได้ง่ายขึ้น
  2. มี Github Account - Recommend
    • เพื่อแสดงผลงาน code ต่างๆ รวมถึงสกิลในการใช้ Git version control หลาย บ. ให้ส่ง Github Account แทน CV
  3. มีผลงานที่ชัดเจนเป็นของตัวเองไม่ใช่ในนามบริษัท
    • เช่น สาย mobile ก็ควรมีแอพบน store , สาย web / design ก็ควรมี website เป็นของตัวเอง
    • อาจจะเป็น pet project หรือโค๊ดที่เราเรียนรู้สิ่งใหม่ๆ ต่างๆ ไม่จำเป็นต้องเป็นระดับ prodcut เสมอไป
  4. เขียน Blog ของตัวเอง - Recommend
    • เนื่องจากไม่ใช่ทุกคนที่จะ code หรือสามารถมีชิ้นงานเป็นของตัวเองได้
    • แต่ทุกงานมักจะมีปัญหา และ ทำจำเป็นต้องค้นหาวิธีแก้ปัญหาเองบ่อยครั้ง ให้พยายามนำสิ่งเหล่านี้มาเขียน เช่น เจอปัญหา xxx บน wordpress ต้องแก้ยังไง ลองอะไรมาบ้าง work ไหม แต่ละวิธีมีข้อจำกัดเป็นยังไง ตัวอย่าง เส้นผมบังภูเขา : การแก้ปัญหาการอัพเดต WordPress จากตัวระบบเองผ่าน FTP
    • เพื่อแสดงให้เห็นว่าเรามีความรู้ ความเข้าใจในเรื่องนั้นระดับหนึ่ง ซึ่งมักเป็นสิ่งที่ไม่สามารถรู้จักกันผ่านการสัมภาษณ์เพียงแค่ไม่อีกชั่วโมงได้
    • นอกจากที่ยังมีประโยชน์เวลาเราเจอปัญหาที่ซํ้าๆยังสามารถกลับมาทบทวนได้อีก ประหยัดเวลาไปนั่งค้นเรื่องเดิมๆ ได้เยอะ
  5. เข้าไปตอบคำถามตามบอร์ดต่างๆ
    • เช่น http://stackoverflow.com เคยได้ยินมาว่าบางที่ถาม StackOverflow Account กันเลยทีเดียว
    • ถ้าไม่ถนัดภาษาอังกฤษอาจจะเป็นกลุ่มของไทยเล็กๆ เฉพาะทางบนเฟส เช่น Pyhton Thailand, iOS Dev Thailand เป็นต้น

วิธีการทำให้ตัวเองเป็นที่รู้จัก Offline:

เหมาะกับ กทม ต่างจังหวัดมีิกิจกรรมน้อยมาก

โดยทั่วไปงานสัมมนาหรือ meetup จะมีการจัด talks ให้ความรู้ในเรื่องต่างๆ และเปิดรับสมัครงานบ้าง เพื่อให้โปรแกรมเมอร์ได้ทำรู้จักกันมากขึ้น เพื่อการแลกเปลี่ยนแบ่งปันความรู้ต่างๆ

การที่เราไปสมัครงานในงานสัมมนาเหล่านี้มักจะได้เปรียบกว่าการสมัครงานทั่วๆ ไปเสมอ ซึ่งคนที่ไปงานมักมีคุณสมบัติตรงกับที่เปิดรับสมัคร เช่น มีรับสมัคร iOS Dev ที่งาน iOS Meetup หรืออย่างน้อยที่สุดคนที่มางานลักษณะนี้มักเป็นคนที่ชอบเรียนรู้อะไรใหม่ สนใจงานด้านนี้อย่างจริงจัง ซึ่งมักเป็นอย่างสิ่งที่ผู้ัรับสมัครงานมองหา

กิจกรรม meetup/สัมมนาต่างๆ มีทั้งแบบฟรีและเสียตังตั้งแต่ระดับร้อยไปถึงพันบาท มีทั้งภาษาไทย / อังกฤษ บางงานก็มีอาหารเลี้ยง เช่น พิชช่า เบียร์ แล้วแต่สปอนเซอร์ในการจัดแต่ละครั้ง

  1. เข้ารวมงานสัมมนาต่างๆ
    • มักเป็นงานใหญ่ระดับ 60 คนขึ้นไป มักจัดทุก 3 เดือนครั้ง หรือ ปีละครั้งแล้วงาน
    • เช่น AgileThailand, BarCamp Bangkhen, Code Mania
  2. เข้ารวม meetup ต่างๆ ซึ่งสามารถหาได้จาก http://www.meetup.com
    • งานระดับเล็ก อาจจะมีคนร่วมงานเพียงแค่ 10 - 20 คน แล้วแต่ความเข็มแข็งของงานั้น
    • มักจัดเดือนละครั้ง คนที่มาส่วนใหญ่จะเป็นฝรั่ง มักจะมีการนำเทคโนโลยีต่างๆ มาพูดคุยกัน เช่น Hack Night: Code, Make, Teach, or Learn, BKK WEB MEETUP

ขั้นตอนสัมภาษณ์หลักๆ:

แนะนำให้อ่าน How to Hire a Developer เค้าเขียนได้ละเอียดมากเริ่มตั้งแต่กระบวนการเปิดรับสมัคร การคัดกรองเร่ซูเม่ การนัดสัมภาษณ์ ต่างๆ ได้มุมมองของคนสัมภาษณ์ในเชิง Dev ถ้าเจอ HR อาจจะอีกแบบ

  1. สัมภาษณ์ทางโทรศัพท์ (Phone Interview)
    • สอบถามข้อมูลทั่วไปเกี่ยวกับผู้สมัคร บางที่อาจจะเป็นภาษาอังกฤษ เช่น เรียนหรือทำงาน เขียนภาษาอะไรบ้าง ใช้เทคโนโลยีอะไรบ้างกว้างๆ ทั่วไป
  2. สัมภาษณ์ทางเจอตัว (Face to Face Interview)
    • สอบถามรายละเอียดแบบลงลึกมากขึ้น เพื่อดูทัศนคติ บุคลิก ความสนใจ อารมณ์ สกิลการสื่อสาร ไหวพริบต่างๆ
  3. สัมภาษณ์ทางเทคนิค (Technical Interview)
    • สอบถามรายละเอียดทางเทคนิค โดยทั่วไปเน้นดูที่กระบวนการคิดและการแก้ปัญหา บางที่อาจจะลงลึกมากขึ้นอยู่กับ บ. และตำแหน่งที่สมัคร / บางที่อาจจะให้ลองทำ pair-programming เพื่อสัมภาษณ์

คำแนะนำอื่นๆ:

บางตำแหน่งก็ไม่ได้จำเป็นต้องมีประสบการณ์โดยตรง เช่น node.js ถ้าหากเคยเขียน java, js มีความรู้เรื่อง network, thread และพื้นฐานที่ดี บางที่ก็พร้อมจะรับและให้เงินเดือนสูง เนื่องจากงานที่เค้าให้ไปทำ มันสิ่งที่จำเป็นต้องสร้างขึ้นใหม่และเรียนรู้ได้ด้วยตัวเองเป็นส่วนใหญ่ ไม่มีอยู่ในตำรา หรือ stack overflow

  1. อย่าดูที่ตำแหน่งที่เปิดรับ ให้ดูที่รายละเอียดการทำงาน หลายที่เขียนชื่อตำแหน่งรายละเอียดเพื่อแค่ให้ดูดี ไม่ได้ต้องการคุณสมบัติมากมายขนาดนั้น บางตำแหน่งไม่ได้จำเป็นต้องมีประสบการณ์ตามที่ระบุ อาศัยการเรียนรู้งานได้ แต่การมีความรู้พื้นฐานต่างๆ ประสบการณ์ของงานที่ใกล้เคียงจะทำให้เราเรียนรู้ได้เร็วขึ้น
  2. การไปสัมภาษณ์งานควรเป็นการทำให้ บ. รู้จักเรา และเรารู้จัก บ. มากขึ้น เช่น ถามเค้ากลับว่าถ้าหากได้งานนี้ เรายังขาดสกิลอะไรบ้าง ได้ไปศึกษาเพิ่ม / มีการทำ OT บ่อยไหม / ทำงานที่บ้านโดยไม่เข้าออฟฟิส ได้ไหม ?
  3. พัฒนาตัวเองทุกวัน ไม่ใช่แค่ช่วงหางานใหม่

How to prepare for interview ?

What are they looking ?

Technical Interview

Non-Technique Interview

Good CV

CV Tools

ETC.