ครบรอบ 4 ปีกับการทำงานที่นี่...Thomson Reuters
เริ่มต้นปีแรกกับการทำงานที่ต้องเรียนรู้ไปพร้อมๆกับการทำงานจริง มีวัน release กระชั้นชิด requirement เปลี่ยนบ๊อยบ่อย
หลังจากเป็นบัณฑิตป้ายแดงหมาดๆ การทำงานกับการเรียน มีจุดๆนึงที่สมัยเรียนเรามักจะไม่ค่อยเจอ
นั่นก็คือ เรามักไม่ค่อยเจอ Bug ไม่ค่อยเจอ Error ที่เป็น Logic Error สมัยเรียนเราคิดว่าส่วนมากคนมักจะเจอ Runtime Error มากกว่า เราเองสมัยเรียนไม่ได้เขียนโปรแกรมอะไรที่มี Business logic ที่ซับซ้อนมาก เลยรู้สึกว่า เอ๋..Logic Error นี่ถ้าเราตั้งใจเขียนก็จะไม่ค่อยมีสิ... แต่นั่นคือสิ่งที่เราคิดผิดเลยล่ะ
มาทำงานจริงๆ สมมติว่าได้ Requirement มา ที่เป็น Requirement จาก Stakeholder ที่ไม่ใช่คนสาย Technical จะเป็น requirement แบบอธิบาย Business และความต้องการแบบกว้างมากๆ ให้ dev อย่างพวกเราไปคิดต่อ.. ซึ่งนั่นแหละ เป็นความท้าทายอย่างนึงที่ถ้าเราคิดได้ไม่ครอบคลุม จะเป็นส่วนสำคัญเลยล่ะที่จะเกิด Logic Error ... ส่วน Bug กับการหาวิธีแก้ Bug อันนี้ เริ่มทำงานแรกๆ ยอมรับเลยว่า Bug นึงอาจจะใช้เวลาในการ fix นานอยู่ แต่ของแบบนี้ต้องทำบ่อยๆ เจอบ่อยๆ และจะกลายเป็นสิ่งที่เรียกว่า Known issue คือ อ๋อ บั๊กนี้อ่ะ ฉันรู้แล้วนะ จะแก้เธอยังไง... อีกเรื่องนึงในปีแรกที่ต้องพยายาม handle ให้ได้คือ requirement เปลี่ยนบ่อยๆ ซึ่งนับเป็น challenge ที่ดีเยี่ยม ..แรกๆ อาจจะเฮ้ยทำไม ยังไง แต่พอทำงานไปเรื่อยๆจะรู้ว่า การเปลี่ยนบ่อยๆ เท่ากับว่า จริงๆแล้วเราน่ะ ได้feedback จาก stakeholder มาแล้วแก้ไขไปเรื่อยๆ พอถึงวันที่ต้อง release จริงๆนี่ล่ะ จะได้ ผลลัพธ์เป็น software ที่ตรงกับความต้องการของผู้ใช้มากที่ซู้ด...และนั่นๆๆ ก็คือ concept แบบเริ่มต้นๆ ของ Agile นั่นเองงงง...
ปีที่สอง กับ ซอฟต์แวร์ที่รับช่วงต่อ
แน่นอนว่าการพัฒนา software ไม่ได้มีเพียง การเขียนขึ้นมาใหม่เพียงอย่างเดียว จะต้องมีทั้งการ implement เพิ่ม การ enhancement เพิ่ม อะไรแบบนี้ด้วย ...ใช่แล้ว เราก็ได้รับโอกาสนั้น รับช่วงต่อโปรเจคนึงมา แว็บแรกที่ได้มา เราคิดว่า อ่า.. ถ้ามีเพิ่มตรงไหนเพียงแค่ไล่โค้ดแล้ว เพิ่มนิดหน่อย จบชัวร์...
แต่ชีวิตจริงไม่ง่ายแบบนั้น เราไม่รู้ว่า ตรงไหนที่เค้ายังไม่ทำ หรือทำแล้วแต่ยังทำไม่เสร็จ
ตรงนี้มีจุดที่ต้องระวังนะ แอบมีอะไรซ่อนอยู่...หรือเปล่า ก็ถือว่าเป็น challenge อีกเรื่อง แต่ประโยชน์ที่ได้จากการรับช่วงต่อคือเราจะได้วิธีการ style รวมถึงเทคนิคการเขียนโค้ดที่แตกต่างกัน บางทีเราสามารถจะนำวิธีการ หรือเทคนิคเหล่านั้นไปปรับใช้ได้ในอนาคตได้ด้วย :)
ปีที่สาม ครอบจักรวาล (ปี 1)
หลังจากคุ้นเคยกับการการทำซอฟต์แวร์รับช่วงต่อแล้ว ต่อมาก็จะเป็นการรับมาแบบรัวๆ enhancement กันไปตามแต่ละ tool เลย ซึ่งบางทีแต่ละ tool จะใช้ technology, programming language หรือ dbms ที่แตกต่างกัน บางวันแก้สอง tool พร้อมๆกัน ก็ต้องตั้งสติก่อน start นิดนึงว่า ..โอเค ตอนนี้ฉันกำลังจะทำ โปรเจคนี้ใช้อันนี้ๆ นะ ...เอาจริงๆ เปลี่ยนไปมา แบบนี้สนุกดีนะ
ปีที่สี่ ครอบจักรวาล (ปี 2)
ปีล่าสุดนี่คล้ายๆกับปีที่ 3 เลยนะ แต่มีเปลี่ยน organizationนิดหน่อย ..ทำให้เทรนด์เทคโนโลยีเปลี่ยนไปบ้าง ไม่บ้างสิ เปลี่ยนเยอะเลย มาเน้น opensource จากเดิมปี 1-3 นั้นเน้นพัฒนาด้วย ASP .NET และ database ก็ยังเป็น Relation Database แต่ในปีนี้ เทรนด์มาเน้นทาง Javascript ทั้งด้าน Front End ใช้ Angular JS ส่วน Back End ใช้ Node JS และ โบกมือบ๊ายบาย RDBMS และ สวัสดี No SQL กับคุณ ElasticSearch ..ส่วนนึงที่โชคดีในการทำงานคือการได้อยู่ทีมที่เราต้อง (พยายาม) สามารถทำให้เป็นทุกๆอย่าง End to end เขียนได้ทั้ง Front End และ Back End เตรียมการ Data Structure ต่างๆ รวมถึงการ deploy ซึ่งต้อง (พยายาม)ทำให้เป็นนั้น ทำให้เราสามารถมองภาพรวมของระบบได้ และถ้าถูก Assign งานให้ไปทำที่ส่วนไหน ก็จะสามารถทำได้ ตรงกับ concept DevOps เลยทีเดียว
สรุป...ขอบคุณทุกโอกาสดีๆที่ได้มาทำงานที่นี่ ได้คุยและมีเพื่อนร่วมงานเป็นชาวต่างชาติด้วยนะ เท่ชะมัดอ่ะ
ขอบคุณงานทุกงาน ที่ผ่านมาให้เราได้ทำ
ขอบคุณ คุณ Bug ทุกๆ ตัวที่ผ่านมาให้เราเพิ่มประสบการณ์ทำงาน มีความรู้ใหม่ๆจากเธอนะคุณ Bug
ขอบคุณ ปะป๊าหม่าม้า ที่เป็นกำลังใจให้สู้ๆทุกวัน..
ขอบคุณตัวเองที่ตื่นนอนไปทำงานทุกวัน ไม่ยอมบ่นเลย ... ปีนี้และปีหน้าเรียนต่อป.โทด้วยอย่าท้อแท้น้า
มันเหนื่อยมาก..เรารู้ พยายามไปเรียนให้ทันนะ ... สู้ๆ :)
ยินดีด้วยค้าบ อ่านแล้วเหนื่อยแทนเลย กว่าจะมาถึงจุดนี้ได้ สู้ๆ น้า เป็นกำลังใจให้เสมอคับ :)
ตอบลบ