Golang Engineer
Summary
Junior-to-mid backend engineer building Go services in a classic 3-tier architecture: developing REST and gRPC APIs, wiring up message queues for async processing, writing SQL/ORM queries against relational databases, and migrating legacy Java services to idiomatic Go with strong test coverage.
We are looking for a Backend Engineer with a strong foundation in Golang to join our engineering team.
You will work closely with senior engineers to build services between database and frontend, working within a classic 3-tier application architecture. A key focus of this role will be API development—utilizing both traditional REST interfaces and modern gRPC protocols—as well as managing asynchronous communication using Message Queues (MQ).
Key Responsibilities
- API Development: Build and maintain reliable APIs using REST and gRPC to smoothly connect frontend user interfaces with our backend data layers.
- Asynchronous Messaging: Implement and maintain event-driven features by integrating backend services with Message Queues (MQ) for reliable background processing.
- Data Integration: Write efficient database queries and help manage data models.
- Maintain 3-Tier Architecture: Help implement clean separation of concerns between the presentation, application, and database layers.
- Testing & Quality: Write comprehensive unit and integration tests in Go to ensure the migrated services are rock-solid and match legacy behavior.
- Feature Migration: Work alongside senior team members to read existing Java code, understand the business logic, and rewrite it into clean, idiomatic Go.
Required Skills & Qualifications
- Golang Experience: 1–3 years of professional experience writing backend services in Go, or a strong personal portfolio showing a deep understanding of Go fundamentals (slices, pointers, basic concurrency).
- API & Messaging Skills: Solid understanding of building APIs and practical exposure to Message Queues (e.g., RabbitMQ, Kafka, AWS SQS, or ActiveMQ) for decoupling services.
- Architectural Awareness: Basic understanding of 3-tier application engineering (how a client, server, and database interact).
- Database Basics: Familiarity with relational databases (like PostgreSQL or MySQL) and how to write standard SQL queries and ORM frameworks (e.g., GORM).
- Microservices & Data Consistency: Formulated architecture requirements for multi-service transactions; implemented robust rollback and compensating transaction strategies to maintain seamless data consistency.
- Eagerness to Learn: A growth mindset—you are excited to take feedback from code reviews, learn best practices, and level up your engineering skills.
Nice to Have
- Experience or exposure to gRPC and Protocol Buffers (protobuf) in Go.
- Familiarity with Docker / Kubernetes and basic containerization concepts.
- Exposure to cloud platforms (like AWS or GCP).
- Experience using Git.