Back End Engineer
Job Description
- Design, build, and maintain efficient, reusable, and reliable Golang code. Develop and maintain back end services and APIs.
- Design and implement robust, scalable, and secure back end architectures. Contribute to the overall system architecture and technical direction.
- Collaborate with front-end engineer to integrate user-facing elements with server side logic.
- Participate in the entire application lifecycle, focusing on coding and debugging.
- Ensure code quality through automated testing, code reviews, and adherence to best practices.
- Ensure the best possible performance, quality, and responsiveness of applications. Identify bottlenecks and bugs, and devise solutions to these problems.
- Design and manage databases, ensuring data integrity and security. Optimize database queries for performance.
- Manage cutting-edge technologies to improve legacy applications.
- Provide training and support to internal teams.
- Maintain clear and comprehensive documentation of code and systems.
Job Requirements
- Graduate from Bachelor, Diploma 3, or Diploma 4 degree from IT or other related majors.
- Experience in Go Language, especially working in frameworks such as Go Fiber for minimum 2-3 years.
- Experience developing high performing APIs and Microservice Architecture.
- Experience with version control systems such as Git or Gitlab, Branching Mechanism, Pull Request.
- Experience with SQL & NoSQL database such as PostgreSQL & MongoDB.
- Experience with pub/sub technology such as Kafka, RabbitMQ.
- Experience with communication service to service such as gRPC.
- Experience with containerization and orchestration technologies such as Docker, Kubernetes.
- Expereince with cloud platforms and services such as AWS, GCP, Azure.
- Understand the Software Development Life Cycle concept and Agile, Scrum methodologies.