#1 tech recruiter in thailand

สิ่งที่ได้เรียนรู้ หลังจากเป็น Software Dev. มา 9 เดือน

See the original English version of this article here

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

1. ถามคำถาม-หาข้อมูลแล้ว จะได้คำตอบ

ก่อนจะขอความช่วยเหลือจากคนอื่น อยากให้ลองดูที่ Check-list เหล่านี้ก่อน

เราเคยถามคำถามนี้ไปหรือยัง ถ้าเคยแล้ว จดคำตอบไว้ที่ไหนหรือเปล่า / คำถามนี้ เราหาเองได้จาก Google ไหม
อะไรคือสาเหตุข้อผิดพลาดที่แท้จริง หรือเราเคยเจอสิ่งนี้มาก่อนไหม
เราเข้าใจคำถาม ที่กำลังหาคำตอบอยู่ไหม (เพราะจะได้แน่ใจว่า คำตอบนั้นมันใช่จริงๆ)

จากนั้น ลองพยายามแก้ปัญหา/ค้นหาข้อมูลด้วยตัวเองก่อน ถ้ามีข้อมูลประกอบ จะช่วยให้คนอื่นตอบคำถามได้สะดวกและง่ายขึ้น ยิ่งถาม-ตอบผ่านการ Chat ก็จะดีมาก เพราะมันสะดวกกว่า การที่เราแก้ปัญหาด้วยตัวเองก่อน 90% แล้วถามคนอื่น 10% แบบนี้ Senior Dev. น่าจะยินดีช่วยมากกว่า เพราะถือว่าเราพยายามหาด้วยตัวเองมาก่อนแล้ว

2. หลีกเลี่ยงการทำผิดซ้ำๆ และถามคำถามเดิมซ้ำๆ

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

3. ตรวจทานงานของคุณอยู่เสมอ

ลองดู Code ของคุณเอง แล้วตั้งคำถามกับตัวเองด้วยคำถามเหล่านี้

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

การตรวจทาน Code แล้วแก้ไข Bug ซะก่อน ถือเป็นการช่วยบริษัทประหยัดทั้งเวลาและค่าใช้จ่าย และหากมีการแก้ไข ก็ให้ระวังว่ามันจะไปกระทบกับส่วนใดหรือไม่

4. ไม่มีเวทมนตร์ในการเขียน Code

ดูว่า Code ของเรามันดีสำหรับเราแล้วหรือยัง ถ้าคุณไม่เข้าใจวิธีการทำงานของมัน ก็ใช้เวลาในการหาข้อมูลซะ ใน Log stuff, Break stuff หรือดูที่ Document ของ Function และ Pattern ที่ถูกใช้งาน

5. คุณจะ Debug ได้ดีขึ้น เมื่อทำมันบ่อยๆ

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

6. เข้าใจในเรื่องของ Data

สัดส่วนใหญ่ๆ ของการพัฒนา Software เกี่ยวข้องกับการจัดการ Data เพื่อให้เป็นรูปแบบที่ User สามารถเข้าไปดำเนินการใดๆ กับ Data นั้นได้ ควรรู้ว่า Data Flow ของ Application เป็นอย่างไร มาจากที่ไหน แล้วมันจะไปไหนต่อ

7. แยกปัญหาออกมา แล้วนำไป Integrate กับสิ่งที่ทำอยู่

เมื่อเขาคิดไม่ออกว่าอะไรที่ทำให้เกิดปัญหา เขาจะสร้าง version จำลองง่ายๆ ของสิ่งที่ทำอยู่ เมื่อแน่ใจว่ามันทำงานได้ จึงนำมา Integrate เข้ากับ Environment ของสิ่งที่ Develop อยู่ มันจะทำให้ง่ายต่อการทำงานและหาสาเหตุของปัญหาเจอ

8. นึกถึงฟังก์ชั่นการทำงาน

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

9. ยิ้มให้กับปัญหาที่เจอ

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

10. คิดในแง่บวกต่อคำวิจารณ์

เพื่อนร่วมทีมของคุณต้องการให้คุณทำสิ่งที่ดีกว่าเดิม Senior Dev. ย่อมต้องการให้คุณเป็น Dev. ที่ Strong แนะนำให้คุณปฏิบัติตามคำแนะนำของพวกเขา แม้ว่าคุณอาจจะไม่เข้าใจในตอนแรกว่าทำไมพวกเขาบอกให้คุณทำอย่างนั้นอย่างนี้ แต่คุณจะเข้าใจในสักวัน

11. ไม่ต้องรีบร้อน(เกินไป)

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

12. ศึกษาเรียนรู้สิ่งที่อยู่นอกเหนืองานที่ทำ

ทุกวันนี้ Benjamin เองก็ยังต้องการเรียนรู้สิ่งต่างๆ นอกเหนือจากงานที่ทำ เช่น ศึกษา Python, สร้าง Bot หรือ ทำ Personal Project เป็นต้น มีการ Track ว่าตนเองทำถึงไหนของสิ่งที่ Commit ในเดือนนั้นๆ และการทำตามเป้าที่ตั้งไว้แต่ละเดือน มันช่วยให้เขาเรียนรู้อยู่ตลอดเวลา

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 25 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source:  https://freecodecamp.org/

en