Software Engineer, Intern (dev)

-

Bangkok

ในแต่ละเดือนมีผู้ใช้ในประเทศไทยเข้ามาใช้เว็บไซต์ Wongnai.com และแอพ Wongnai เพื่อค้นหาร้านอาหาร ดูรูป อ่านรีวิวและ Content ต่างๆ เป็นจำนวนมากกว่า 13 ล้านคน

ทีม Frontend เป็นทีมที่พัฒนาเว็บ Wongnai.com ผลงานของทีมจึงเป็นสิ่งที่สร้างผลกระทบกับผู้ใช้งานโดยตรง ยังทำงานร่วมกับทีม SEO และ Marketing เพื่อหาจุดที่ต้องปรับปรุง เช่นเรื่อง Performance และโครงสร้างรวมถึงรูปแบบเนื้อหาของเว็บให้ตรงกับสิ่งที่ Google Search ต้องการ เพื่อให้หน้าเว็บของ Wongnai.com ที่มีจำนวนมากกว่า 2 แสนหน้าได้รับการจัดอยู่ในอันดับแรกๆ ของผลการค้นหา

ทีม iOS, Android เป็นทีมที่พัฒนาแอพ Wongnai ที่ตอบโจทย์การใช้งานและมอบประสบการณ์ที่ดีให้กับผู้ใช้งาน และยังปรับปรุงและพัฒนา Feature ใหม่ๆ อยู่ตลอด

ทีม React Native เป็นทีมที่พัฒนาแอพ RMS (Restaurant Management System) ซึ่งอยู่เบื้องหลังการทำงานของฝั่งร้านอาหารทั้งหมด ไม่ว่าจะเป็นการรับคำสั่งซื้ออาหารจากผู้ใช้แอพ LINE MAN หรือแอพ Wongnai, การจัดการสถานะของร้านอาหารหรือเมนูต่างๆ โดยมีจุดประสงค์เพื่อลดความยุ่งยากของการบริหารจัดการที่ฝั่งร้านอาหาร เพิ่มความเร็วในการบริการ รวมถึงลดความผิดพลาดต่างๆ ที่อาจจะเกิดขึ้นตั้งแต่ขั้นตอนการสั่งอาหารจนถึงการส่งอาหาร

ทีม Backend เป็นหนึ่งในทีมที่พัฒนาหรือสร้างรากฐานของระบบเพื่อรองรับการพัฒนา Feature ใหม่ๆ อยู่ตลอดเวลา เราเปิดให้ผู้ใช้ได้ Feature ใหม่ทุกๆ 2 สัปดาห์ ในการพัฒนา Product เราใช้หลัก Test-Driven Development (TDD)

ทีม Internal Tools เป็นทีมที่พัฒนาระบบ ERP ที่ช่วยเพิ่มประสิทธิภาพในการทำงานระหว่างฝ่าย ตัวอย่างเช่น Accounting, Sales, Inventory, IT Support ให้ทำงานร่วมกันได้รวดเร็ว มีระเบียบและมาตรฐานมากขึ้น รวมถึงการพัฒนาเครื่องมือต่างๆ เพื่อช่วยสนับสนุนการทำงานของแต่ละแผนกในบริษัท เช่น เครื่องมือเรียกดูข้อมูล ออกรายงาน, หน้าเว็บสำหรับประชาสัมพันธ์ตำแหน่งงานที่เปิดรับ ฯลฯ

ทีม Quality Assurance เป็นทีมที่ตรวจสอบคุณภาพ Product ของ Wongnai ทั้ง 3 แพลตฟอร์ม (Web, iOS, และ Android) ให้สามารถทำงานได้อย่างถูกต้องและมีประสิทธิภาพตาม Requirement 

ทีม Site Reliability Engineer (SRE) มีหน้าที่ดูแลโครงสร้างพื้นฐานของระบบ (Infrastructure administration) และทำงานร่วมกับทีมอื่นๆ ตามกระบวนการ DevOps เพื่อให้ทุกบริการของ Wongnai สามารถรองรับผู้ใช้งานจำนวนมากได้ตลอดเวลา โดยเน้นการพัฒนาเครื่องมือและระบบอัตโนมัติ (automation) เพื่อลดการทำงานซ้ำซ้อน

เราทำงานโดยใช้ Agile Methodology มีการออกอัพเดทใหม่ทุกๆ 1-2 สัปดาห์ เพื่อให้ Feature ที่พัฒนาขึ้นถูกใช้งานจริงและถูกวัดผลโดยเร็วเพื่อนำฟีดแบ็คที่ได้กลับมาปรับปรุงแอพให้ดียิ่งกว่าเดิม

อ่านเนื้อหาเกี่ยวกับเทคโนโลยีที่เราใช้ได้ที่ Life@Wongnai ครับ

Responsibilities

  • พัฒนา Wongnai เพื่อปรับปรุงและเพิ่มฟีเจอร์ใหม่ๆ โดยทำงานใกล้ชิดกับ Product Manager, UX/UI Designer, ทีม Web Frontend/Backend/iOS/Android และอาจรวมถึงทีมอื่นๆ ด้วยเช่น ทีม Marketing, Data Operations เพื่อร่วมกันคิดออกแบบการทำงานของระบบเพื่อรองรับฟีเจอร์ใหม่ๆ อยู่เป็นประจำ
  • ควบคุมคุณภาพของโค้ดให้มีคุณภาพที่ดี ทำงานได้ถูกต้อง ทดสอบและดูแลได้ง่าย มีความยืดหยุ่นพร้อมรับการเปลี่ยนแปลงในอนาคตได้ดี

 

Qualifications

  • มีความรู้และเข้าใจอย่างถูกต้องในเรื่อง Data Structure, Algorithm, OOP, Coding, Design Patterns, Best Practices ต่างๆ
  • สามารถทำงานร่วมกับคนอื่นๆ ได้ดีในสภาพแวดล้อมที่ต้องการความรวดเร็วในการทำงาน
  • มี Growth mindset และยินดีที่จะเรียนรู้สิ่งใหม่ๆ หรือสอนให้กับคนอื่นได้
  • ทีม Frontend
    • สามารถเขียน JavaScript (ES6), HTML5, CSS3 เพื่อพัฒนาโปรแกรมได้อย่างชำนาญ
    • มีความเข้าใจ Web Technology และ Responsive Design
    • หากมีประสบการณ์การใช้ ReactJS, Universal React, Redux, GraphQL, ImmutableJS, SCSS จะพิจารณาเป็นพิเศษ
  • ทีม iOS
    • สามารถใช้ภาษา Swift เพื่อพัฒนาโปรแกรมได้อย่างชำนาญ และสามารถทำงานกับโค้ดภาษา Objective-C ได้
    • มีความเข้าใจเรื่อง OOP, UIKit, Auto Layout
    • ถ้ามีความคุ้นเคยกับ Software Architecture แบบ MVVM และ Reactive Programming จะพิจารณาเป็นพิเศษ
    • ถ้ามีความคุ้นเคยกับการใช้ Libraries/Tools เช่น Alamofire, Realm, Gloss, RxSwift, Fastlane จะพิจารณาเป็นพิเศษ
  • ทีม Android
    • สามารถเขียนแอพ Android ได้ หรือเขียนโปรแกรมภาษา Java หรือ Kotlin ได้อย่างชำนาญ
    • ถ้ามีความคุ้นเคยกับ Design Pattern จะพิจารณาเป็นพิเศษ
    • ถ้ามีความคุ้นเคยกับการใช้ Fragment หรือมีประสบการณ์การใช้ Gson, Realm, ORMLite, Otto, Glide จะพิจารณาเป็นพิเศษ
  • ทีม React Native
    • มีประสบการณ์ในการพัฒนาแอพที่ใช้ Framework สำหรับ Cross Platform Development อย่างเช่น React Native, Flutter, NativeScript, Xamarin
    • ถ้ามีประสบการณ์ในการพัฒนาแอพบน iOS หรือ Android แบบ Native จะพิจารณาเป็นพิเศษ
    • ถ้ามีประสบการณ์ในการพัฒนาแอพด้วย React Native มาก่อน จะพิจารณาเป็นพิเศษ
  • ทีม Backend
    • สามารถใช้ภาษา Java เพื่อพัฒนาโปรแกรมได้อย่างชำนาญ
    • ถ้ามีความคุ้นเคยกับ Spring, Hibernate, Solr, gRPC, Docker, Amazon Web Services หรือ Cloud Platform อื่นๆ จะพิจารณาเป็นพิเศษ
  • ทีม Internal Tools
    • สามารถเขียนโปรแกรมภาษา Python และ JavaScript ได้อย่างชำนาญ
    • มีประสบการณ์การใช้งาน RDBMS เช่น MySQL, PostgreSQL
    • มีประสบการณ์การเขียนโปรแกรมเพื่อเรียกใช้ API ต่างๆ
    • มีประสบการณ์การใช้ Django, Node.js และ React
    • (Bonus) หากมีประสบการณ์การพัฒนาระบบ ERP โดยใช้ Odoo มาก่อนจะพิจารณาเป็นพิเศษ
  • ทีม Quality Assurance
    • มีความละเอียดรอบคอบในการควบคุมคุณภาพของ Product ที่จะปล่อยให้ผู้ใช้ใช้งาน
    • เข้าใจการทำงานของเว็บไซต์และแอพพลิเคชั่น
    • หากสามารถเขียน scripting language เช่น Python, PHP, Ruby, Shell script, SQL ได้จะพิจารณาเป็นพิเศษ
    • หากมีความรู้หรือมีประสบการณ์กับ Automated Test Tools หรือ Frameworks ต่างๆ เช่น Selenium จะพิจารณาเป็นพิเศษ
    • หากเข้าใจเรื่อง UX เป็นอย่างดี จะพิจารณาเป็นพิเศษ
  • ทีม Site Reliability Engineer
    • สามารถใช้งาน Linux และแก้ไขปัญหาระบบได้อย่างชำนาญ
    • มีความสามารถในการออกแบบและ implement infrastructure ให้ทนทานต่อข้อผิดพลาด
    • มีความรู้ในระบบ monitoring, logging และ tracing เพื่อช่วยให้ทีมตรวจสอบปัญหาได้อย่างรวดเร็ว
    • มีความรู้เกี่ยวกับ Continuous Delivery รวมถึงเทคนิคการ deliver software และการวัดผลในด้านเสถียรภาพ
    • สามารถทำงานร่วมกับผู้อื่นได้และเป็นผู้นำในการเปลี่ยนแปลง process การทำงานให้ดีขึ้นได้
    • มีความคุ้นเคยกับ Cloud Platform และ Kubernetes
    • มี Growth mindset และยินดีที่จะเรียนรู้สิ่งใหม่ๆ หรือสอนให้กับคนอื่นได้
    • (Bonus) ความรู้และสามารถทำการทดสอบในด้าน Security เบื้องต้นได้
    • (Bonus) มีความรู้ในภาษา Java, Python และ Node.js เพื่อให้สามารถทำงานร่วมกับทีมได้