Sr. Back End Engineer
Job Description
- Develop and maintain efficient, reusable, and reliable back-end services and APIs using Golang.
- Design and implement robust, scalable, and secure back-end architectures.
- Contribute to the overall system architecture and provide technical direction.
- Collaborate closely with front-end engineers, project managers, testers and other engineering teams to deliver seamless integration.
- Participate in the entire application lifecycle, with strong focus on coding, debugging, and performance optimization.
- Ensure code quality through automated testing, code reviews, mentorship, and adherence to best practices.
- Ensure the best possible performance, quality, scalability, and responsiveness of applications.
- Identify bottlenecks, bugs, and security vulnerabilities, and devise effective solutions to these problems.
- Design and manage complex databases, ensuring data integrity, security, and optimized query performance.
- Manage and improve legacy systems by leveraging cutting-edge technologies and architectural improvements.
- Maintain clear, comprehensive, and up-to-date documentation of code, systems, and architectural decisions.
Job Requirements
- Graduate from Bachelor, Diploma 3, or Diploma 4 degree from IT, Software Engineering, Computer Science, or other related majors.
- Have a minimum of 3 years of experience as a Back End Engineer with strong proficiency in Golang or Go Fiber.
- Good problem-solving skills, attention to detail, and ability to work in fast paced environment.
- Proven experience with Microservice Architecture and developing high-performance APIs.
- Strong proficiency in version control systems (Git, GitLab), including branching mechanisms and pull requests workflows.
- Experience working with SQL and NoSQL databases such as PostgreSQL and MongoDB, including optimizing complex queries.
- Hands-on experience with service-to-service communication protocols like gRPC.
- Solid experience with containerization and orchestration tools including Docker and Kubernetes.
- Experience with cloud platforms and services such as Google Cloud Platform (GCP).
- Experience with Software Development Life Cycle (SDLC) and Agile or Scrum methodologies..