หนึ่งปีในสิงคโปร์ ภาคโปรแกรมเมอร์

blog ชีวิตหนึ่งปีในสิงคโปร์ ภาคคนธรรมดาอ่านไปแล้ว คราวนี้มาถึงภาคโปรแกรมเมอร์กันบ้าง

เนื้อหาอาจจะไม่เกี่ยวข้องกับสิงคโปร์ทีเดียว แต่เอาเป็นว่าเป็นเรื่องราวที่เห็นในรอบ 1 ปีนี้แล้วกันนะครับ

  • ความนิยมของภาษาเขียนโปรแกรมคล้ายๆ ไทย คือ บริษัทใหญ่ C# และ Java ส่วนบริษัทเล็ก PHP เป็นส่วนมาก Python กับ Ruby ตามมา
  • Startup ถ้าตั้งโดยคนสิงคโปร์มักจะมองแค่ระดับในประเทศตัวเอง แต่ถ้าตั้งโดยชาวต่างชาติจะมองที่ระดับทวีปและหวังจะไปถึงระดับโลก
  • จากค่าครองชีพและอัตราเงินเดือนที่สูง ทำให้คนนิยมซื้อบริการต่างๆ มากกว่าจะตั้งเซอร์เวอร์ขึ้นใช้เอง ตัวอย่างบริการ เช่น zendesk, github
  • เครื่องเซอร์เวอร์ในบริษัทมีแค่ Hadoop cluster กับ CI นอกนั้นอยู่บน cloud หมด ที่ config EC2 ขึ้นใช้เองก็ไม่เยอะ ส่วนมากซื้อบริการสำเร็จเลย
  • ได้อยู่ในทีมที่ใช้ Agile จริงๆจังๆ
  • ที่บริษัททีม Engineer ทำงาน 9 – 6 แค่นี้ตอนเย็นก็เบลอแล้ว ไม่รู้ว่าบริษัทอื่นเค้าทำกันถึง 2-3 ทุ่มได้ยังไง
  • คนไม่รู้จัก Agile จริงๆ แต่บอกว่าตัวเองรู้จักเยอะมาก แม้คนที่ใช้ Agile บาง practice อยู่แล้วได้ประโยชน์ ก็ใช่ว่าจะเข้าใจแก่นของมัน
  • ได้พบเจอกับคนสายเทคโนโลยีที่ตอนอยู่ไทยก็ได้แต่ติดตามเรื่องราวหรือการพูดของพวกเค้า 1, 2, 3
  • ได้ถ่ายรูปร่วมกับโปรแกรมเมอร์สาย Ruby ทั้งจากสิงคโปร์และประเทศใกล้เคียง ในงาน RedDotRubyConf
  • มีคนถ่ายรูปโพสท่าหล่อๆ ในงาน CITCON
  • ได้เห็นและฟัง Martin Fowler ตัวเป็นๆ
  • บริษัทที่จัดงานและให้สถานที่จัดงาน event ต่างๆ มีวาระซ่อนเร้นทั้งนั้น
  • สิ่งที่ขาดจากเด็กจบใหม่เก่งๆ คือ การ focus, การมองปัญหาที่ภาพรวม
  • พบว่าโปรแกรมเมอร์เก่งๆ ต้องมีประสบการณ์ แต่โปรแกรมเมอร์มีประสบการณ์ใช่ว่าจะเก่ง

ด้านล่างต่อไปนี้จะเป็นความเปลี่ยนแปลงส่วนตัวในรอบ 1 ปีนะครับ จริงๆ บางส่วนก็เคยเขียนไปแล้วรอบหนึ่ง

  • ศึกษาและใช้งาน Ruby และ Rails อย่างจริงจัง จนถึงระดับทำมาหากินได้ เขียนแนะนำการเริ่มต้นไว้แล้ว
  • เขียนเว็บเป็นซะที SQL พื้นฐานก็ได้แล้ว CSS ก็พอเดาได้มากขึ้น
  • แตะ PHP อยู่ 3-4 เดือน ชีวิตนี้ไม่ขอใช้มันอีก
  • อ่านหนังสือ และบทความเกี่ยวกับ ภาษาและการพัฒนาซอฟแวร์เยอะมาก เพราะมีเวลาว่างเยอะบนรถไฟฟ้า
  • หลักในการตัดสินใจสไตล์การเขียนโปรแกรมข้อแรกคือ เขียนให้สื่อสาร นึกอยู่เสมอว่าถ้าเราไม่รู้จัก code นี้มาก่อนแล้วเรามาเห็นเราจะรู้สึกอย่างไร ส่วนมากจะออกในแนวเขียนให้ง่าย และสั้น
  • เข้าใจการทำงานร่วมกับคนอื่นมากขึ้น “เปลี่ยนเพื่อแก้ปัญหา อย่าเปลี่ยนเพราะอยากเปลี่ยน”, “ทำความผิดพลาดให้เด่นชัด จะได้แก้ไข ไม่ใช่ลืมไป”
  • มองปัญหาที่ต้นเหตุมากขึ้น หลายๆครั้งที่คนอื่นจะมาวานให้เราทำอะไรให้ โดยคิดมาให้แล้วว่าเราควรจะทำอย่างไร แต่พอเราถามถึงสาเหตุจริงๆ เราจะสามารถหา solution ที่ง่ายและแก้ปัญหาตรงจุดกว่าได้
  • pair programming ทำให้รับรู้ถึงความสามารถของคนได้ดีมาก เหมาะแก่การเอาไปใช้สัมภาษณ์งานอย่างยิ่ง
  • โปรแกรมเมอร์ส่วนใหญ่มีนิสัยชอบทำอะไรให้เสร็จ จะเหนื่อยและเบื่องาน ถ้าทำไม่เสร็จซักที
  • หาสไตล์ส่วนตัวเจอ ว่าจังหวะไหนควรเขียนเทส จังหวะไหนไม่ควรเขียน
  • ถ้า enviroment ของเรารันช้าจะทำ TDD ไม่ได้ ทำได้แค่ Test-First
  • ได้รับรู้ mindset ของโปรแกรมเมอร์ฝั่ง dynamic programming
  • พบว่าคนที่เกลียด Java หลายๆ คนก็ไม่ได้รู้จัก Java จริงๆ แต่เกลียด heavy tools ของ Java
  • เห็นความสำคัญเรื่องการสื่อสารมากขึ้น และได้สังเกตตัวอย่างของคนที่สื่อสารดีๆ พยายามจะทำตาม การสื่อสารไม่ใช่แค่ทำอย่างไรให้คนฟังเราเข้าใจแล้ว แต่ไปถึงระดับทำอย่างไรให้คนฟังเราหรืออยากฟังเรา
  • รู้สึกว่าตัวเองความรู้ด้านเทคนิคสูงกว่ามาตรฐานโปรแกรมเมอร์ทั่วไปแล้ว แต่สิ่งที่ทำให้ value ของตัวเองยังไม่มากก็เรื่องการสื่อสารนี่แหละ
  • เลือกศึกษาและใช้เทคโนโลยีที่ mature กว่าสมัยก่อน สงสัยเพราะว่าแก่แล้ว
  • เหมือนจะสูญเสีย skill การ config Unix/Linux ไป ไม่ค่อยได้ใช้เลย
  • มีเวลาว่างทำอะไร เล่นอยู่พอสมควร Thai Blood DonationClear PollutionCloundClonegit_story
  • การจะเป็นคนพัฒนาโปรดัก ต้องหัดเป็นคนเรื่องมาก ต้องรู้จักประเมินว่าอะไรดี ไม่ดี ไม่ใช่อะไรก็โอเคไปหมด
  • ไม่เริ่มทำ feature อะไรที่ยังไม่เข้าใจความต้องการจริงๆ
  • ไม่ทำ feature อะไรที่ใหญ่ๆ ในครั้งเดียว ค่อยๆ แตกเป็นงานย่อยๆ
  • แตกงานแบบ vertical(end-to-end) พยายามอย่าแตกงานแบบ horizontal(layer)
Advertisements

8 thoughts on “หนึ่งปีในสิงคโปร์ ภาคโปรแกรมเมอร์

  1. hiapay

    สิ่งที่ขาดจากเด็กจบใหม่เก่งๆ คือ การ focus, การมองปัญหาที่ภาพรวม << ไม่มองโฟกัส ไม่มองภาพกว้าง… แล้วมันมองอะไรวะ!?

    Reply
  2. Maythee Anegboonlap

    “การจะเป็นคนพัฒนาโปรดัก ต้องหัดเป็นคนเรื่องมาก ต้องรู้จักประเมินว่าอะไรดี ไม่ดี ไม่ใช่อะไรก็โอเคไปหมด” ให้เรื่องมากทุกคนนี่ product ไม่ออกแฮะ จะเรื่องมากต้องไม่เรื่องมากระดับ howto ด้วยแต่ต้องเรื่องมากในระดับ requirement ต้องรู้ว่า requirement นี้จริงๆ แล้วทำเพื่ออะไร ทำทำไม ทำยากง่ายแค่ไหน ทำได้ไหม ที่เจอมาได้ requirement แล้วไปเรื่องมากตบตีว่าจะทำท่านี้ ท่านั้นโดยไม่ดูว่ามันตรงกับ requirement หรือยอมเถียงกันตั้งแต่ requirement เสมอ

    Reply
  3. Nuttanart Pornprasitsakul

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

    Reply
  4. Pingback: ย้อนกลับไปมองความคิดในเรื่องการพัฒนาซอฟแวร์ | Tap

  5. Golf Wanlop

    ผมเพิ่งไปเที่ยวสิงคโปร์กลับมา ผมเกิดแรงบรรดาลใจอยากไปทำงานที่สิงคโปร์เป็น Web Developer หรือ App Developer ก็ได้ครับ อยากได้คำแนะนำว่าต้องเตรียมตัวหรือเอกสารอย่างไรบ้าง

    Reply
    1. Tap Post author

      ถ้าคิดว่าตัวเองพร้อมเรื่องความรู้ด้าน technical และการสื่อสารภาษาอังกฤษแล้วก็ลอง google หาแล้วสมัครดูเลยครับ ต้องหาบริษัทที่เค้ายินดีจัดการเรื่อง work permit ให้เรา ซึ่งเค้าก็จะบอกในประกาศรับว่าจะรับเฉพาะคนที่อยู่ที่น่ันหรือว่ารับจากต่างประเทศด้วย ถ้าเค้ารับเราเข้าทำงานเค้าก็จะขอเอกสารจากเราไปทำเรื่องให้ครับ ไว้ได้แล้วค่อยมาดูเรื่องเอกสารไม่ยากครับ สำคัญหน่อยที่ต้องจบป.ตรีก่อน

      แค่ไหนที่เรียกว่าพร้อม?
      ด้าน technical จริงๆ เราไม่ต้องเก่งมาก เอาเป็นว่าถ้าเคยพัฒนาเว็บหรือทำ app มาแล้ว โดยรู้สึกว่าตัวเองเข้าใจ คิดว่าตัวเองมีความรู้พอที่จะทำได้ตั้งแต่เริ่ม project จนเสร็จ ก็น่าจะพอแล้วครับ
      ด้านภาษาอังกฤษ เอาแค่มั่นใจพอที่จะสัมภาษณ์เป็นภาษาอังกฤษก็พอ ถ้าคุยกับเค้ารู้เรื่องก็พอแล้วครับ

      Reply
  6. WorkingGuy

    rate เงินเดือน web programmer ที่สิงคโปรประมาณกี่บาทครับ

    Reply
    1. Tap Post author

      ผมกลับมา 2 ปีแล้ว ตอบได้เท่าที่ผมรู้นะครับ
      มันก็ range กว้างเหมือนที่ไทยนี่หละครับ ไม่สามารถระบุได้ แต่ถ้าเป็นชาวต่างชาติเข้าไปฐานเงินเดือนต้องสูงนิดนึง(แปลว่าต้องเก่งด้วย) ไม่อย่างนั้นจะขอ EP (Work permit) ไม่ได้ ถ้าเป็นค่าเงินวันนี้ก็คงต้อง 90,000 บาทขึ้นไปครับ

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s