Job Description
We are looking for a skilled and experienced Senior Golang Engineer to join our dynamic team. In this role, you will be responsible for designing, developing, and maintaining high-performance, scalable software solutions using the Go programming language. As a key member of our engineering team, you will have the opportunity to contribute to the architecture, implementation, and optimization of our cutting-edge products and services.
Responsibilities:
- Design and develop robust, scalable, and maintainable backend services and APIs using Go.
- Collaborate with cross-functional teams, including product management, design, and quality assurance, to understand requirements and translate them into technical solutions.
- Write clean, efficient, and well-documented code following best practices and coding standards.
- Optimize application performance and scalability through performance tuning, code refactoring, and system architecture improvements.
- Conduct code reviews, provide constructive feedback, and mentor junior team members to foster continuous learning and improvement.
- Implement automated tests to ensure the reliability and stability of the codebase.
- Stay current with emerging technologies and trends in the Go community, and evaluate their potential impact on our technology stack.
- Participate in Agile development processes, including sprint planning, estimation, and retrospectives.
- Troubleshoot and debug production issues promptly, collaborating with DevOps and support teams to resolve problems.
- Contribute to the overall technical direction and roadmap of the engineering team, advocating for best practices and innovative solutions.
Qualifications:
- Bachelor's degree in computer science, engineering, or a related field; advanced degree preferred.
- 3+ years of professional experience in software development, focusing on backend development using Go.
- Strong proficiency in Go programming language, including concurrency patterns, channels, and error handling.
- Experience with microservices architecture and distributed systems design principles.
- Solid understanding of data structures, algorithms, and computer science fundamentals.
- Familiarity with containerization technologies such as Docker and orchestration tools like Kubernetes.
- Experience with cloud platforms such as AWS, GCP, or Azure.
- Proficiency in using version control systems such as Git.
- Excellent problem-solving skills and attention to detail.
- Strong communication and collaboration skills, with the ability to work effectively in a team environment.