มีนักเรียนคนหนึ่งสนใจอยากเป็นนักพัฒนา และดูเหมือนว่ารอบตัวเขาจะมีนักพัฒนาอยู่แค่ผมคนเดียว ผมเองก็รู้สึกยินดีมากที่ได้เจอคนแบบนี้ เลยเผลอเล่าเรื่องดี ๆ มากมายให้ฟัง แต่ในอีกด้านหนึ่ง ก็อดรู้สึกกดดันไม่ได้เหมือนกันว่าคำพูดเหล่านั้นอาจส่งผลต่อเส้นทางอาชีพที่เขาจะวาดให้กับชีวิตของตัวเอง
ถ้าเป็นทุกคน จะเล่าอะไรให้เขาฟังกันบ้าง?
11 ความคิดเห็น
พอเห็นลูกชายของผมแล้ว ก็รู้สึกว่าเขามีแววทางคณิตศาสตร์อยู่บ้าง และชอบแก้ปัญหามากทีเดียว
"เธอนี่เป็นนักพัฒนาได้นะ"
ผมก็เลยบอกเขาแบบนั้น
ถ้าเห็นว่ามีแวว ก็จะบอกให้ลองทำดู
แต่ถ้าไม่เห็นแววแล้วยังบอกว่าอยากทำ ก็จะห้ามไว้ (เฉพาะกรณีที่เป็นคนใกล้ตัวเท่านั้น)
นี่คือหนึ่งในไม่กี่อาชีพที่ผมสามารถเปลี่ยนโลกและได้เห็นโลกที่เปลี่ยนไปนั้นด้วยตัวเอง
และในมุมของรายได้ตลอดชีวิต นักพัฒนาซอฟต์แวร์ก็เป็นอาชีพที่มีอนาคตสดใส
แถมยังได้ความสนุกไม่รู้จบและการเติมเต็มความอยากรู้อยากเห็นอีกด้วย
แน่นอนว่า มันไม่ง่ายและไม่ได้ดีไปหมดทุกอย่าง
ก็ยาก
พอๆ กับอาชีพอื่นๆ ครับ
ผมไม่ได้จบสายนี้โดยตรง และแทบไม่มีรุ่นพี่นักพัฒนาอยู่รอบตัวเลย แต่ในบรรดารุ่นน้องกลับมีเพื่อนหลายคนที่อยากทำงานสายพัฒนา ดังนั้นสิ่งที่ผมมักจะพูดถึงเสมอก็คือเรื่องนิสัยและความถนัดของแต่ละคนครับ
ยกตัวอย่างเช่น สำหรับศัลยแพทย์ ต่อให้ไม่เกี่ยวกับความฉลาดหรือทักษะมือมากแค่ไหน ความสามารถพื้นฐานที่สุดก็คือการรับมือกับการผ่าเนื้อสด ยกกระดูกและอวัยวะขึ้นมาได้
สำหรับนักพัฒนา ผมคิดว่าความสามารถพื้นฐานที่สุดก็น่าจะเป็นการรู้สึกสนุกกับการนิยามปัญหาและแก้ปัญหา ดังนั้นผมจึงมักจะถามก่อนเสมอว่าจนถึงตอนนี้เคยมีประสบการณ์ในการนิยามปัญหาและแก้ปัญหามาบ้างไหม ถ้าเป็นคนที่บอกว่าสิ่งนั้นสนุกมาก ผมก็จะบอกว่าลองเป็นนักพัฒนาดูครับ 555
สมมติว่าผมต้องไปสอนในชั้นเรียนที่ผู้ปกครองมีส่วนร่วมของลูกสาว ผมเคยคิดไว้แบบนี้ครับ
ภาษาการเขียนโปรแกรม
สิ่งสำคัญตรงนี้ไม่ใช่การเขียนโปรแกรม แต่คือภาษา ภาษาอังกฤษเป็นภาษาสำหรับสื่อสารกับคน ส่วนภาษาการเขียนโปรแกรมเป็นภาษาสำหรับสื่อสารกับคอมพิวเตอร์
ถ้าสื่อสารด้วยไวยากรณ์ที่ผิด คอมพิวเตอร์ก็จะเข้าใจผิด ทำงานผิดพลาด หรือเกิดข้อผิดพลาดได้เช่นกัน
เวลาสื่อสารกับคนอื่น สิ่งสำคัญไม่ใช่ว่าเป็นภาษาอังกฤษหรือภาษาเกาหลี แต่คือความสนใจและความใส่ใจที่มีต่ออีกฝ่าย คอมพิวเตอร์ก็เหมือนกัน เราต้องสนใจว่าคอมพิวเตอร์ทำงานอย่างไร และเข้าหามันด้วยวิธีที่สามารถสื่อสารกันได้ โชคดีที่คอมพิวเตอร์ ถ้าตั้งค่าเพียงเล็กน้อย ก็จะตอบสนองแม้เราเข้าหามันด้วยภาษาที่เราอยากใช้
นักพัฒนาคือนักเขียนที่สร้างภาษานี้ขึ้นมา หรือทำให้ภาษานี้สมบูรณ์และหลากหลายยิ่งขึ้น
ผมคิดว่าสิ่งสำคัญกว่า "อยากเป็นอะไร" คือ "อยากทำอะไร" การเป็นนักพัฒนาก็ดูเหมือนเป็นเครื่องมืออย่างหนึ่ง ดังนั้นผมน่าจะถามก่อนว่าเป้าหมายในชีวิตคืออะไร และอยากทำอะไรถึงอยากเป็นนักพัฒนา
แล้วไม่ว่าจะทำอะไร เพราะเราอยู่ในยุคที่เทคโนโลยีกำลังเปลี่ยนอนาคต การเป็นนักพัฒนาก็เป็นอาชีพที่ได้เปรียบพอสมควรในแง่ของการเข้าใจเทรนด์นั้นและอาศัยกระแสนี้ให้เป็นประโยชน์
แน่นอนว่าจะไม่พูดถึงความสุขอย่างมากเวลาสร้างอะไรบางอย่างที่เคลื่อนไหวไปตามที่เราคิดก็คงไม่ได้ 555
ในฐานะอาชีพ ผมคิดว่าเป็นงานที่มีอนาคตมากที่สุดงานหนึ่ง ความต้องการก็น่าจะยังมีต่อเนื่อง และก็มีโอกาสประสบความสำเร็จครั้งใหญ่ได้พอสมควรด้วย
แต่ก็เหมือนกับทุกอาชีพ ถ้าไม่เข้ากับความถนัดของตัวเองก็อาจจะทุกข์ได้ เมื่อเทียบกับงานทั่วไปที่ถ้าทำมานานอาจพอประคองตัวอยู่ได้ด้วยประสบการณ์สะสม งานนี้ดูเหมือนว่าไปอีกระยะหนึ่งจะยังมีของใหม่ออกมาตลอด และต้องเรียนรู้อย่างต่อเนื่อง (ในทางกลับกัน ก็คงเป็นเพราะแบบนั้นนี่แหละถึงยังมีความต้องการอยู่)
อย่าไปบอกก่อนที่เขาจะถาม แต่ถ้าถามก็ตอบให้ดีที่สุด
มันดูแทบไม่ต่างจากวิธีเลี้ยงลูกของผมเลย คือผมจะคุมตัวเองให้อยู่ในระดับที่คอยเป็นฐานพยุง/ประภาคารให้ได้อย่างมั่นคง เพราะกลัวว่าความกระตือรือร้นที่มากเกินไปของผมจะทำให้เขากลัวไปก่อน หรือไปบดบังมุมมองของนักเรียนคนนั้น
ผมคิดว่าเราควรโฟกัสที่การสร้างสภาพแวดล้อมให้พร้อม พอปูทางไว้แบบนั้นแล้ว เด็กคนนี้จะทำหรือไม่ทำ ก็ไม่ใช่ส่วนที่ผมควบคุมได้ และก็เป็นส่วนที่ไม่ควรอาจหาญไปควบคุมด้วย
ผมน่าจะถามก่อนว่าอยากทำไปทำไม
ดูเหมือนว่าท่านด้านบนจะพูดสิ่งดี ๆ กันไปหมดแล้ว เลยขอเขียนสิ่งที่ผมรู้สึกเป็นการส่วนตัวไว้บ้างครับ
ผมรู้สึกว่าความสนุกไม่ใช่สิ่งตรงข้ามกับความเจ็บปวด และส่วนใหญ่ความเจ็บปวดมักมาก่อน แล้วความสนุกค่อยตามมาทีหลังเล็กน้อย เมื่อ 2 ปีก่อน เหตุผลที่ผมเลิกทำ side project ทั้งหมดก็เพราะว่า "มันทรมาน" และตอนนั้นผมน่าจะคิดว่านั่นหมายถึงมันไม่สนุก ทุกวันนี้ผมยังคิดว่าการพัฒนาเป็นเรื่องที่สนุกและเป็นงานที่สร้างสิ่งยอดเยี่ยมได้มาก แต่ยิ่งความสนุกเพิ่มขึ้น ความเจ็บปวดก็มักเพิ่มขึ้นตามสัดส่วนด้วย
ไม่มีอะไรถูกสร้างขึ้นมาได้ในชั่วข้ามคืนจริง ๆ การจะสร้างอะไรสักอย่างที่รู้สึกว่าใช้ได้ มันต้องใช้เวลามาก ตอนเด็ก ๆ ผมเคยสงสัยมากว่าทำไมคนอื่นถึงสร้างของดี ๆ ได้อย่างรวดเร็ว หรือว่าจริง ๆ แล้วมีสูตรลับอะไรอยู่กันแน่ แต่หลังจากตระหนักได้ว่าสิ่งที่ผมเห็นมีแค่ช่วงเวลาที่พวกเขาประสบความสำเร็จเท่านั้น และคิดต่อว่าคนเหล่านั้นเองก็คงต่อสู้อย่างเดียวดายอยู่ใต้ผิวน้ำมาอีกนับไม่ถ้วนหลายวัน ผมก็คงเลยไม่ยอมแพ้ง่าย ๆ อีกต่อไป
เวลาจะเรียนรู้อะไรสักอย่าง: ผมคิดว่าต้องกวาดพื้น สร้างกำลังพื้นฐาน ฝึกฝนทักษะ แล้วค่อยกระโจนเข้าไป แน่นอนว่าไม่ได้หมายถึงกวาดพื้นจริง ๆ(.. ) แต่หมายความว่าเวลาเริ่มเรียนอะไรใหม่ ๆ ต้องค่อย ๆ ฝึกจากเรื่องที่ง่ายและตรงไปตรงมาก่อน แล้วพอเริ่มทำได้ ก็ค่อยไปขั้นถัดไป แล้วค่อยขั้นต่อไป... ผมคิดว่าต้องเรียนแบบนั้น ช่วงหลายปีที่ผ่านมา ผมไม่รู้เรื่องนี้เลย เลยมีหนังสือไม่น้อยที่ผมเปิดข้ามบทต้น ๆ แบบส่ง ๆ ไป แล้วพอถึงบทหลัง ๆ ก็ไม่เข้าใจว่าพูดเรื่องอะไรอยู่ (เพราะพื้นฐานยังไม่แน่นพอ) สุดท้ายก็วางเลิกไป
หลังจากคิดถึง 3 ข้อข้างบนแล้ว ผมก็รู้สึกว่าเวลาของคนอื่นที่ผมมองเห็นนั้นเป็นเพียงเสี้ยวเล็กมาก ๆ เท่านั้น เพราะฉะนั้นแม้บางอย่างจะดูเหมือนเกิดขึ้นในพริบตา แต่จริง ๆ แล้วคนนั้นคงพยายามทำมันสำเร็จมาอย่างหนักในช่วงที่ผมไม่ได้เห็น ดังนั้นแทนที่จะอิจฉาความสำเร็จหรือการเรียนรู้ที่รวดเร็วของคนอื่น ผมคิดว่าตัวเองเริ่มรู้สึกชื่นชมและอยากเดินตามมากกว่า
ผมคิดว่าการเขียนโปรแกรมได้คือสิ่งที่ช่วยให้เราใช้ชีวิตได้อย่างมีประสิทธิภาพและสร้างผลงานได้มากขึ้น
ตั้งแต่การจัดระเบียบฐานข้อมูลแบบง่าย ๆ การลองทำมาโคร การใส่สูตรในชีต Excel ไปจนถึงการสร้างเครื่องมือที่ตัวเองต้องการ..
ถึงจะไม่ได้ต้องเป็นนักพัฒนา แต่ถ้าได้เรียนรู้เรื่องการพัฒนาและ IT ไว้ ไม่ว่าจะไปอยู่สายงานไหนก็จะทำงานได้อย่างมีประสิทธิภาพกว่าคนอื่น เลยคิดว่านี่น่าจะเป็นชุดทักษะจำเป็นที่ควรลองเรียนสักครั้ง
ตอนนี้ IT ได้กลายเป็นโครงสร้างพื้นฐานของทุกสิ่งบนโลกไปแล้ว ไม่ว่าจะไปอยู่ในสาขาไหน ข้างใต้ก็ล้วนมีเทคโนโลยีกระจายอยู่เต็มไปหมด และความเข้าใจในสิ่งเหล่านั้นมากน้อยแค่ไหนก็จะส่งผลต่อระดับความสำเร็จด้วย
ตอนแรกอาจเริ่มจากการเขียนโค้ด แต่ผมคิดว่าถ้าเข้าหาพื้นฐาน IT อย่างคอมพิวเตอร์และเว็บด้วยทัศนคติว่าไม่ได้เป็นแค่การเรียนหนังสือ แต่เป็นการเรียนรู้กฎการทำงานของโลก ก็น่าจะดี
หลังจากนั้น เวลาเรามองสิ่งต่าง ๆ บนโลกนี้ ก็อยากให้ฝึกนิสัยคิดว่า ลึกลงไปข้างใต้นั้นมีเทคโนโลยีอะไรถูกนำมาใช้ มันทำงานอย่างไร และคนที่สร้างมันขึ้นมาทำได้อย่างไร
สรุปก็คือ "เป้าหมายไม่จำเป็นต้องเป็นนักพัฒนาเสมอไปก็ได้ การพัฒนาเป็นสิ่งที่เรียนไว้แล้วมีประโยชน์ไม่ว่าจะไปที่ไหน และจะค่อยไปเรียนรู้เพิ่มก่อนค่อยตัดสินใจเรื่องเส้นทางอาชีพก็ยังไม่สาย"
ถ้ามีใครสักคนรอบตัวถามคุณอย่างจริงจังเกี่ยวกับการเป็นนักพัฒนา คุณจะตอบเขาว่าอย่างไร?
อย่างแรกที่ฉันอยากบอกมีประมาณนี้ค่ะ ถ้าคอมเมนต์มา ฉันก็อยากเอาไปบอกเขาด้วย~
สำหรับฉัน ข้อดีของการเป็นนักพัฒนาคือเราไม่ได้อยู่คนเดียวค่ะ พื้นฐานก็สำคัญและต้องทำต่อไปแน่นอน แต่เราอยู่ในยุคที่มีเทคโนโลยีใหม่ ๆ ออกมา มีกรณีศึกษาเพิ่มขึ้น และมีสิ่งที่พัฒนาต่อยอดออกมาอย่างต่อเนื่อง เลยรู้สึกว่าวัฒนธรรมของสายพัฒนาคือวัฒนธรรมที่ช่วยเหลือและแบ่งปันกัน สิ่งนี้ทำให้เราเรียนรู้อยู่เสมอ ไม่แก่ไปกับความคิดเดิม ๆ และช่วยให้เติบโตไปด้วยกัน ไม่ว่าคุณจะยังใหม่มาก ๆ หรือเป็นนักพัฒนาที่ทำงานมาหลายปีแล้ว ถ้าแค่อยากเรียนรู้ ก็มีทั้งวัฒนธรรมและสภาพแวดล้อมที่เปิดโอกาสให้ทำได้เสมอ
การต้องอยากเรียนรู้อยู่ตลอด และต้องเรียนรู้อยู่เรื่อย ๆ อาจเป็นภาระสำหรับบางคนได้ค่ะ สำหรับฉันเองบางทีก็รู้สึกหนักเหมือนกัน 555 ยิ่งมีอะไรให้เรียนเยอะ คนที่สนุกกับมันมากกว่าและทุ่มเทมากกว่าก็คงไปได้เร็วกว่า แต่ถ้าบางครั้งถึงจะหนัก ก็ยังรู้สึกสนุกกับการค่อย ๆ ทำต่อไปอย่างสม่ำเสมอในจังหวะของตัวเอง เพราะยังคงสงสัยและอยากรู้ต่อไปอยู่ แบบนั้นก็น่าจะเป็นเส้นทางที่เหมาะค่ะ
มันมีความรู้สึกสำเร็จจากการทำให้ 0 กลายเป็น 1 ค่ะ และก็มีความเครียดจากการมองดู 0 ที่ยังไม่กลายเป็น 1 ด้วย ส่วนใหญ่ก็มักจะมีแรงกดดันเรื่องกำหนดเวลาแถมมาด้วย
คุณสร้างสิ่งที่คิดไว้ได้ค่ะ และสิ่งที่คุณสร้าง คนบนโลกก็อาจได้ใช้ แน่นอนว่าอาจไม่มีใครใช้เลยก็ได้...
การใช้ชีวิตเป็นนักพัฒนาไม่ได้หมายความว่าอยู่ใน Sandbox ที่มีแต่การพัฒนาอย่างเดียวค่ะ คุณจะได้รับอิทธิพลมากจากวัฒนธรรมของบริษัท ทีมหรือองค์กรที่สังกัดอยู่ คนที่ทำงานด้วย ลักษณะของโปรเจกต์ กำหนดการ ค่าตอบแทน ฯลฯ แต่ฉันว่าจริง ๆ แล้วเรื่องนี้ก็เหมือนกับทุกอาชีพนั่นแหละ ถ้าคุณพัฒนางานได้ดีและพัฒนาซอฟต์สกิลไปด้วย คนจำนวนมากก็จะอยากร่วมงานกับคุณค่ะ