เกี่ยวกับตำแหน่งนี้
เรากำลังมองหา Full Stack Software Engineer ที่มีความเชี่ยวชาญสูง โดยมีประสบการณ์ด้าน Golang และเฟรมเวิร์ก JavaScript สมัยใหม่ เพื่อเข้าร่วมทีมของเราในรูปแบบสัญญาจ้าง ในตำแหน่งนี้ คุณจะได้ทำงานกับสถาปัตยกรรมแบบไมโครเซอร์วิส (microservices) พัฒนา backend ที่สามารถขยายขนาดได้ด้วย Golang (Fiber) และสร้าง frontend ที่มีประสิทธิภาพสูงด้วย Next.js และ React นอกจากนี้ คุณจะได้ทำงานกับระบบแบบกระจาย (distributed systems) และเทคโนโลยีการสื่อสารระหว่างบริการ เช่น RabbitMQ และ Kafka เพื่อให้การสื่อสารระหว่างเซอร์วิสมีความเสถียรและมีประสิทธิภาพ นี่เป็นโอกาสที่ยอดเยี่ยมในการได้ทำงานกับระบบที่มีความซับซ้อนและมีผลกระทบสูง ในสภาพแวดล้อมการทำงานแบบ remote เต็มรูปแบบ ที่ขับเคลื่อนโดยทีมวิศวกรรมอย่างแท้จริง
สิ่งที่คุณจะทำ
- ออกแบบและพัฒนา backend ที่สามารถขยายขนาดได้โดยใช้ Golang (Fiber)
- สร้างและดูแลแอปพลิเคชันฝั่ง frontend สมัยใหม่ด้วย Next.js และ React
- ออกแบบและพัฒนาระบบแบบไมโครเซอร์วิส (microservices)
- พัฒนาและเชื่อมต่อ API โดยใช้ REST และ gRPC
- พัฒนาการสื่อสารแบบ asynchronous โดยใช้ RabbitMQ และ Kafka
- ปรับปรุงประสิทธิภาพของระบบด้วยกลยุทธ์การ cache ด้วย Redis
- ทำงานร่วมกับทีมข้ามสายงานเพื่อกำหนด ออกแบบ และส่งมอบฟีเจอร์
- รักษาคุณภาพของโค้ดผ่านการทดสอบ การรีวิวโค้ด และแนวปฏิบัติที่ดี
- วิเคราะห์และแก้ไขปัญหาทางเทคนิคที่ซับซ้อนทั้งในระบบ
สิ่งที่เรามองหา
- มีประสบการณ์อย่างแข็งแกร่งในการพัฒนา backend ด้วย Golang
- มีประสบการณ์ใช้งาน Fiber framework (หรือเฟรมเวิร์ก Go ที่ใกล้เคียง)
- มีประสบการณ์ด้าน frontend อย่างดีด้วย React และ Next.js
- มีประสบการณ์ใช้งานสถาปัตยกรรมแบบไมโครเซอร์วิส (microservices)
- มีประสบการณ์กับ message broker เช่น RabbitMQ และ/หรือ Kafka
- คุ้นเคยกับ gRPC และ RESTful APIs
- มีประสบการณ์ใช้ Redis สำหรับ caching หรือจัดเก็บข้อมูล
- มีความเข้าใจอย่างดีเกี่ยวกับระบบแบบกระจาย (distributed systems) และการขยายระบบ (scalability)
- มีความชำนาญในการใช้ Git และ workflow การพัฒนาสมัยใหม่
- สามารถทำงานได้อย่างอิสระในสภาพแวดล้อมแบบ remote
มีจะดีมาก
- มีประสบการณ์ในการใช้งาน Docker และ Kubernetes
- คุ้นเคยกับกระบวนการ CI/CD pipelines
- มีประสบการณ์ใช้งานแพลตฟอร์มคลาวด์ (AWS, GCP หรือ Azure)
- มีความรู้เกี่ยวกับเครื่องมือด้าน observability เช่น Prometheus, Grafana เป็นต้น
- มีประสบการณ์กับสถาปัตยกรรมแบบ event-driven
- มีประสบการณ์ทำงานกับระบบที่มีโหลดสูง (high-load) หรือระบบแบบเรียลไทม์