เพราะหนี้มันท่วมหัวไงเลยยังต้องเขียนโค้ดอยู่ เศร้าาาาาาา
หลังจากที่ไม่ได้เขียนบทความ life style อะไรเลยตั้งแต่บทความ
วันนี้เลยจะมาบอกเล่าถึงสาเหตุต่างๆของการเขียนโปรแกรมซึ่งมีทั้งรักทั้งเกลียด โดยบทความนี้มาจากประสบการณ์ของตนเองและเพื่อนรอบข้าง
ซึ่งหวังว่าจะเป็นประโยชน์แก่คนน้องๆที่กำลังสนใจจะเขียนโปรแกรม หรือยังไม่แน่ใจว่าเส้นทางของโปรแกรมเมอร์มันยากลำบากหรือมีความสุขเพียงใด
ทำไมฉันที่ถึงรักการเขียนโค้ด
- มีความท้าทาย
ทุกๆครั้งที่ได้รับโจทย์หรือ Requirement มาก็จะมีความยากของมัน บางครั้งมันก็ท้าทายเรา ทำให้งานของเราไม่น่าเบื่อ ตื่นเต้นตลอดเวลา (ว่ามันจะพังไหม) โปรแกรมเมอร์หลายๆคนที่เลิกทำงานด้านนี้ไปก็มีเหตุผลว่างานหมดความท้าทาย หรือบางคนก็ย้ายงานเพื่อไปหาความท้าทายใหม่ๆ
2. สนุกสนานเวลาไม่เจอบั๊ก
เมื่อได้รับงานที่ท้าทายแล้ว ต่อไปคือการทำงาน สำหรับผมนะ เวลาที่เราเขียนโค้ดแล้วรันออกมาแล้วไม่มีบั๊กในครั้งแรก (เป็นไปได้น้อยมากกก) โครตจะฟินเลย หรือเวลาเขียนฟังก์ชั่นออกมาเป็นร้อยบรรทัดแล้วลองรันปรากฏว่าไม่มีบั๊กมันโครตจะฟินไปเลยเหละ 55555
3. ชอบที่จะสร้างปัญหา
สร้างปัญหาที่นี้ไม่ใช่ว่าไปพังงานนะ แต่มันคือเวลาที่เรากำลังเขียนโค้ดตาม flowchart ที่ได้รับมา แต่อยู่ดีๆเราก็ปิ๊งไอเดียว่า “เห้ย ถ้าเราทำอีกวิธี งานจะน่าจะดีขึ้นนะ” แล้วเราก็เอาเรื่องนี้ไปคุยกับคนในทีม เกิดการถกเถียงกัน แลกเปลี่ยนความคิด เวลาแบบนี้เหละที่จะทำให้เรารู้สึกว่าตัวเองพัฒนาขึ้นแล้ว
4. ชอบที่จะแก้ปัญหา
เมื่อเกิดปัญหา เราก็ต้องแก้ไม่ว่าจะแก้บั๊ก แก้ algorithm แก้โค้ดให้สั้นลง เขียนโค้ดให้มันดีขึ้น พอแก้เสร็จแล้วมันก็ฟินดีเหมือนกันนะ
5. ชอบที่จะสร้างสรรค์ผลงานออกมาให้ชาวโลกเห็น
บางคนชอบที่จะปล่อย open source ออกมาให้ผู้อื่นพัฒนาต่อเพราะชอบเวลาให้คนอื่นมีส่วนร่วมกับงานของเรา หรือพัฒนางานของคนอื่น หรือการสร้างอะไรออกมาสักอย่างเป็นตัวเอง เช่น สร้าง lib หรือ framework เป็นของตัวเอง
6. ทำเงินได้ดี
เป็นเรื่องที่เถียงไม่ได้เลยว่าเงินดีมาก (ถ้าคุณมีฝีมือหรือประสบการณ์) ตอนที่ผมยังเรียนไม่จบ ปี2560–61 รับจ๊อบทำ ASP.NET C# ได้เดือนละ 20K พอเบนสายมา AI ยิ่งได้เยอะกว่าเดิมอีกแหะ เลยคิดว่าสายนี้ไม่น่าอดตายได้ ถ้ารู้จักพัฒนาตัวเองและเก๋าเกมพอ
ทำไมฉันถึงเกลียดที่จะเขียนโค้ด
- บั๊ก
เป็นสิ่งที่น่าพิศวงและไม่เข้าใจที่สุดเท่าที่เคยพบเจอมาในชีวิต ตอนที่เราทำโจทย์คณิตศาสตร์หรือฟิสิกส์เนี่ย ถ้าเราแก้สมการตรงไหนไม่ออกเรียกคนอื่นมาช่วยหรือมาอธิบายก็ทำต่อได้ แต่บั๊กเนี่ย…..บางทีเรียกคนทั้งออฟฟิศมาช่วยกันดูยังหาไม่เจอเลย บางทีแก้ไปแล้วอันหนึ่งโผล่มาอีก 3 อัน เห้ย….อะไรวะ
2. มีเซอร์ไพส์ตลอดเวลา
เนื่องจากสายงานนี้มักชอบเกิดอะไรที่ไม่คาดฝันตลอดเวลาเช่น ทดลองบนเครื่องไม่เจอบั๊ก พออัพขึ้นเซิฟ อ่าวบั๊กมาไง , รันบนเครื่องตัวเองผ่าน รันบนเซิฟไม่ผ่าน , เซิฟเวอร์ล่มตอนเสนองานให้ลูกค้า , เจอบั๊กตอนกำลังพรีเซ้นงานให้ลูกค้า ทั้งหมดนี้คือความเซอร์ไพส์แค่น้ำจิ้ม ซึ่งเมื่อไรก็ตามที่มันเกิดขึ้น โครตจะเซงเลย 5555
3. ต้องพัฒนาตัวเองตลอดเวลา
ประเด็นสำคัญที่ทำให้ผมเซงๆในบางทีก็คือความรู้ของเรามันตกยุคในทุกๆวัน ไม่ว่าจะเฟรมเวิร์ค จะภาษาที่ใช้ก็มีการอัพเดทตลอดเวลา บางทีมันอัพแค่เวอร์ชั่นเล็กๆ ก็ยังพอเข้าใจ ถ้าเกิดเปลี่ยนแปลงเยอะๆเช่น python2 กับ python3 ต่างแค่เลข แต่ข้างในก็ต่างกันเยอะ หรือจะเป็น angular1 หรือ angular2+ ต่างแบบสุด ทำให้เราต้องพัฒนาตัวเองเสมอนี้ยังไม่ได้พูดถึงเทรนใหม่ๆอีกมากมายไม่ว่าจะเป็น AI , Block chain ตามไม่ทันแล้วเว้ย
บทสรุป
คิดว่าทุกๆคนน่าจะมีเหตุผลในการเขียนโปรแกรมต่างกัน บางคนมีความหลงไหลมาตั้งแต่เด็ก บางคนเขียนโค้ดเพราะว่าใจรัก บางคนเขียนโค้ดเพราะเรียบจบสายนี้มา ไม่อยากเปลี่ยนสาย หรืออื่นๆ แต่สำหรับผมสิ่งที่สำคัญที่สุดสำหรับการเขียนโปรแกรมคือ “เราสนุกกับงานที่ทำและมีความสุขกับมัน” ผมว่านี้เหละสำคัญที่สุดที่ทำให้ผมยังเขียนโปรแกรมอยู่จนถึงทุกวันนี้