Android Developer
เรากำลังมองหา Android Developer ที่สนใจหรือมีประสบการณ์ด้านระบบชำระเงิน (Payment Systems) มาร่วมพัฒนาแอปพลิเคชันที่มีความปลอดภัยและเสถียรภาพสูง สำหรับเครื่อง EDC และเครื่องรับชำระเงินที่ใช้ระบบปฏิบัติการ Android คุณจะได้ทำงานร่วมกับทีม Product, Backend, QA, Operations รวมถึงผู้ให้บริการระบบชำระเงินและผู้ผลิตอุปกรณ์ ในทุกขั้นตอนของการพัฒนาแอปพลิเคชัน ตั้งแต่การออกแบบโซลูชัน เชื่อมต่ออุปกรณ์ ทดสอบระบบ นำไปใช้งานจริง (Deployment) ไปจนถึงการซัพพอร์ตระบบบนโปรดักชัน
หน้าที่ความรับผิดชอบหลัก
ออกแบบ พัฒนา และดูแลรักษาแอปพลิเคชัน Android สำหรับเครื่อง EDC และอุปกรณ์รับชำระเงิน
พัฒนาระบบขั้นตอนการทำธุรกรรม (Transaction flows) เช่น การขาย (Sale), ยกเลิกรายการ (Void), คืนเงิน (Refund), สรุปยอด (Settlement) และกระทบยอด (Reconciliation)
เชื่อมต่อแอปพลิเคชันเข้ากับ Payment SDKs, Terminal SDKs, Backend APIs และบริการ Third-party อื่นๆ ที่เกี่ยวข้อง
เชื่อมต่อและควบคุมการทำงานของฮาร์ดแวร์บนเครื่อง EDC เช่น เครื่องอ่านบัตรชิปการ์ด, เครื่องอ่าน Contactless/NFC, เครื่องอ่านแถบแม่เหล็ก, แป้นกดรหัส (PIN Pads) และเครื่องพิมพ์ใบเสร็จ
ดูแลแอปพลิเคชันให้ทำงานได้อย่างเสถียรและราบรื่น รองรับทั้งเครือข่าย Wi-Fi, สายแลน (Ethernet) และเครือข่ายมือถือ
ออกแบบโครงสร้างแอปพลิเคชัน (Architecture) ให้มีความปลอดภัย ดูแลรักษาง่าย นำไปทดสอบได้จริง และรองรับการขยายตัวในอนาคต
ปกป้องและรักษาระบบความปลอดภัยของข้อมูลผู้ถือบัตร ข้อมูลธุรกรรม ข้อมูลยืนยันตัวตน (Credentials) และข้อมูลสำคัญอื่นๆ
ตรวจสอบและแก้ไขปัญหาที่เกิดขึ้นกับซอฟต์แวร์ ฮาร์ดแวร์ เฟิร์มแวร์ Device SDKs และการเชื่อมต่อเครือข่าย
เขียน Unit Test และ Integration Test รวมถึงร่วมทดสอบการทำงานของระบบตั้งแต่ต้นจนจบ (End-to-End Testing) บนเครื่อง EDC จริงจัดทำเอกสารทางเทคนิค คู่มือการเชื่อมต่อระบบ และคู่มือการติดตั้งแอปพลิเคชัน
คุณสมบัติที่ต้องการ
วุฒิปริญญาตรีในสาขาวิทยาการคอมพิวเตอร์, วิศวกรรมซอฟต์แวร์, เทคโนโลยีสารสนเทศ หรือสาขาที่เกี่ยวข้อง
มีประสบการณ์ทำงานด้านการพัฒนาแอปพลิเคชัน Android อย่างน้อย 3 ปี
มีทักษะการเขียนโปรแกรมด้วยภาษา Kotlin หรือ Java เป็นอย่างดี
เข้าใจการทำงานของ Android SDK, Application Lifecycle, Gradle และการจัดการ Permission (Permission management) เป็นอย่างดี
มีประสบการณ์ในการเชื่อมต่อ RESTful APIs และการจัดการข้อมูลแบบ JSON
มีความเข้าใจรูปแบบสถาปัตยกรรมซอฟต์แวร์ (Software architecture patterns) เช่น MVVM, Clean Architecture หรือ Modular Architecture
เคยใช้งาน Android Jetpack components เช่น ViewModel, Room, Navigation และ WorkManager
มีประสบการณ์การใช้งาน Coroutines, Flow หรือเครื่องมือ Asynchronous programming อื่นๆ
คุ้นเคยกับการใช้งาน Git, การทำ Code Review และขั้นตอนการทำงานร่วมกันเป็นทีมในกระบวนการพัฒนาซอฟต์แวร์
มีทักษะในการแก้ไขปัญหาเฉพาะหน้าได้ดี (Troubleshooting) สามารถวิเคราะห์ Log และ Debug ปัญหาบนอุปกรณ์จริงได้
คุณสมบัติที่พิจารณาเป็นพิเศษ
มีประสบการณ์พัฒนาแอปพลิเคชันสำหรับเครื่อง EDC Android, ระบบ Smart POS หรือเครื่องรับชำระเงิน
คุ้นเคยกับการใช้งาน SDK สำหรับเครื่อง EDC, POS, ระบบชำระเงิน หรืออุปกรณ์อื่นๆ ที่เกี่ยวข้อง
เข้าใจขั้นตอนการทำธุรกรรม (Transaction flows) ของบัตรเครดิต, บัตรเดบิต, QR Payment และ Digital Wallet
มีความรู้เกี่ยวกับเทคโนโลยีการชำระเงิน เช่น EMV, การเสียบบัตร (Contact), แตะบัตร (Contactless), NFC และระบบกดรหัส (PIN-entry)
คุ้นเคยกับรูปแบบมาตรฐานการส่งข้อมูลธุรกรรมชำระเงิน เช่น ISO 8583
มีความเข้าใจมาตรฐานความปลอดภัยของระบบชำระเงิน เช่น PCI DSS, PCI PTS และ EMV
มีประสบการณ์เชื่อมต่ออุปกรณ์ต่อพ่วง เช่น เครื่องพิมพ์ใบเสร็จ, SAM cards หรือ Secure Elements
มีประสบการณ์ด้านการจัดการ Certificate, การจัดการคีย์เข้ารหัส (Cryptographic key management) หรือการเข้ารหัสข้อมูลธุรกรรม
มีประสบการณ์ทำ Automated testing, CI/CD pipelines และ Android application signing
เข้าใจและจัดการกับข้อจำกัดของอุปกรณ์ได้ดี เช่น เครื่องที่ใช้ Android เวอร์ชันเก่า, หน่วยความจำจำกัด, สัญญาณอินเทอร์เน็ตไม่เสถียร รวมถึงการจัดการระบบเมื่อออฟไลน์ หรือต้องส่งข้อมูลซ้ำ (Retry scenarios)
มีประสบการณ์ทำงานกับระบบที่ต้องพร้อมใช้งานตลอดเวลา (High-availability) หรือระบบที่มีปริมาณการทำธุรกรรมจำนวนมาก (High-volume)