วิถีแห่ง Android Dev เกือบสองปีที่ Nextzy
สมัยที่ชีวิตเข้าสู่วัยทำงานใหม่ๆก็ไม่ได้รู้สึกหรอกครับว่าวันเวลาจะผ่านไปไวแค่ไหน แต่พอรู้ตัวอีกที ชีวิตวัยทำงานของผมก็เกือบจะครบห้าปีในอีกไม่นาน และอีกไม่กี่เดือนก็จะครบสองปีที่ Nextzy เสียแล้ว
รู้สึกแก่ขึ้นมาทันที…
เนื่องจากผมเป็นคนที่คลั่งไคล้ใน Android Development ดังนั้นการมาเป็น Android Dev ของผมจึงรู้สึกว่าเป็นความสุขอย่างหนึ่งในชีวิตเลยก็ว่าได้ จนรู้สึกว่าไม่มีความจำเป็นจะต้องกลับไปเรียนต่อ ป.โท แบบที่หลายๆคนชอบถามหรือตั้งเป้าหมายกัน
พื้นฐานอย่างหนึ่งของการทำงานอย่างมีความสุข ก็คือการได้ทำงานกับสิ่งที่ชอบ ใช่มั้ยล่ะ!
และเงินเดือนเยอะๆก็ทำให้มีความสุขด้วยเช่นกัน… (เผื่อ CEO อ้วนๆของผมมาเห็นข้อความนี้)
ถึงแม้ว่าผมจะผ่านเส้นทางของ Android Dev มาถึงปีที่ 5 แล้ว แต่เกือบสองปีที่ Nextzy กลับเป็นช่วงเวลาที่ผมรู้สึกว่าตัวเองได้พัฒนาอย่างก้าวกระโดดมากกว่าที่ผ่านมาทั้งหมด
เพราะที่ออฟฟิศน้ำท่วมบ่อยมาก เวลาเดินไป/กลับที่ออฟฟิศก็เลยต้องก้าวกระโดดข้ามแอ่งน้ำอยู่บ่อยๆ
ถุย!!!!
อย่าเพิ่งกดปิดบทความนี้นะ ผมขอโทษ ผมจะไม่เล่นมุกแบบนี้อีกแล้ว…
การทำงานที่ไม่เคยรู้สึกว่าน่าเบื่อ
ไม่รู้ว่าผมมาตกลงปลงใจอยู่ที่บริษัทบ้านี่ได้ยังไง แต่สิ่งที่ได้จากที่นี่คือ “ความท้าทาย” ที่ทำให้ผมสามารถพัฒนาฝีมือได้เต็มที่ และผมก็ค้นพบว่ามันเป็นสิ่งที่ทำให้ผมหลงใหลในเป็น Android Dev โคตรๆ
งานที่ท้าทายความสามารถจะทำให้เราสามารถก้าวข้ามขีดจำกัดความสามารถได้
(ถ้าทุ่มเทและพยายามมากพอน่ะนะ)
เพราะที่บริษัทบ้านี่ทะลึ่งไม่รับงานเล็ก รับแต่งานใหญ่ๆ โดยเฉพาะงานระดับ Enterprise ดังนั้นที่นี่จึงไม่มีงานที่รับมาทำอยู่ไม่กี่เดือน พอเสร็จแล้วก็จบๆไป
งานที่นี่ทำกันระยะยาว ดูแลกันระยะยาว โดยใช้ระยะเวลากันเป็นปีๆ มีการแบ่งเป็นหลายๆ Phase ที่จะต้องคอยทำ Feature ใหม่ๆเพิ่มและคอยดูแลโค้ดเก่าๆอยู่ตลอดเวลา
งานที่ใหญ่และใช้เวลานานมากพอจะทำให้เราสามารถพัฒนาและฝึกฝนตัวเองได้ดีกว่างานที่ทำแค่ระยะสั้นๆ
ผมได้เห็นคุณค่าของการทำ Git Flow, Clean Code, Documentation, Migration, Testing, Maintain, Code Quality และงานระยะยาวจะทำให้เราเห็นการพัฒนาของตัวเอง โดยที่เรายังสามารถแก้ไขและปรับปรุงของเก่าได้อยู่ตลอดเวลา
ถึงแม้ว่าบ่อยครั้งจะต้องเผชิญกับบั๊กต่างๆนานาหรือ Requirement ที่ทำให้ Flow ของโค้ดบรรลัยเกือบทั้งหมดได้ แต่ผมกลับรู้สึกว่ามันเป็นเสน่ห์อย่างหนึ่งของการเป็น Developer นะ ที่จะได้คิดแก้ปัญหาจากบั๊กที่เกิดขึ้นและคิดวิธีการรับมือกับ Requirement อย่างไรให้ยืดหยุ่นมากพอที่จะถูกเปลี่ยนแปลงในภายหลังได้
อย่ามัวหลงใหลแต่ความสำเร็จที่เกิดขึ้นจากการเขียนโค้ด แต่จงหลงใหลการรับมือกับปัญหาที่เกิดขึ้นในการเขียนโค้ดด้วย เพราะนั่นคือสิ่งที่ทำให้เราพัฒนาขึ้นต่างหากล่ะ
ผมจึงรู้สึกว่าชีวิตการทำงานนั้นไม่ได้น่าเบื่ออย่างที่หลายคนเป็นกันนะ
“เพื่อนร่วมทีม” สิ่งสำคัญที่ขาดไม่ได้
ตอนที่เข้ามาทำงานใหม่ๆพบว่าเป็นคนแรกๆของบริษัท (ตอนสัมภาษณ์แม่มบอกผมว่ามีหลายคน) ดังนั้นผมจึงต้องใช้ชีวิตทำงานในฐานะ Android Dev ด้วยตัวคนเดียวอยู่พักใหญ่ๆ ซึ่งจริงๆแล้ว ก็แค่ไม่กี่เดือนหรอก เพราะเมื่อผ่านไปซักพักก็ได้เพื่อนร่วมชะตากรรมเพิ่มเข้ามาเรื่อยๆ (ขอไว้อาลัย…) เพื่อ Scale ทีมให้ใหญ่มากขึ้น
และนั่นก็ทำให้ผมรู้ว่า สิ่งที่ผลักดันให้ผมพัฒนาตัวเองมากขึ้นเรื่อยๆนั้นไม่ใช่แค่ “งาน” แต่เป็น “เพื่อนร่วมทีม” ด้วย
หลายๆคนเชื่อว่าการพัฒนาฝีมือที่ได้ผลดีที่สุดคือการได้ทำงานร่วมกับคนเก่งๆ
ซึ่งผมก็เชื่อแบบนั้นเช่นกันครับ แต่ส่วนใหญ่กลับเข้าใจผิดว่าการทำงานกับคนเก่งๆคือการรอให้คนเก่งๆคอยสอนและคอยดูแลในเวลาทำงาน
นั่นจึงเป็นสาเหตุหนึ่งที่ผมไม่ค่อยชอบซักเท่าไร เมื่อมี Android Dev ที่อยากจะมาทำงานที่นี่ เพราะว่าอยากจะเรียนรู้ประสบการณ์จากผมที่เป็นเจ้าของบล็อก Android Dev ชื่อดังหรือเป็นหนึ่งใน Android GDE ของไทย
เพราะนั่นหมายความว่าคนๆนั้นจะไม่ใช่ “เพื่อนร่วมทีม” แต่จะเป็นได้แค่ “สมาชิกในทีม”
นอกเหนือจากความท้าทายในงานแล้ว สิ่งหนึ่งที่ผมรู้สึกเพลิดเพลินไปกับการทำงานที่นี่คือ “เพื่อนร่วมทีม” ของผมมันก็มองผมเป็นแค่ “เพื่อนร่วมทีม” ของมันน่ะแหละ
สิ่งสำคัญในการพัฒนาตัวเองเมื่อทำงานกันเป็นทีม คือการที่ทุกๆคนในทีมพัฒนาไปด้วยกัน หาใช่การพัฒนาตามคนที่เก่งที่สุดในทีมไปวันๆ
ก็นั่นล่ะฮะ การทำงานทุกวันนี้ของผมจึงไม่ใช่การคอยช่วยเหลือหรือดูแลเพื่อนร่วมทีมซักเท่าไร เพราะแต่ละคนก็มีหน้าที่ของตัวเองที่ต้องทำอยู่แล้ว และเพื่อนร่วมทีมของผมก็สามารถพัฒนาตัวเองได้โดยที่ไม่ต้องถามอะไรจากผมเลย
และที่สำคัญ “เพื่อนร่วมทีม” ของผมชอบแบ่งปันและแชร์ความรู้ต่างๆที่ได้ไปเรียนรู้หรือลองทำด้วยตัวเองกันอยู่บ่อยๆ และมีการเอาอะไรใหม่ๆ อย่างเช่น เทคนิค ไลบรารี หรือแนวคิดใหม่ๆมาใส่เพิ่มเติมลงไปในงานของทีมอยู่ตลอดเวลา
คนๆเดียวคอยดึงเชือกช่วยให้คนอื่นๆปีนขึ้นภูเขา หรือจะสู้ ทุกๆคนมีเชือกเป็นของตัวเองแล้วปีนขึ้นภูเขาไปพร้อมๆกัน
สิ่งที่ผมได้จากการทำงานกับเพื่อนร่วมทีมทุกวันนี้ จึงเป็นความรู้ต่างๆที่ได้จากการช่วยกันเรียนรู้ ช่วยกันศึกษา และคอยแลกเปลี่ยนกันและกัน
ดังนั้นเมื่ออยู่ที่นี่ผมก็เป็น Android Developer เฉกเช่นกับทุกๆคนในทีมที่ไม่มีการแบ่งว่าใครเป็น Senior และใครเป็น Junior เพราะสุดท้ายแล้วทุกๆคนก็ต้องช่วยกันทำงานอยู่ดี
ก็นั่นแหละฮะ วิถีแห่ง Android Developer ของผมที่ Nextzy
แล้ววิถีของคุณล่ะ เป็นยังไง?
.