ประสบการณ์ฝึกงานที่ TDG

Methawee Chaiheng
2 min readJul 29, 2022

--

สวัสดีค่ะผู้อ่านทุกท่าน วันนี้ก็จะมาเล่าประสบการณ์การฝึกงานตลอด 2 เดือนที่ True Digital Group (TDG) ในทีมที่ดูแลในส่วนของแอปพลิเคชันที่หลาย ๆ ท่านก็คงจะรู้จักเป็นอย่างดีอย่าง TrueID โดยผู้เขียนฝึกงานในตำแหน่ง Android Developer ค่ะ

โดยเมื่อเข้ามาเป็นเด็กฝึกงานแล้วอย่างแรกที่จะได้ทำก็คือจะเรียนคอร์สออนไลน์ของทาง skooldio ที่สอนโดยพี่เอก สมเกียรติ กิจวงศ์วัฒนะ หรือ “Akexorcist” Google Developer Expert ด้าน Android ซึ่งเป็นที่รู้จักอย่างกว้างขวางของนักพัฒนาฝั่ง Android ค่ะ

https://akexorcist.medium.com/android-dev-with-online-course-e23441e994ff

เมื่อเรียนทั้ง 4 คอร์สจบผู้เรียนจะได้ความรู้พื้นฐานมาอย่างครบถ้วนเลยทีเดียวค่ะ หลังจากนั้นจะได้ศึกษาบางฟีเจอร์ของทางแอนดรอยด์เพิ่มเติมเนื่องจากจะเป็นตัวที่มีการใช้งานอยู่บ่อย ๆ เดิมทีผู้เขียนเคยเขียนแอปด้วยภาษา Java แต่ในปัจจุบันนั้น นิยมเขียนแต่ kotlin กันแล้วค่ะ ทางพี่ ๆ จึงได้ให้ลองทำ workshop เพื่อให้เข้าใจในสิ่งที่เรียนและอ่านเพิ่มเติมมากขึ้น โดยมีการปรับโค้ดไปเรื่อย ๆ ในแต่ละครั้ง จนตัวแอปที่ทำอยู่ในรูปแบบของ clean architecture ซึ่งเป็นรูปแบบเดียวกับทาง แอป TrueID เลยค่ะ

นอกจากนี้ยังได้เรียนรู้การทำงานจริงของทางทีมแอนดรอยด์ โดยภายในทีมพัฒนา TrueID ก็จะมีการแบ่งทีมย่อยต่าง ๆ เพื่อดูแลคนละส่วนของตัวแอป เช่น Today, Community, Communicator, Privilege ซึ่งผู้เขียนฝึกงานอยู่ทีม Read & Listen ซึ่งจะดูแลในส่วนของฟีเจอร์ Read และ Listen ของแอป TrueID ค่ะ

โดยเมื่อพิจารณาในส่วนของทีม Read&Listen จะประกอบไปด้วยนักพัฒนาทั้งในส่วนของเว็บไซต์, ios และ android ค่ะ รวมไปถึง QA, SE, Product Owner และ Scrum Master ค่ะ ซึ่งบางคนอาจจะสงสัยว่า Scrum Master หรือ Product Owner คือใคร ก็ต้องอธิบายก่อนว่าทาง TDG ทำงานในแนวคิดของ Agile ในรูปแบบการทำงานของ Scrum นั่นเองค่ะ โดย 1 sprint ของทางทีมจะมีระยะเวลา 2 สัปดาห์ ซึ่งเมื่อเข้ามาฝึกงานก็จะได้เข้าอบรมในหัวข้อ Introduction to Agile and Scrum ค่ะโดยจะมีกิจกรรม workshop และมีการแจกของรางวัลด้วยค่ะ

https://recentlyheard.com/2020/11/18/when-is-the-scrum-methodology-not-ideal/

ซึ่งการทำงานแบบ Scrum นี้ก็จะมี meeting ต่าง ๆ ซึ่งทางผู้เขียนก็มีโอกาสเข้าร่วมทั้งหมดค่ะนั่นคือ Daily Scrum, Grooming, Sprint Planning และ Sprint Review โดยใน Daily Scrum ก็จะต้องพูดอัปเดตสิ่งที่ทำไปเมื่อวาน สิ่งที่จะทำวันนี้ รวมไปถึงปัญหาที่พบ ซึ่งผู้เขียนก็จะได้พูดเหมือนกับพี่ ๆ ในทีมคนอื่นเลยค่ะ

เมื่อมีนักพัฒนาหลายคน แล้วโค้ดจากแต่ละคนจะมารวมกันอย่างไรกันนะ ? ทาง TDG ใช้ git ในการรวมโค้ดของแต่ละคนโดยใช้บริการ Server ของ Bitbucket ค่ะ โดยผู้เขียนก็จะได้เริ่มฝึกทำตั้งแต่การ set up โปรเจค TrueID ลงเครื่องตัวเอง ได้มีโอกาสได้ลองเขียนโค้ดลงในโปรเจคหลักจริง ๆ และจากนั้นก็จะได้ทำการเปิด Pull Request เพื่อให้นักพัฒนาทีมอื่นมารีวิวโค้ดที่เราได้ทำไปและกดยอมรับเพื่อให้เราสามารถ Merge เข้า Branch develop ได้ ซึ่งหลังจาก Merge เข้าเรียบร้อยแล้วก็จะเป็นส่งให้ทาง QA เทสค่ะ ถ้าผ่านก็ถือว่าเสร็จสำหรับงานในส่วนนั้น ๆ นั่นเองค่ะ

https://www.researchgate.net/figure/GitHub-Pull-request-flow_fig1_326295010

นอกจากนี้ก็จะมี meeting เพิ่มเติมต่าง ๆ เช่น Android’s tribe meeting ซึ่งจะเป็นการพบปะพูดคุยกันทั้งทีมของผู้พัฒนาฝั่งแอนดรอยด์ในแต่ละเดือน ซึ่งอาจจะมีการแนะนำสมาชิกใหม่ของทีม หรือมีการอัปเดตกฎเกณฑ์อะไรใหม่ ๆ ภายในทีมค่ะ และมี meeting ที่ชื่อว่า Knowledge sharing ซึ่งจะเป็นการแชร์ความรู้ของสมาชิกภายในทีมให้แก่สมาชิกคนอื่น ๆ นั่นเองค่ะ รวมไปถึง 1 on 1 With Android Dev Lead ซึ่งจะเป็นการพูดคุยกันแบบหนึ่งต่อหนึ่งกับทาง Dev Lead นั่นเองค่ะ ซึ่งก็จะเป็นการสอบถามพูดคุยถึงการทำงานหรือปัญหาต่าง ๆ ของทีมนั้น ๆ ค่ะ

ซึ่งตลอดสองเดือนที่ผ่านมานี้ทำให้ผู้เขียนได้รับประสบการณ์และความรู้ใหม่ ๆ มากมาย สุดท้ายนี้ก็อยากจะเชิญชวนทุกคนเข้ามาฝึกงานกับทาง TDG ด้วยกันโดยสามารถติดตามข่าวสารได้ที่ทางเพจ True Internship ใน Facebook นะคะ ผู้เขียนรับรองว่าทุกท่านจะได้รับประสบการณ์ดี ๆ กลับไปและไม่ผิดหวังแน่นอนค่ะ

--

--