3 ปี โปรแกรมเมอร์
ต้องเริ่มว่าครั้งนี้ไม่ตื่นเต้นที่จะเขียน blog เท่าครั้งก่อนๆ เกือบจะไม่เขียนแล้ว คงเพราะหายเห่อกับสถานะโปรแกรมเมอร์ 555 เพราะมันกลืนเข้าเป็น lifestyle ไปแล้ว แต่ไม่ว่าจะขี้เกียจยังไงก็ต้องเขียนให้เสร็จ วินัยต้องมาก่อน ครั้งนี้ก็เหมือนบทปีที่แล้ว สรุปว่าตัวเองได้อะไรในรอบ 1 ปีในฐานะโปรแกรมเมอร์
Blog ที่แล้วติด Top Search Result คำว่าโปรแกรมเมอร์
ตอนแรกก็ไม่เคย Search คีย์เวิร์ดนี้ แต่ Stats บอกว่ามีคนอ่าน 4,xxx คน ในขณะที่ช่วงแรกๆ มีคนอ่านประมาณ 4xx คน เลยลอง Search ดู ติดอันดับเฉยเลย อันนี้มีน้องทักมาว่าอยู่สายการเงิน และอยากย้ายสายมาเขียนโปรแกรม เห็นบทความผมเป็นแรงบันดาลใจ ก็ให้คำแนะนำไปเรียบร้อย หวังว่าจะมีประชากรโปรแกรมเมอร์เพิ่มอีกคนนึง
มี Know-hows มากกว่า Ideas
ก่อนหน้าที่มาเขียนโปรแกรม ผมมีไอเดียทำแอพเยอะแยะเลย อยากทำโน่น อยากทำนี่ แต่ทำไม่ได้ เชื่อว่าถ้ามาเป็นโปรแกรมเมอร์ จะกลายเป็นเครื่องจักรสร้างแอพ
แต่ ณ ตอนนี้ Expense Lister ก็กลายเป็นเพียง แอพเดียวของตัวเองที่อยู่ในตลาด
ตามความคาดหวังเดิม ถือว่าน้อยมาก และผิดหวังในตัวเองพอควร แต่ตอนนี้พบว่าสร้างแอพตัวนึงมันมีรายละเอียดเยอะกว่า แค่มีไอเดียแล้วทำเลย มันมีเรื่องออกแบบให้ดูดี ออกแบบให้ใช้ง่าย ลองเทสใช้งานให้ครบ flow ไม่ให้มีบั้ค ไหนจะ maintain โค้ดให้เพิ่ม feature ง่ายๆ หรือจะเป็นในแง่ความเชื่อ ทำแล้วจะมีคนใช้รึเปล่าอีก
รายละเอียดที่มากมายพวกนี้ เชื่อว่านักสร้างแรงบันดาลใจ จะมาบอกว่าคุณทำได้ คุณต้องเชื่อใจตัวเอง บลาๆ ก็จริงล่ะไม่เถียงเลย ถ้าตั้งใจก็ทำได้หมดล่ะ แต่ถึงจุดนึงของชีวิต
ก็แค่อยากโค้ดอย่างเดียว
แค่เหลาทักษะการเขียนโค้ดให้ทันสมัยเรื่อยๆ ก็เหนื่อยแล้ว เปรียบเทียบก็ iPhone ออกใหม่ปีละครั้ง โปรแกรมเมอร์ต้องอัพเดตให้ไวกว่านั้นอีก
ตอนนี้สนุกกับการได้ ใช้การเขียนโค้ดใหม่ ที่มัน Efficient กว่าเดิม แบบจากเดิมเขียน 10 บรรทัด เหลือเขียนแค่บรรทัดเดียว Optimize ตรงนี้สนุกกว่าอีก ถ้าเป็นไปได้อยาก Clone ตัวเองในอดีตแล้ว Freeze ไว้ในระดับที่มีไฟเรื่องไอเดีย และมาป้อนไอเดียให้กับคนปัจจุบันทำให้
แก้ไขโค้ด ยากกว่าวางโครงใหม่
บ้านถ้าต้องซ่อมดูเป็นอะไรที่จุกจิก และไม่ค่อยมีช่างอยากแก้ บางกรณีที่ซับซ้อนคงแนะนำให้ทุบทิ้งสร้างใหม่ดีกว่า
เคยคิดว่าถ้าเป็นโค้ด มันเป็น virtual เหมือน ไฟล์ใน Computer ลบทิ้ง ลงใหม่ Copy/Paste ง่ายดี
แค่ตัวฟีเจอร์โดดๆ ไม่ได้ยาก แต่ยากตอน integrate รวมกับระบบเดิมที่ทำงานได้อยู่แล้ว เช่น เดิมระบบเก็บแค่ firstName
lastName
และจะเพิ่ม middleName
เข้าไป ก็แค่ field เดียว แต่ต้องไปแก้ทุกที่ที่เรียกใช้ firstName
lastName
ให้ดึงข้อมูล middleName
ด้วย หรือฝั่งกรอกบันทึก firstName
lastName
ต้องใส่ middleName
ด้วย ตัวอย่างนี้มันง่าย แต่ถ้าโครงสร้างข้อมูลมีความซับซ้อนกว่านี้ แค่ field เดียวอาจแก้เป็นอาทิตย์
ผันตัวเองไปด้าน Web มากกว่า
เดิมทีผมเริ่มเขียน Android เป็นอย่างแรก แต่ช่วงหลังอยู่กับการเขียน web มากกว่า Android เสียอีก อย่างโปรเจคเพื่อนล่าสุด ทำระบบ Inventory เริ่มแรกจะเขียน Android แต่พบว่า User กลับใช้ iOS มากกว่าเสียอีก จะฝืนให้ User ซื้อ Android มาใช้ก็ไม่เหมาะสม และ use case ก็ไม่ได้ต้องการ Performance ระดับ Native
หวยเลยมาออกที่ Web และทำ Responsive ด้วยความรู้เดิมได้เรื่อง Javascript จากเขียน backend ปรับมาเขียน Frontend คงไม่ได้ยากมากแหละ ปรึกษาน้องในทีม Nextzy แนะนำให้ใช้ React + AntDesign ต่อ Backend เป็น Firebase
เขียนๆไป แรกๆก็ทรมาน ด้วยความไม่ถนัดกับแนวคิด Redux, HOC, state หรือ props แต่พอเขียนๆ ไปกลับเริ่มชินมือ เอาจริง มันง่ายและชีวิตดีกว่าเขียน Android เสียอีกนะ
นอกเหนือจากที่บ่นใน blog ก่อน ก็มีเรื่อง
- ไม่ต้องกังวลเรื่องสถานะหน้าจอ อย่างตอนบิดจอ กดออกจากแอพ
- การส่งข้อมูลจะหว่าง class ทำได้ง่ายๆ ผ่าน props, state จากเดิมต้องเก็บใส่ bundle ก่อนส่งต่อ
เสริมจากนี้ก็มี side project เขียน Ethereum contract ซึ่งใช้ภาษา Solidity ที่ใกล้ Javascript และใช้เครื่องมือฝั่ง Web มากกว่า
และนับจำนวนปี 2 ปี Android และ 1 ปีที่เขียน Web ทำให้อยากนิยามตัวเองใหม่เป็นแค่ Programmer เฉยๆดีกว่า
Nextzy IS HIRING
จบด้วยการขายของ สังเกตว่าเราไม่ระบุวุฒิการศึกษา จบตรงสายก็ดี หรือไม่ตรงสาย แต่ถ้ามีของ ก็มาสมัครได้ มีทั้งที่เชียงใหม่ และ กทม รายละเอียดตามลิงค์จ้า