ไปฝึกงานที่ Pronto Tools (กันเถอะ)

Nontawat Numor
Aug 5, 2017 · 3 min read
Image for post
Image for post
React class by Kan Ouivirach in Pronto Tools

Pronto Group

Image for post
Image for post
Pronto Marketing and Pronto Tools

Pronto Tools

เกริ่นเรื่องโครงสร้างบริษัทเสร็จแล้ว เรามาเริ่มเจาะลึกทีมของเรากันดีกว่าว่าเป็นยังไงกันนะ?

  • Python (django) เขียนกันเยอะมากกก เยอะแค่ไหนรอดูกัน
  • Container แน่นอนนน เมื่อเราไม่อยากปวดหัวกับ Environment ที่แตกต่าง เราก็ใช้ Docker ในทุกๆ Project เลย ย้ำ ว่า ทุก Project จริงๆ อะไรจะสบายไปกว่าการ Pull code ชาวบ้านแล้วสั่ง docker-compose up อีก
  • Reversioning ขาดไม่ได้แน่ๆ ครับ ในเมื่อเราทำงานกันเป็นทีม ต้องมีการทำ Reversioning โดยเราเก็บไว้บน Github กัน เมื่อใครรับผิดชอบ Feature ไหนก็ checkout branch ออกไป เมื่อทำเสร็จก็สร้าง Pull request กลับเข้ามา
  • TDD Test-driven development นั้นคือการเขียน Test ก่อน แล้วไปเขียน Code แล้วทำการ Refactor Code แล้ววนกลับไปเขียน Test ทำแบบนี้ไปเรื่อยๆ ครับ จะทำให้ในทุกๆ การทำงานของ Code เรานั้นมี TestCase คอยควบคุม !! ในอนาคตหากใครเข้ามาแก้ Code ส่วนนั้นๆ แล้วให้ผลลัพธ์ไม่เหมือนเดิม TestCase ก็จะฟ้องเองว่าเกิดจากอะไร แบบนี้สบายใจได้เลย ว่าเราจะไม่ทำให้โครงสร้าง Project เราเสียหาย
  • Stand-up meeting ในทุกๆ เช้าเราจะมาล้อมวงกัน แล้วให้แต่ละคนเล่าว่า เมื่อวานทำอะไร วันนี้จะทำอะไร มีอะไรอยาก Update ให้คนในทีมฟังบ้างไรงี้ จะได้รับรู้ความเคลื่อนไหวของทั้งทีม
  • ….. พักเบรกแปป อ่านมาเยอะแล้วเหนื่อย อันนี้เป็นเบรกตอนบ่าย 3 ทุกวันของที่บริษัท
Image for post
Image for post
  • Kata programming ในตอนเช้าเราจะมีการทำ Kata นั้นคือการเขียน Code ด้วยโจทย์เดิมในทุกๆ เช้า เขียนเสร็จแล้วลบทิ้ง ลบทิ้งแล้วเขียนใหม่ ทำวนไปครับ! ทำแบบนี้ทุกวัน เปรียบเสมือนการเล่นกีฬาต่างๆ ถ้าหากเราฝึกซ้ำแล้วซ้ำอีกในท่าเดิมๆ กล้ามเนื้อก็จะจดจำแล้วนำมาใช้ได้โดยอัตโนมัติ !
  • Pair programming คือการที่เราใช้คอม 1 เครื่องแต่มี developer 2 คน! ให้คนนึงพิมพ์ไป แล้วเราก็ดูไปด้วย แบบนี้เราก็จะได้รับรู้เท่าๆ กันว่างานเป็นยังไง อธิบายแทนกันได้ด้วยนะ
  • Slack เราคุยงานกันใน Slack ครับ! ไม่ได้ใช้แชทสีเขียวๆ คุยงานแน่นอน มี Bot แจ้งการทำงานต่างๆ แล้วส่งกลับมารวมไว้ใน Slack อยากค้นหาอะไร หาจากที่นี่ได้เลย
  • Jenkins เป็นเครื่องมือทำ Continuous integration (CI) คุณลุง Jenkins เนี่ย มีหน้าที่ทำให้งานเราราบรื่น ตั้งแต่ Checkin code เรามาจาก Github เอาไปทำ UnitTest แล้วไป Build Image (docker) แล้วเอาไป Deploy ขึ้น Staging Server ให้เราเสร็จ !! ไม่ต้องทำอะไรเลยกับ Server สบายจริ๊ง เพิ่งรู้โลกมาถึงจุดนี้กันแล้วก็ตอนได้ฝึกงานที่นี่แหละครับ
  • CircleCI นี่เป็นของแถม ทีม iPhoenix ของเรายังไม่ได้ใช้หรอกครับ แต่ผมแอบไปสร้างให้ทีม SimpleSat ใช้งาน (อวดนั้นเอง) เจ้านี่แตกต่างจาก Jenkins ตรงที่ทางผู้ให้บริการจะเป็นคนจัดการฝั่ง Server ให้เอง ! แค่เราเขียน Config file เอาไว้ใน Repository ของเรา แล้วนำไปผูกกับ CircleCI เวลาที่มี Trigger มา เจ้า CircleCI ก็จะทำการ test, build, deploy ให้เลย เราไม่ต้องวาง Server เอง
  • Airflow โดยเครื่องมือตัวนี้เนี่ย เรานำมาทำเป็น Worker สำหรับงานต่างๆ เช่น หากเราแก้ไข Config NGINX 1 ไฟล์ แต่เรามี Server ที่กระจายอยู่ทั่วโลก เราก็จะสั่งให้ Airflow เนี่ยไปทำการ Copy แล้วโยนไฟล์แทนเราไปยัง Server ต่างๆ ทั่วโลกเลย สบายจริ๊ง
Image for post
Image for post
Code stat when internship in Pronto Tools.

Pronto Mac

… ใช่ครับ ทุกคนใน Pronto Tools ใช้แมค 5555

Pronto Life

หลังจากอ่านเทคโนโลยีกันยาวๆ ไปแล้ว เรามาดูส่วนของการใช้ชีวิตกันดีกว่า ว่าที่นี่เป็นยังไง

  • MacBook บางคนอ่านแล้วคิดว่าถ้าไม่มีแมคแล้วจะฝึกงานที่นี่ได้เหรอ? ได้สิครับ ที่นี่มี MacBook ให้ทุกคนยืมได้แน่นอนจ้า
  • เวลา ที่นี่ถ้าหากใครจะทำอะไร ไปไหนกี่โมงก็แจ้งกันไว้ครับ เพราะเราไม่ใช่แค่ทีมแล้ว เราเป็นครอบครัว ไปธุระไหน, เที่ยวไหนก็ขอให้บอก ให้ทีมรับรู้ ทำงานให้เสร็จตามเป้าหมาย ไม่ใช่อยู่ๆ หายไปก็พอ
  • อาหาร และเครื่องดื่ม ดูภาพเลยดีกว่า
Image for post
Image for post
Sabai Sabai Meeting
Image for post
Image for post
Morning salad >//<
Image for post
Image for post
Image for post
Image for post
Futsal with Kaidee
Image for post
Image for post
Pool at Pronto Marketing

Pronto Internship


Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store