สรุป Lifelong Journey as a Software Engineer จากงาน Dev Mountain Tech Festival

Event Mar 21, 2022

งาน Dev Mountain Tech Festival เขามี speaker ที่เรียกได้ว่าชั้นนำของวงการเนอะ แล้วก็มีหลายๆ session น่าสนใจ หลายๆ session ก็ coding กันหนักหน่วงแล้ว เราก็เลยพามาสรุป session เบาๆกันบ้างเนอะ

session ที่เราจะมาสรุปกันในบล็อกนี้ ชื่อว่า Lifelong Journey as a Software Engineer ของคุณบอย วรายุทธ เลิศกัลยาณวัตร เจ้าของเพจ และ YouTube Channel PasaComputer นั่นเองงงงง~~~

เป็น session จากประสบการณ์ 10 ปี ว่ามีขั้นตอนเริ่มต้นยังไง ไปถึงไหน และผ่านอะไรมากบ้าง ระหว่างทางได้เรียนรู้อะไรบ้าง

สิ่งที่ไม่ใช่วัตถุประสงค์ของ session นี้

  • ไม่ได้มาเขียนโค้ดโชว์ หรือพูดถึงโค้ด วันนี้จะเน้นดูประสบการณ์ที่ได้จากการเป็น Software Developer
  • ไม่ได้ถูกคุยถึงความสำเร็จ เป็นการเน้นแชร์ประสบการณ์กันมากกว่า

Talk นี้พูดถึง

  • ประสบการณ์ทำงานที่ต่างประเทศ ว่ามีอะไรแตกต่างจากที่ไทยยังไง
  • วิธีการพัฒนาตัวเอง
  • การตั้งเป้าหมาย
  • คนฟังได้แรงบันดาลใจที่นำเอามาประยุกต์ใช้ได้

Background ประวัติของ speaker คร่าวๆ

จบ Software Engineer จากจุฬาลงกรณ์มหาวิทยาลัย ได้ทุนให้เปล่าเรียนต่อปริญญาโท Computer Science ที่ประเทศฝรั่งเศส ไปทำงานเป็น Softwate Development Engineer บริษัท Amazon ที่เยอรมัน และตอนนี้เป็น Software Engineer บริษัท Canvas ที่ออสเตรเลียจ้า

(แน่นอนสไลด์ใน session นี้นั้น ใช้ Canvas ทำแน่นอน ทางเราสัมผัสได้ อิอิ)

แต่สิ่งที่เห็นในเบื้องหน้านั้นดูสวยงาม แต่เบื้องหลังมีอะไรอีกมากมายที่คนภายนอกไม่เห็น ถ้าเปรียบกับภูเขานํ้าแข็ง เบื้องหน้าเป็นยอดภูเขานํ้าแข็ง ส่วนเบื้องหลังเป็นใต้ภูเขานํ้าแข็ง

ชีวิตในวัยประถมและมัธยม

เบื้องหลังจริงๆ คุณบอยเกิดมาในครอบครัวปานกลาง ในวัยประถมชอบเล่นเกมส์ Counter-Strike ที่ร้านเกมส์กับเพื่อนๆ เป็นเด็กที่ไม่ถนัดการเรียน มาโรงเรียนเน้นเล่นกับเพื่อน เลิกเรียนก็ไปเล่นเกมส์ที่ร้าน ตอนสอบเข้า ม.1 สอบเข้าหลายโรงเรียน แต่ไม่ติด เลยได้เรียนโรงเรียนตามสิทธิ์เขตแถวบ้าน เพราะทางบ้านไม่ได้มีฐานะที่จะส่งเรียนโรงเรียนเอกชนได้

เกมส์ Counter-Strike ในตำนาน
สิ่งที่เราทำไม่ได้ คือสิ่งที่เราไม่ได้ทำ

ตอนที่เรียนมัธยมมีคำพูดจากคุณครูคนนึง ช่วยฉุดคิด "สิ่งที่เราทำไม่ได้ คือสิ่งที่เราไม่ได้ทำ" ว่าเราตั้งใจทำมันจริงๆแล้วหรือยัง และเราทำได้แน่นอน

จากการชอบเล่นเกมส์ ชอบใช้คอม ชอบเล่าคอม ทำให้อยากเรียนคอม จึงตั้งใจเรียนในสองปีสุดท้าย (น่าจะช่วง ม.5 นะ) เพื่อให้สอบคณะด้านคอมติด มีการอ่านหนังสือทบทวน และไปเตะบอลกับเพื่อนน้อยลง ทำให้รู้ว่า เราเก่งกว่าที่เราคิดแน่นอน และเราสามารถทำหรือเป็นได้ทุกอย่างที่เราต้องการ

ชีวิตตอนเป็นนิสิต

การได้เกียรตินิยมมันไม่ง่าย
แต่ผมเชื่อว่ามันไม่เกินความสามารถของคุณ

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

มีวันนึงอาจารย์พูดในคลาสว่า "การได้เกียรตินิยมมันไม่ง่าย แต่ผมเชื่อว่ามันไม่เกินความสามารถของคุณ" ทำให้ฉุดคิด ผลการเรียนในปี 1 ของคุณบอย เขาบอกว่าเกาะกลุ่มท้าย ที่จุฬาฯการที่ได้ C มาถือว่าเกาะกลุ่มท้ายแล้ว ;__;

และคุณบอยอยากไปเรียนต่อต่างประเทศ แล้วทุนต่างประเทศเขา require อะไรบ้างนะ?

  • เกียรตินิยมอันดับ 1 : ตั้งใจเรียน
  • ภาษาอังกฤษ : ไปเรียนเพิ่ม → ไม่มีเงิน → ทำงาน part-time สอนพิเศษภาษา C, สอนเขียนโปรแกรม, ทำ freelance เขียนเว็บง่อยๆ → ได้เรียนภาษา → ตั้งใจเรียนภาษา → เรียนด้วยตัวเอง → ฟังไฟล์ภาษาอังกฤษระหว่างเดินทางไปกลับบ้านและมหาวิทยาลัย เนื่องจากใช้เวลาเดินทาง 1 - 1ชั่วโมงครึ่ง จากที่เคยฟังไม่รู้เรื่องก็ฟังรู้เรื่องมากขึ้น

แล้วก็เริ่มสอบชิงทุน สมัครทุนไปเยอะมาก มีติดต่อกลับมา 3-4 ทุน และได้ทุนอันเดียว คืออันที่ไปเรียนที่ฝรั่งเศส

สิ่งที่ได้จากเรื่องนี้ คือ

  • มีเป้าหมาย = มีเข็มทิศ ทำให้เราไม่หลงทาง
  • set เป้าหมายให้ใหญ่ ถ้าเราไปไม่ถึง 100% เราก็จะประสบความสำเร็จในระดับหนึ่ง เช่น เราทำได้ 80% ล้าว
  • เป้าหมายล้วนแต่ใช้เวลา ไม่ใช่ว่าทำแล้วได้เลย ดังนั้นจะต้องมีการวางแผน มีความเชื่อว่าเราทำได้ และมีระเบียบวินัย ทำให้เราประสบความสำเร็จได้

ชีวิตตอนเรียนต่อต่างประเทศ

เมื่อได้ทุนไปที่เรียนที่ฝรั่งเศสนั้น ก็ไม่ได้โรยด้วยกลีบกุหลาบ เพราะเรื่องกำแพงภาษา คนที่ได้ไปเรียนที่ฝรั่งเศสเขาจะสอน intensive course ประมาณ 2 เดือนให้ก่อน หลังจากนั้นพอเข้าคลาสเรียนจริงๆเขาสอนภาษาฝรั่งเศส จึงทำให้เรียนไม่เข้าใจ ภาษาอังกฤษก็ไม่ค่อยคล่อง หาเพื่อนไม่ได้ กลับมาที่หอก็ค่อยๆแปลทีละตัว จากภาษาฝรั่งเศสเป็นภาษาอังกฤษ วันละ 2-3 ชั่วโมง อ่านหนังสือเขียนโปรแกรมตอน 4 ทุ่ม อ่านก่อนนอน ทำอยู่ปีครึ่งถึงสองปี ทำให้เริ่มพูดได้มากขึ้น และสอบภาษาฝรั่งเศสได้ level ที่สามารถใช้ภาษาในชีวิตประจำวันได้

ได้ F ครั้งแรกในชีวิต มีการ set goal ในการอ่านหนังสือเยอะมาก ทำให้เอาตัวรอดจนจบได้

สิ่งที่ได้จากเรื่องนี้

  • ถ้าเราท้อและเหนื่อย ถือว่าเรามาถูกทางแล้ว เป็นการก้าวข้าม comfort zone ของตัวเองออกไปเรื่อยๆ
  • อย่ายอมแพ้ เราตั้งใจทำมันจริงๆแล้วหรือยัง

ชีวิตหลังเรียนจบปริญญาโท

หลังจากเรียนจบ กลับไทย อยากสร้าง start-up เจ๋งๆ พอเริ่มเขียนเว็บจริงๆ ปรากฏว่าทำไม่ได้เลย ไม่รู้ว่าเริ่มต้นจากตรงไหน เลยไปดูคนอื่น ซึ่งเขาก็เก่งกว่าเรา เขาทำโปรเจกบน Github กัน ทำให้เกิดคำถามว่า เอ๊ะเราทำอะไรอยู่? เลยทำให้เริ่มอ่านใหม่ เรียนใหม่ทั้งหมด ใช้เวลานานมาก

ทางเราเข้าใจวาสน่าจะเป็นใน iTune U ซึ่งมีคอร์สให้เรียนเยอะมาก เรียนฟรี คอร์สในสไลด์ชื่อว่า Advanced Topics in Web Development - Fall 2011

เริ่มตอบคำถามใน stackoverflow ในตอนนั้นได้พันกว่าคะแนนก็ดีใจแล้ว ถึงแม้คะแนนจะไม่ได้มากมายก็ตาม แต่ก็เป็นกำลังใจที่ดี

ทำโปรเจก open source หรือโปรเจกสนุกๆ เข้าใจง่าย ลง Github ฝึกฝนตัวเองไปเรื่อยๆเป็นปีๆจนเริ่ม get

ไปส่อง github ของเขาได้ที่ https://github.com/lvarayut/

สิ่งที่ได้เรียนรู้

  • เราไม่ควรเปรียบเทียบตัวเองกับคนอื่น เพราะเราต่างมี background ที่ไม่เหมือนกัน เราเห็นแต่เบื้องหน้าของเขา ทำให้เราท้อแท้ และซึมเศร้าเสมอ
  • ไม่มีทางลัดในชีวิต ไม่มีเรียนวันนี้ เก่งพรุ่งนี้ ใช้เวลาเป็นปีๆไม่แปลก
  • ได้เรียนรู้จากความล้มเหลวหลายๆอย่าง เป็นเรื่องปกติที่สอนเราในชีวิต

คำถามกับทางบ้าน รอบแรก

  • จัดการความท้อแท้หรือเวลาเจอเรื่องไม่ดีเพื่อเดินต่ออย่างไรครับ? : ไม่เคยมีใครที่ไม่ท้อ ทุกคนมีช่วง burn-out และ down อยู่สักพักนึง ให้นึกถึงเป้าหมายที่เราอยากทำจริงๆ แล้วหาวิธีทำให้ได้ แปะกระดาษที่เขียนเป้าหมายในที่ที่เรามองเห็น ทำให้ดึงตัวเองกลับมาได้
  • จัดการกับปัญหาไม่ Focus ยังไงได้บ้างครับ เพราะอยากทำ และเป็นหลายอย่างมากจน Overload ไปหมด : ให้เริ่มเรียนจากที่เราสนุกก่อน พอเราสนุกเราเรียนมันได้ เรียนให้เข้าใจก่อนทีละเรื่อง พอจับจุดได้ ก็จะขยายได้

ทำงานต่างประเทศยังไงดี?

พอเริ่มเขียนแอพได้ อยากหาประสบการณ์เพิ่ม ซึ่งหมด Visa หางานไปแล้ว ( Visa หางานจะมีให้ 1 ปีหลังเรียนจบแล้ว)

มี 5 ขั้นตอนด้วยกัน ใช้เวลา 6 เดือนในการเตรียมตัว เป็นเรื่องปกติ

1)  Build a good profile

สร้าง profile ให้ดี

  • ทำโปรเจกบน Github ว่าเราถนัดทาง programming อะไรบ้าง
  • update profile ของเราใน LinkedIn ซึ่งทำให้ HR บริษัทต่างๆ หรือ recruiter เข้ามาเยอะกว่าส่ง email เข้ามาหาเราโดยตรง

2) Write a good resume

มี resume ที่ดีย์

  • ความยาวของ resume มีความยาวหน้าเดียวพอ
  • ไม่ใส่ทุกอย่างที่เราทำ ให้ใส่อันที่น่าสนใจ
  • พยายาม show ผลลัพธ์ของงานที่เราทำ ประมาณว่า เราทำเว็บนี้เพื่ออะไร และได้อะไรกลับมา เช่น ทำ web components นี้เพื่อ support React และ Angular ที่ถูกนำมาใช้โดย AWS มากกว่า 100 ทีม ในการ develop  AWS Consoles เช่น EC2, Lambda และ S3

3) Brush up data structures and algorithms

แน่นอนว่าที่เรียนไป ลืมหมดแล้ว อันนี้ speaker ก็กล่าวประมาณนี้แหละ เป็นกันหมดทุกคน บริษัทในไทยไม่ได้เน้นถามเรื่องพวกนี้มาก ส่วนบริษัทใหญ่ๆอย่าง Amazon, Faecbook, Google เน้นเรื่องพวกนี้

แล้วจะทำยังไงดีนะ?

  • ทบทวนหนังสือ Cracking the Coding Interview อ่านพวกเรื่อง hash table, linklist อะไรต่างๆเหล่านี้
  • เว็บ leetcode ฝึกทำโจทย์ algorithm และมี community มาแลกเปลี่ยนคำตอบกัน ทำไม่ได้เป็นเรื่องปกติ ให้ฝึกไปเรื่อยๆ
  • จดสรุป เพื่อกลับมาอ่าน และทบทวนเองได้

4) Learn about system design

เราจะออกแบบระบบใหญ่ๆยังไงบ้าง เช่น ออกแบบ Google Search ยังไง คำตอบจะต้อบครอบคลุมทุกภาคส่วน ทั้ง front-end back-end database ต่างๆ

แนะนำหนังสือ System Design Interview จ้า

5) Prepare for both behavioral and technical interviews

เตรียมการสัมภาษณ์งานยังไง นอกจากอ่าน 3 กับ 4 ให้แม่นแล้ว ยังมีคำถามเกี่ยวกับวัฒนธรรมองค์กรว่าเราเข้ากับเขาได้ไหมด้วย

  • วิธีหางาน ให้ filter บริษัทที่ provide Visa ให้เราก่อน ดังนั้นให้เลือกบริษัทใหญ่ ที่เขา support ตรงนี้ให้เราอยู่แล้ว
  • การสัมภาษณ์งาน สมัคร 100 ที่ถึงจะได้ 1 ที่ เป็นเรื่องปกติที่สัมภาษณ์ไม่ได้ บางคนอาจจะสัมภาษณ์หลายครั้งจนได้ทำงานที่นั้นๆ เช่น สมัครไป 100 ที่ ติดต่อกลับมาสัก 20 ที่ ได้ offer งานจริง 3-4 ที่

สิ่งที่ได้เรียนรู้

  • การสัมภาษณ์งานเป็น skill
  • อย่ากลัวว่ามันจะ fail

เมื่อได้ทำงานที่ต่างประเทศแล้ว

เข้ามาที่ amazon เจอแต่คนเก่งๆ ทำงานกันเร็วมาก ใครๆก็เขียนโค้ดได้ และมีสิ่งอื่นที่ไปตัดกัน คือ softskill ว่าเราทำงานกับคนอื่นยังไง คุยกับภาคส่วนต่างๆยังไง เช่น คุยกับ designer, เก็บ feedback กับ user ดังนั้นการ communication เป็นเรื่องสำคัญ

มีคำพูดนึงว่าถ้าเรา fail ในแผนของเรา เราได้แพลนที่จะ fail แล้ว

สิ่งที่ได้เรียนรู้

  • soft skill เป็นเรื่องสำคัญมากกกก
  • ทำตัวเองให้เก่งขึ้น 1% ในทุกๆวัน

Key Takeaway

  • ทุกคนเก่งกว่าที่ตัวเองคิด เราทำได้เสมอ
  • set เป้าหมายของเราให้ขัดเจน
  • ทำงานออกนอก comfort zone เสมอ
  • อย่าเปรียบเทียบตัวเองกับคนอื่น ทำให้รู้สึก failed แลพ down
  • ชีวิตไม่มี shortcut เป็นเรื่องปกติที่ใช้เวลา
  • การสัมภาษณ์งานเป็น skill ให้ฝึกฝนตัวเองอยู่เสมอ
  • soft skill สำคัญมาก ในการทำงานร่วมกันกับคนอื่น
  • เรียนรู้อยู่เสมอ ทำตัวเองให้เก่งขึ้น 1% ในทุกๆวัน

สุดท้าย

Q & A

  • การจัดการเวลา : ใช้เวลาวันละ 30 นาที - 1 ชั่วโมงก่อนนอน
  • การวางแผน : ตั้ง goal ติดไว้ที่ผนัง list ออกมาเป็นแผน ทำมัน 1 ชั่วโมง/วัน แบ่งเวลางานกับเรื่องส่วนตัวออกจากกัน พักบ้าง ให้รางวัลกับตัวเอง เช่นเราทำเรื่องนี้ เราก็ดูซีรีย์เป็นรางวัลให้กับตัวเองได้ เย้ๆ

session นี้คนเข้ามาฟังเยอะมากๆ ส่วนตัว speaker เขาเพิ่งมาอยู่ออสเตรเลียประมาณเดือนนึงแล้ว สัญญาณ internet อาจจะมีติดขัดเล็กน้อย แต่ทุกคนตั้งใจฟังกันมากๆเลย

ส่วน content ของ PasaComputer ที่หายไปนานนั้น เดี๋ยวจะมี content ใหม่ออกมาถ้าเวลาเข้าที่กว่านี้ รอติดตามได้เลยยยยยย~~


session อื่นๆในงาน Dev Mountain Tech Festival

.

session ในส่วนของ blockchain จ้า

สรุป session สาย blockchain แบบมัดรวม จากงาน Dev Mountain Tech Festival
งาน Dev Mountain Tech Festival เขามี speaker ที่เรียกได้ว่าชั้นนำของวงการเนอะ แล้วก็มีหลายๆ session น่าสนใจ เราก็เลยเลือกไปฟังฝั่ง Blockchain ว่ามีอะไรบ้างเนอะ ก็เลยสรุปมาในบล็อกนี้

สามารถ support ค่ากาแฟเจ้าของบล็อกได้ที่ปุ่มแดงส้มสุดน่ารักที่มุมซ้ายล่าง หรือกดปุ่มตรงนี้ก็ได้จ้า

Buy Me a Coffee at ko-fi.com

กด follow Twitter เพื่อได้รับข่าวสารก่อนใคร เช่น สปอย content ใหม่ หรือสรุป content เร็วๆในนี้จ้า

ติดตามข่าวสารและบทความใหม่ๆได้ที่

อย่าลืมกด like กด share บทความกันด้วยนะคะ :)

Posted by MikkiPastel on Sunday, 10 December 2017

Subscribe ช่อง YouTube ของเราได้ที่

mikkicoding
Android Developer & Content Creator
https://www.youtube.com/channel/UCtGbMSe4i7NJiKQ271Fezcg

download แอพอ่านบล็อกใหม่ของเราได้ที่นี่

MikkiPastel - Apps on Google Play
First application from “MikkiPastel” on play store beta feature- read blog from https://www.mikkipastel.com by this application- read blog content by chrome custom tab- update or refresh new content by pull to refresh- share content to social network
https://play.google.com/store/apps/details?id=com.mikkipastel.blog

Tags

Minseo Chayabanjonglerd

I am a full-time Android Developer and part-time contributor with developer community and web3 world, who believe people have hard skills and soft skills to up-skill to da moon.