#1 tech recruiter in thailand

4 ลักษณะ สู่ความสำเร็จในฐานะ Software Engineer ใน FAANG

See the original English version of this article here

เมื่อคุณได้รับข้อเสนอจากบริษัท Tech อันดับต้น ๆ ของโลก หลายคนอาจกังวลว่า เราจะสามารถทำตามความคาดหวังของพวกเขา สร้างผลงาน และเก่งมากพอที่จะประสบความสำเร็จหรือไม่? และบทความนี้จะคำแนะนำเกี่ยวกับ 4 ลักษณะ สู่ความสำเร็จในฐานะ Software Engineer ในบริษัท FAANG และช่วยให้คุณก้าวหน้าในสายอาชีพของคุณในบริษัทเหล่านั้น

หมายเหตุ: บริษัท FAANG ในบทความนี้หมายถึง Facebook, Amazon, Apple, Netflix และ Google

1. ทำความเข้าใจว่า คุณกำลังแก้ปัญหาอะไรอยู่

นี่เป็นสิ่งแรกที่คุณควรจะรู้และเข้าใจ เนื่องจากคุณจะไม่สามารถสร้างสรรค์ผลงานที่สำคัญได้ หากไม่เข้าใจปัญหาที่แท้จริง

คุณต้องเข้าใจว่าสิ่งที่คุณกำลังสร้างจะถูกนำมาใช้อย่างไร มันมักจะเป็นส่วนหนึ่งของภาพรวมที่ใหญ่กว่าเสมอ

ลองถามคำถามเหล่านี้ ก่อนที่คุณจะเขียน Code ขึ้นมาสักหนึ่งบรรทัด

เรากำลังพยายามสร้างอะไรอยู่
User ของ System นั้นคือใคร (เช่น เจ้าของ Service ที่จะโทรหาคุณ หรือลูกค้า)

นี่เป็นสิ่งสำคัญ เนื่องจากมันจะช่วยให้คุณสามารถตัดสินใจได้ว่า ปัญหาทางด้าน Technical ส่วนไหนที่เป็นปัญหาจริง ๆ และปัญหาใดที่ไม่เกี่ยวข้อง

ความเสี่ยงของประสิทธิภาพการทำงานที่แย่ลง จะเป็นปัญหาหรือไม่
คุณมี Bug-for-Bug Backwards Compatibility หรือไม่
ระบบจะเป็นอย่างไรหาก Dependency ลดลง
คุณจะยอมรับได้ไหม หากคุณสูญเสีย Traffic ไปส่วนหนึ่ง

คุณไม่ควรคาดเดาสิ่งเหล่านี้ สิ่งเหล่านี้ควรเป็นไปตามเหตุผลที่คุณกำลังสร้างขึ้น ไม่ว่าคุณกำลังสร้างอะไรก็ตาม

2. Focus

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

ใช้เทคโนโลยีที่เหมาะสมทั้งหมด ที่อยู่รอบ ๆ ตัวคุณ
พยายามปรับปรุง Code ให้ดีและใช้การได้อยู่เสมอ
พยายามแก้ไขปัญหาทั้งหมดที่มีอยู่
ลองพยายามคิดค้น Solutions อื่น ๆ ให้ดียิ่งขึ้นกว่าเดิม หากคุณไม่แน่ใจว่ามันสมเหตุสมผลจริง ๆ

ทำให้มันเป็นเป้าหมายสำคัญที่สุดของคุณ ในการทำสิ่งต่าง ๆ ให้สำเร็จ

3. สื่อสารให้ชัดเจน

ภายในเวลาไม่กี่สัปดาห์ที่คุณใช้ไปกับชิ้นงานใหม่ คุณจะกลายเป็นผู้เชี่ยวชาญในการแก้ปัญหาที่ซ่อนอยู่

Frontend Dependencies ส่วนใหญ่มักจะล้าสมัย และบางส่วนก็มีช่องโหว่ขนาดใหญ่ในด้านความปลอดภัย?

→ คุณจะเป็นคนที่ค้นพบมัน

Backend Architecture ที่เพิ่งเปิดตัวใหม่ จะมีผลกระทบในเรื่องประสิทธิภาพ เว้นแต่คุณจะทำการเปลี่ยนแปลงครั้งใหญ่?

→ คุณจะสังเกตเห็นมัน

มันเป็นหน้าที่ของคุณที่จะสื่อสารปัญหาเหล่านี้อย่างชัดเจนให้กับหัวหน้าหรือผู้บริหาร นั่นหมายถึง 2 สิ่ง ดังนี้

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

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

ดังนั้น เมื่อคุณพบกับปัญหาที่ไม่คาดคิด ขอให้ใช้เวลาเพื่อทำความเข้าใจกับมัน และสื่อสารให้มากขึ้น

ซึ่งรวมถึงการสื่อสารแบบความตรงไปตรงมาเกี่ยวกับ:

เมื่อคุณคิดว่า คุณทำผิดพลาด
เมื่อคุณมีปัญหาในการโน้มน้าวทีมอื่นเกี่ยวกับเรื่องใดเรื่องหนึ่ง
เมื่อคุณไม่สามารถแก้ปัญหาบางอย่างได้

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

4. อย่าสร้างปัญหาเพิ่ม

เป้าหมายหลัก ของหัวหน้าและ Tech Lead ของคุณก็คือ ทำให้แน่ใจว่าทีมสามารถทำงานเสร็จลุล่วง เมื่อคุณมีความคิดเห็นที่ชัดเจนเกี่ยวกับสิ่งที่พวกเขาต้องการให้คุณทำ อย่างเช่น

“ไม่ ผมจะไม่ทำงานกับ System นี้ เพราะมันเป็น Java และผมคิดว่า Java นั้นไม่เหมาะกับ System นี้เอาซะเลย”

นั่นหมายถึง คุณกำลังสร้างปัญหาที่ไม่มีอยู่จริง และปัญหาเหล่านั้นจำเป็นต้องแก้ไข ความคิดเห็นของคุณมีค่าสำหรับหัวหน้าและ Tech Lead  อย่างแน่นอน เนื่องจากคุณต้องอยู่กับสิ่งนั้นมากกว่าพวกเขา แต่คุณควรอธิบายข้อกังวลของคุณและอธิบายสิ่ง/เหตุผลที่เกี่ยวข้อง ด้วยเสมอ

“ผมคิดว่าผมอาจจะทำงานมีประสิทธิภาพน้อยลงในเรื่องนี้ เพราะมันใช้ Java และผมก็ไม่ค่อยถนัด Java เท่าไหร่นัก”

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

พวกเขาอาจจะบอกประมาณว่า

“ตกลง ผมเข้าใจแล้ว และผมก็ทราบแล้วว่า คุณไม่ค่อยถนัดทางนี้ — แต่เรามีงาน Java จำนวนมากที่กำลังจะเกิดขึ้น และผมก็คิดว่ามันจะมีประสิทธิภาพมากกว่า ถ้าคุณช่วยทำให้เร็วขึ้น — คุณจะเริ่มทำได้เลยไหม หรือ คุณต้องการเวลาเผื่อล่วงหน้าในการทำ Codelabs และสิ่งต่าง ๆ หรือไม่”

สิ่งเหล่านี้คือส่วนสำคัญในการพัฒนาตนเองที่คุณควรทำ เพื่อให้เป็น Software Engineer  ที่เก่งขึ้น และปฏิบัติตามมาตรฐาน Software Engineer ของบริษัท FAANG

หากคุณเป็น Software Engineer และอยากทำงานร่วมกับบริษัทชื่อดังอันดับต้น ๆ ของประเทศไทย ที่มีการทำงานเป็นระบบ สามารถส่ง Resume ของคุณมาได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าโอกาสดี ๆ กำลังรอคุณอยู่

ISM เชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการมากว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย

Source: https://medium.com/

​​​

en