Sr. Back End Engineer
Job Description
- Design, build, 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, and other engineering teams to deliver seamless integration and end-to-end solutions.
- 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 or in a similar role with strong proficiency in Go Language (Golang), particularly with frameworks/libraries such as Go Fiber.
- Proven experience in developing high-performance APIs and implementing Microservice Architecture.
- Strong proficiency in version control systems (Git, GitLab), including branching mechanisms and pull requests workflows.
- Extensive experience working with SQL and NoSQL databases such as PostgreSQL and MongoDB, including optimizing complex queries.
- Hands-on experience with message brokers like Kafka.
- Familiarity and experience with service-to-service communication protocols like gRPC.
- Solid experience with containerization and orchestration tools including Docker and Kubernetes.
- Practical knowledge of cloud platforms and services such as Google Cloud Platform (GCP).
- Strong understanding of Software Development Life Cycle (SDLC) and Agile/Scrum methodologies.