[Internship] เล่าประสบการณ์ฝึกงาน Full Stack Developer ที่ MFEC

Siriwat Tangdamrongwat
MFEC
Published in
3 min readApr 4, 2022

สวัสดีครับ ผมชื่อนาย สิริวัฒน์ ตั้งดำรงวัฒน์ (กอล์ฟ) เป็นนิสิต​ศึกษาอยู่ที่มหาวิทยาลัยมหาสารคาม สาขาเทคโนโลยีสารสนเทศ

และนี้… ก็คือผมเองครับ 5555
  • ฝึกงานฝ่าย: Executive
  • แผนก: Office of Executive
  • ตำแหน่ง: Full Stack Developer

การฝึกของผมเป็นแบบ WFH ในช่วงระหว่างประชุมพูดคุยกันกับพี่เลี้ยงก็ไม่ได้แคปภาพบรรยากาศมาด้วยแอบเสียดาย แถมมาฝึกคนเดียวไม่มีเพื่อนมาด้วยเลย 😥

ก็ไม่แน่ใจว่าบล็อกนี้จะน่าเบื่อไหมหรือเนื้อหาในบล็อกจะงง ๆ ไหมนะครับ เพราะมีแต่ตัวหนังสือ แล้วนี่ก็เปิดประสบการณ์เขียนบล็อกครั้งแรกของผม 55555 ถ้าผิดพลาดตรงไหนก็ขออภัยด้วยนะครับ

มาเริ่มกันเลยดีกว่าครับ…

ท้าวความก่อนว่าในช่วงที่ใกล้จะฝึกงานผมสนใจ Next.js/Express.js ได้ศึกษามาจากรุ่นพี่ที่ผมเคยช่วยงานแกมานิดหน่อย จากนั้นก็ลองหยิบ Next.js และ Express.js ไปทำโปรเจกต์จบ พอได้ลองก็คิดว่าน่าสนุกดี จึงอยากลองหาที่ฝึกงานที่ตรงกับสิ่งที่เราสนใจ

ช่วงเริ่มหาที่ฝึกงาน

ในช่วงนั้นผมได้สอบถามรุ่นพี่ที่รู้จักว่ามีที่ฝึกงานที่ไหนแนะนำไหม? รุ่นพี่ก็บอกว่า “ลองดู MFEC ไหมเพื่อนพี่เคยไปฝึกแล้วได้ทำงานต่อด้วย”

ผมก็เลยลองไปหาข้อมูลว่า ณ ช่วงนั้น MFEC มีรับเด็กฝึกงานตำแหน่งไหนบ้างทั้งในกลุ่ม Facebook ต่าง ๆ และเว็บไซต์ของ MFEC ก็ได้ไปเห็นตำแหน่งฝึกงาน Full Stack Developer ตัวภาษาก็มีในส่วนที่ผมสนใจพอดีแต่ก็ไม่มั่นใจว่า ณ ต้อนนั้นมีเปิดรับสมัครไหม เพราะเป็นโพสต์เมื่อหลายเดือนที่แล้ว(แอบเศร้า) แต่ก็ลองสมัครผ่านเว็บไซต์ MFEC โดยตรงเลยครับ มีแบบทดสอบเล็ก ๆ น้อย ๆ ตอนสมัครด้วย จากนั้นก็นั่งรอ…

การติดต่อกลับมาจาก MFEC Internship…

หลังจากนั้นไม่กี่วันก็มีพี่ปิงปอง (พี่แผนก HR) ติดต่อมาว่าตำแหน่ง Full Stack Developer ตอนนี้ยังไม่มีเปิดรับสมัครนักศึกษาฝึกงาน ตอนนี้มีตำแหน่งอื่น ๆ ที่เปิดรับประมาณ 3-4 ตำแหน่ง (แต่จำไม่ได้แล้ว5555 ในใจก็อยากจะฝึกที่เกี่ยวกับที่ตัวเองสนใจก่อนประมาณตำแหน่ง Frontend/Backend/Full Stack/ Web อะไรประมาณนี้ เพราะกลัวว่าตอนเรียนตอนศึกษายังชอบ แต่พอทำงานอาจจะไม่ชอบจะได้รู้ตัวเองเลยว่าชอบไหม 55555)

ผมก็ตอบพี่ปิงปองว่ายังไม่มีตำแหน่งที่โดนใจเลยครับ😂 ตอนนี้กำลังสนใจ Next.js/Express.js ไม่ก็ตำแหน่ง Frontend/Backend หรือ Full Stack Web ผมสนใจพวกนี้อยู่เลยอยากลองฝึกในตำแหน่งประมาณนี้ดู

พี่ปิงปองก็ถาม เราสนใจตำแหน่งประมาณไหนเดียวลองไปคุยกับทีมอื่น ๆ ดูว่ามีทีมไหนจะรับนักศึกษาฝึกงานไหม

หลังจากนั้นผ่านไปไวเหมือนโกหก พี่ปิงปองก็ติดต่อกลับมาว่ามีพี่สนใจอยู่เดี๋ยวจะมีสัมภาษณ์และทดสอบ Coding นิดหน่อยนะให้เตรียมภาษาที่ถนัดไปด้วย จากนั้นก็นัดวันสัมภาษณ์กัน

ช่วงก่อนสัมภาษณ์ฝึกงาน

จะได้เมลตารางนัดสัมภาษณ์ส่งมาให้ ผมก็ได้จิ้ม ๆ ไปหารายชื่อผู้ที่ถูกชวนเข้าการประชุม แล้วก็เอาไปหาใน Google แบบสุ่ม ๆ เผื่อเจอประวัติ ทันใดนั้นเองก็ไปเจอชื่อ(พี่ลิ่ว)วสันต์ ลิ่วลมไพศาล ซึ่งตอนนั้นก็ยังไม่รู้ว่าพี่ลิ่วคือใคร พอเห็นประวัติก็คือโอ้วโหว(ว ล้านตัว)ตำแหน่ง CTO และยังเป็นเจ้าของเว็บไซต์ blognone คิดในใจแบบว่า ตอนสัมภาษณ์จะเป็นยังไง? จะยากไหม? แล้วจะสัมภาษณ์ผ่านไหมเนี่ย! แถมมี Coding ด้วยจะทำได้ไหม? (ผมก็ไม่ได้เก่งเท่าไหร่) ถ้าสัมภาษณ์ไม่ผ่านจะไปไหนต่อเนี่ย! แอบกดดันตัวเอง😥

ช่วงระหว่างสัมภาษณ์ฝึกงาน

พอมาถึงวันสัมภาษณ์ พี่ที่สัมภาษณ์ผมคือ(พี่ลิ่ว) วสันต์ ลิ่วลมไพศาล เริ่มเลยละกัน ก็แนะนำตัวเองตามปกติ เคยเข้าร่วมกิจกรรมอะไร เคยทำโปรเจกต์อะไรมาบ้าง แล้วโปรเจกต์ที่เคยทำใช้อะไรพัฒนาบ้าง พอจบพี่ลิ่วก็ถามผมว่า มีวิชาไหนที่ไม่ชอบไหม และชอบวิชาไหนที่เรียนมาบ้าง เรียนยากไหม ภาษาอังกฤษเป็นยังไงบ้าง แล้วถ้าทำงานสนใจทำงานสายไหนอะไรประมาณนี้ ในส่วนของโปรเจกต์ที่ผมเขียนไปว่าใช้อะไรพัฒนาบ้างพี่ลิ่วก็จะจับมาถามประมาณว่า Library ตัวนี้ใช้ทำอะไรในโปรเจกต์ การทำงานเป็นยังไงอธิบายแบบคร่าว ๆ อะไรประมาณนี้

ส่วนถัดไปเป็นการทดสอบการ Coding

พี่ลิ่วจะมีโจทย์มาให้แล้วอยากได้ผลลัพธ์อย่างนี้ ระหว่างทำโจทย์ก็แชร์หน้าจอไปพี่ลิ่วก็จะนั่งดูเราทำ แต่ระหว่างทำพี่ลิ่วก็อนุญาตให้สามารถเปิดหาคำสั่งได้ แต่ห้ามดูเฉลย ถ้าสงสัยสามารถถามได้ตลอด พอทำไปสักพักเหมือนผมทำไปผิดทางแกก็จะทักว่าตรงนั้นจะทำอะไร ผมก็เอ่อ! เหมือนจะมาผิดทางแฮะ จากนั้นก็ลุยใหม่จนได้คำตอบที่ถูกต้อง พอสัมภาษณ์เสร็จช่วงเช้า ช่วงบ่ายพี่ปิงปองก็ติดต่อมาว่าผ่านสัมภาษณ์นะตกลงที่จะฝึกงานเลยรึเปล่า(ก็รู้สึกดีใจ โล่งมาก ๆ และแล้วก็ผ่านด่านแรกมาได้ ด่านถัดไปคือตอนฝึกงาน😂 มีกังวลว่าเมื่อได้เข้าไปฝึกงานแล้วจะทำงานที่ได้รับมอบหมายได้ไหม) หลังจากตอบตกลงอีก 1–2 วัน ก็มีเมลตอบรับการฝึกงานส่งกลับมา เย้~~ มีที่ฝึกงานแล้ว

ช่วงระหว่างการฝึกงาน 4 เดือนของผมได้ทำอะไรบ้าง

  • ปรับปรุงเว็บไซต์ career.mfec.co.th ตาม requirements ต่างๆ เช่น
    - Update Package ภายในโปรเจกต์
    - ปรับปรุง Server Side Rendering(SSR)
    - เพิ่ม Auto Save Draft หน้า User Update Profile และ หน้าเพิ่มข้อมูล Job
    - ปรับปรุง SEO Job Posting
    - ปรับปรุงแจ้งเตือนผ่าน API Microsoft Teams เมื่อมีผู้ใช้งานสมัครงาน
    - เพิ่มแจ้งเตือน Privacy Notice ก่อนผู้ใช้จะสมัครสมาชิก
    - ปรับปรุง Filter/Pagination ในส่วนแสดงข้อมูล Jobs
    - ปรับปรุง MapJS เป็น Static/Embed Map สำหรับหน้าข้อมูล Jobs
    - เพิ่ม Alert แจ้งเตือน User เมื่ออัปโหลดภาพใหญ่เกินที่กำหนด
    - ปรับปรุง Library Tests ภายในโปรเจกต์จาก Puppeteer เป็น Cypress
  • ได้ศึกษาเรื่องอะไรใหม่ ๆ พี่ลิ่วจะบอกว่าให้ลองไปศึกษาเรื่องนี้มาดูสิ (แต่ถ้าติดปัญหาหรือไม่เข้าใจก็สามารถถามพี่ลิ่วได้ตลอด ช่วยแนะนำให้ เป็นแนวทางให้เราศึกษาด้วยตัวเองก่อน ถ้าไม่ได้จริง ๆ พี่ลิ่วก็จะมาช่วยดูให้ แต่บางทีผมก็แอบคิดว่าบางทีผมศึกษาบางเรื่องนานเกินไปรึเปล่า) สิ่งที่ได้ศึกษา เช่น
    - ศึกษาการใช้ Docker, Docker Compose
    - ศึกษาการใช้ Cypress E2E Testing
    - ศึกษาการใช้งาน RainforestQA
    - ศึกษาและทดลองทำ CI/CD บน Google Cloud Build
    - ศึกษาและทดลอง Run โปรเจกต์ด้วย Kubernetes
    - ศึกษาและทดลองทำ Nginx Cache
    - ศึกษาและทดลองทำ Low Code No Code ด้วย Budibase
  • ปรับปรุงและเพิ่ม Test Case ในส่วนของที่เพิ่มตาม Requirements ว่าเราเพิ่มอะไรหรือแก้ไขอะไรเว็บไซต์ยังทำงานถูกต้องอยู่หรือเปล่า
  • โปรเจกต์เล็ก ๆ เป็นเว็บไซต์ Spinning Wheel สุ่มจับฉลากรายชื่อพนักงานช่วงปีใหม่

ช่วงท้ายของการฝึกงาน

พี่ลิ่วก็ได้ถามว่าฝึกงานเสร็จแล้วจบเลยไหม จบแล้วจะทำงานต่อหรือพักไปเที่ยวก่อน (ก็อยากจพักไปเที่ยวก่อนแต่ ณ ตอนนั้นสถานการณ์ไม่อำนวยเท่าไร) ก็เลยตอบแกไปว่าก็น่าจะพักก่อนสักเดือนก็น่าจะหาทำงานต่อครับ จากนั้นพี่ลิ่วก็บอกว่าเดี๋ยวพี่ลองไปสอบถามทีมอื่นดูว่ามีตำแหน่งว่างไหม

พอผ่านไป 2–3 อาทิตย์ก็มีพี่มาร์ค (พี่แผนก HR) ติดต่อมาว่าเดี๋ยวจะมีนัดสัมภาษณ์นะ ก็นัดแนะวันกันจนเสร็จเรียบร้อย ก็ทักไปบอกพี่ลิ่วว่ามีพี่ติดต่อมาจะสัมภาษณ์แล้วนะครับ ก็เลยขอคำปรึกษาพี่ลิ่วว่าเตรียมตัวยังไงดีครับ😂 พี่ลิ่วก็แนะนำมาแล้วก็บอกว่าก็ไม่ต่างอะไรกับตอนสัมภาษณ์ฝึกงานหรอก แค่เรียบเรียงดี ๆ ว่าตอนฝึกงานได้ทำอะไรบ้าง ไม่ต้องเครียด จากนั้นก็รอจนถึงวันสัมภาษณ์

ช่วงพี่อีกทีมมาสัมภาษณ์ (พี่นาถ และพี่มิกจากทีม M-Lab)

เมื่อเข้าไปในห้อง MS Teams สักพักพี่นาถและพี่มิกก็ถามไถ่เรื่องการฝึกงาน การดูแลของพี่ลิ่วเป็นยังไงบ้าง อารมณ์แบบละลายพฤติกรรมก่อนที่จะสัมภาษณ์ จะได้เป็นกันเอง ไม่เครียด ไม่เกร็ง(แต่ก็แอบเกร็ง ๆ อยู่เหมือนเดิมครับ 5555) หลักจากนั้นก็คล้าย ๆ ตอนสัมภาษณ์ฝึกงานเลย แต่ไม่มีการทดสอบการ Coding เมื่อสัมภาษณ์เสร็จพี่ ๆ ก็บอกว่าเดียวติดต่อกลับมาอีกที

สัมภาษณ์เช้า ตอนบ่ายผลออกไวมาก พี่คนเดิมที่โทรนัดสัมภาษณ์ก็บอกว่าสัมภาษณ์ผ่านนะ พร้อมบอกข้อเสนอต่าง ๆ ว่าตกลงไหมมีเวลาให้คิดประมาณเกือบ 5 วัน และแล้วผมก็ตอบรับข้อเสนอครับ เย้~~🎊 หลังจากนั้น 2–3 วัน ก็มีผลสัมภาษณ์อย่างเป็นทางการส่งเข้ามาที่เมล

โค้งสุดท้ายของการฝึกงาน…

พี่เจนเป็นครีเอทีฟคอนเทนต์ของ MFEC ก็ได้ติดต่อมาว่าจะมีสัมภาษณ์เกี่ยวกับการฝึกงานกับพี่ลิ่ว และพี่นาถมาชวนให้ไปร่วมงานด้วย พอได้นัดวันเวลาเสร็จ ผมก็ถามกลับไปอย่างไวว่า มีสคริปซ์คำถามให้ไหมครับ😂 (ถ้าจะให้ถามตอบแบบคิดสด ๆ น่าจะแตกพ่าย คิดคำตอบไม่ทันแน่ ๆ 55555) และแล้วก็มาถึงวันสัมภาษณ์ไวเหมือนโกหก(ตื่นเต้นมาก ๆ กลัวพูดผิด พูดซ้ำ ๆ วนไปวนมา 55555) พอสัมภาษณ์เสร็จ พี่เจนก็ถามประมาณว่ารู้จักเว็บไซต์ Medium ไหม แล้วเคยเขียนบล็อกหรือเปล่า ถ้าไม่เคยเขียนอยากลองเขียนดูไหม ผมก็ตอบไปว่าพอรู้จักเว็บไซต์ Medium อยู่แต่ไม่เคยเขียนบล็อกเลย แต่เดียวจะลองเขียนดูครับ และนี่ก็เป็นที่มาของบล็อกนี้…

สิ่งที่ได้จากการฝึกงานที่ MFEC

หลัก ๆ เลยคือได้ฝึกงานตามที่เราสนใจ ได้สัมผัสและได้ประสบการณ์การทำงานบน Product จริงในส่วนที่ผมได้เพิ่มหรือแก้ไขปรับเปลี่ยนก็ได้ Release ลงบน Product อีกทั้งได้ศึกษาเรื่องใหม่ ๆ ที่ยังไม่เคยรู้มาก่อน (ผมว่าถ้าพี่เลี้ยงให้ศึกษาอะไรก็ลองลุยเลยครับ เพราะยังไงถ้าเราศึกษา เราก็เป็นคนที่ได้ความรู้ติดตัวเพิ่มไม่มากก็น้อย) และที่สำคัญผมคิดเราว่ายังได้ Contact/Connection กับคนเก่ง ๆ อีกด้วย

สุดท้ายนี้ก็ขอขอบคุณที่หลงเข้ามาอ่านจนถึงตรงนี้นะครับ🙏

--

--