จากใจ developer คนนึง ที่เติบโตมาด้วยการเป็น programmer จากความตั้งใจ ใฝ่ศึกษาเองล้วนๆ เพราะว่าไม่ได้จบมาตรงสาย แต่ตอนนี้ไปไกล เป็น GM ในด้าน IT ไปแล้ว จะมาเล่าให้ฟังว่าถ้าอยากเป็น developer มือทอง จะต้องมีสิ่งใดติดตัวบ้าง
ทำงานได้หลายภาษา
developer ที่ดี จะต้องไม่ยึดติดอยู่แค่ภาษาเดียว ไม่ว่ากัน ถ้าจะมีภาษาหนึ่งที่เขียนเป็นหลัก แต่จะต้องเขียนภาษาอื่นๆที่ค่อนข้างแตกต่างจากที่เราเขียนประจำได้ด้วย ตัวอย่างเช่น ตอนนี้เราเขียน PHP ได้ แนะนำว่า ให้เขียนภาษา node.js ,ruby, python ให้ได้(เอาอันเดียวที่ดีๆไปเลยก็พอ ไม่ใช่เขียนอะไรได้เยอะไปหมดแต่ไม่ดีสักอย่าง) เพราะว่า PHP ไม่ได้เหมาะกับงานที่เป็นงาน backend สักเท่าไร จริงอยู่ว่ามันทำงานเป็น backend process ได้แต่ว่าไม่เหมาะ เนื่องจากตัวอื่นเหมาะกว่า ไม่ว่าจะเป็น python ที่ทำงานได้เร็วกว่า หรือว่า node.js ที่ทำงานแตกต่างจาก PHP แทบจะสิ้นเชิงเลยทีเดียว (และเร็วกว่ามากอีกด้วย)
สาเหตุ เพราะชีวิตจริง โจทย์ที่ developer จะต้องเจอ ไม่ได้มีแต่งานแบบเดิมๆตลอด และเมื่อเราเจอโจทย์แปลก นั่นแหล่ะคือความท้าทายที่รอให้เราเข้าไปแก้ปัญหา ซึ่งมันจะต้องใช้เทคนิควิธีการที่แตกต่างหลากหลายกันไป ตามแต่ละโจทย์ที่เราได้รับ ลองคิดถึง เราเป็นนักรบในสนามรบ ที่ปกติเราจะใช้ดาบเข้าประชิดตัวฟันคู่ต่อสู้ตลอด แต่ถ้าเราไปเจอศัตรูที่เค้าอยู่คนละฟากของหน้าผาล่ะ เราจะทำอย่างไร เรามีปืนเป็นอีกอาวุธหนึ่ง ก็ไม่เสียหายอะไรนะ เสียเวลาเรียนรู้การใช้งานมันหน่อย แต่แน่นอนว่า ถ้าระยะประชิดตัวปืนย่อมไม่สู้ซามูไรที่มีฝีกมือเข้าประชิดตัวแน่นอน
ช่างสังเกตุ
การสังเกตุ เป็นทักษะหนึ่งที่ช่วยเหลืองาน developer ได้ดีมาก เพราะว่ามันช่วยลดเวลา “งม” ไปได้ค่อนข้างมากทีเดียว โดยเฉพาะเวลาที่ program มี Bug ต้องอาศัยการสังเกตุ ที่จะช่วย solve bug ได้เร็ว ยิ่งถ้าเราชอบสังเกตุในรายละเอียดได้ดีเท่าไร งานที่เราทำ bug ก็จะน้อยลงเท่านั้น หรือ เมื่อเจอ bug ก็แก้ไขได้อย่างรวดเร็วมากๆ
จริงๆแล้ว พฤติกรรมช่างสังเกตุ เป็นคุณสมบัติพื้นฐานของนักวิทยาศาสตร์ ซึ่งเป็น sense หนึ่งของ developer นี่แหล่ะ
คิดนอกกรอบ
ความคิดนอกกรอบจะช่วยให้เราแก้โจทยที่เราไม่เคยเจอได้ในเวลารวดเร็ว หรือว่า จะช่วยแก้ไขปัญหาบางอย่างให้ง่ายกว่าที่คนอื่นคิดมาก ตัวอย่างจริงที่เจอบ่อยมากๆ เวลา user ให้เราทำอะไรสักอย่างหนึ่ง เช่น ขอให้สร้างระบบ เพื่อป้อนข้อมูลจุดนี้ แล้วจะต้องคำนวนอย่างนี้ เพื่อเอาไปแสดงตรงนั้น แต่ว่า งานในตอนนั้นเราล้นมือมากเลย แต่เราก็อยากตอบโจทย์ในสิ่งที่ user อยากได้ ดังนั้นแล้วเราก็ต้องคิดหาทางออกเพื่อให้ทุกคน win ทั้งเรา และ user ดังนั้น คำตอบก็คือ ให้ user คำนวนมือแล้วป้อนเองก่อนได้มั้ย เขียนให้ระบบคำนวนไม่ทัน แล้วเมื่อเรามีเวลาว่างในอาทิตย์หน้าจะเขียนตัวคำนวนให้
เหล่านี้ ก็ต้องอาศัยความคิดนอกกรอบ หาลูกล่อลูกชน พลิกแพลงตามสถานการณ์ตลอดเวลาไปด้วย
ศึกษาเรื่องพื้นฐานให้เข้มข้น
หากพูดให้เข้าใจง่ายๆคือ developer ก็เหมือนคนสร้าง condo นั่นแหล่ะ ดังนั้นถ้าเราไม่สร้างฐานรากให้ดี ไม่ตอกเสาเข็มให้แน่นหนาพอ ตึกที่เรากำลังสร้างก็อาจจะสร้างชั้นสูงๆไม่ได้ หรือว่าอาจจะถล่มลงมาได้ในท้ายที่สุด
เรื่องพื้นฐานเป็นเรื่องที่สำคัญ แต่ก็ไม่ได้หมายความว่า ต้องศึกษาแน่นซะจนไปสอบ cert ให้ได้ก่อน ถึงจะเริ่มงานได้ แต่เชื่อผมอย่างหนึ่งครับ ถ้าพื้นฐานเราแน่นหนาดีพอแล้ว เวลาที่เราจะต่อยอดจะไปต่อได้เร็วมากๆ
พร้อมปรับตัว
ทุกๆวันที่โลกเราหมุนไป ไม่มีอะไรที่เหมือนเดิมตลอดไป ทุกสิ่งอย่างที่เราเห็นว่ามั่นคงไม่เปลี่ยนแปลงเช่นตึกสูงๆ แท่งปูนหนาๆ มันก็มีความเปลี่ยนแปลงไปในทุกๆวัน เพียงแต่มากหรือน้อยจนเราสังเกตุเห็นหรือเปล่าเท่านั้นเอง ดังนั้นตัวเราเองก็ต้องพร้อมที่จะปรับเปลี่ยนตัวเองตลอดเวลา ให้รู้เอาไว้ว่า ความรู้ที่เราใช้ได้ดีวันนี้ ไม่เกินเดือน มันก็เก่าแล้ว ไม่เกินปีก็ล้าสมัยแล้ว ถ้าเราไม่ปรับตัวตามไปเรียนรู้สิ่งใหม่แล้วล่ะก็ เราก็จะล้าสมัยอยู่มากเลยทีเดียว
ภาษาอังกฤษสำคัญจริงๆนะ
อันนี้ผม confirm เลย การจะเติบโตต่อในสายงาน ถ้าภาษาอังกฤษไม่ได้เนี่ย โตไปไกลๆได้ยากแล้ว เพราะว่าชีวิตจริงเราได้เจอชาวต่างชาติเรื่อยๆ ยิ่งตำแหน่งสูงยิ่งต้องเจอเยอะขึ้นเรื่อยๆ บางคนไปถึงจุดหนึ่งก็ต้องทำงานกับคนต่างชาติเลยก็เป็นได้
เรื่องนี้ผมเองเมื่อก่อนก็มีปัญหามากๆ ชนิดที่ว่า ฟังไม่เข้าใจ พูดก็ไม่ได้ แต่ก็ไปเริ่มทำงานกับคนต่างชาติด้วยความที่กล้าเข้าว่า และไม่กลัวภาษาอังกฤษ ดังนั้นทำให้ได้ภาษาอังกฤษจากในช่วงเวลาการทำงานเพียงแค่ 4 เดือนเท่านั้นเอง ฟัง พูดได้เลย แม้ว่าจะไม่เป๊ะ และไม่ได้ทุกคำ แต่ว่า ก็เข้าใจและสื่อสารในเรื่องงานได้เลยครับ
ทั้งหมดนี้ จะช่วยให้คุณประสบความสำเร็จได้ในสายงาน developer ถ้าคุณอยากไปต่อให้ไกล ก็เอาสิ่งเหล่านี้ไปประยุกต์ใช้ดู แล้วสังเกตุผลเมื่อเวลาผ่านไป ก็จะพบได้ว่ามีอะไรเปลี่ยนไปมากพอสมควร(ในทางที่ดีขึ้น) เลยจริงๆ และก็อาจจะทำให้โอกาสดีๆเข้ามาด้วยเช่นกัน (ถ้าเราไม่ปฏิเสธมันนะ)