Position: Middle Golang Engineer
Company: GlobalLogic
Experience required: 2y
English level: intermediate

Description:
We are looking for a talented and experienced middle Golang software engineer for the project which is related to a high-loaded backend programmatic supply-side platform (SSP) for an American multi-platform audio content and entertainment organization which owns a full ecosystem for serving ads via audio streams. The engineer will have the opportunity to be part of a strong R&D group that creates h and scalable backend cloud agnostic applications, uses large amounts of traffic, and utilizes cutting-edge technologies.

Requirements:
At least 2 years of experience building and deploying complex scalable software solutions
Minimum 1-2 years of experience in Golang
Self-starter, knows how to work around dead ends, can pick something up on the fly
Good analytical mind with p skills on your own or brainstorming with colleagues
Strong knowledge and experience in building REST based high-loaded solutions
Strong knowledge of microservices architecture, distributed systems & communication protocols
Strong experience with Docker
Good understanding of SOLID principles, including design skills using DDD, OO and Design Patterns
Degree in computer science or equivalent experience
Strong experience with working in Agile (Scrum) environment
Strong communication skills, including Upper-Intermediate English level
Experience in mentoring others and leading teams would be a big plus
Technical Stack:Go, Goa, REST API, Swagger, Microservices, Docker, Cloud-agnostic, Git, Jenkins
Job Responsibilities:
Develop microservice applications from scratch
Deliver high-level quality solution
Work as part of Agile (Scrum) team to develop new functionality & products
Negotiate with the customer
Estimate tasks for the team
Ensure high quality of deliverables
Generate and maintain technical documentation
Collaborate with product owners to break down high level requirements into understandable pieces of work
Refactor, optimize and fix defects in existing code base – identifying best ways to refactor opportunistically as well as a longer-term plan
Review team members code, driving best practices across the team
Research new technologies and approaches to improve existing products, providing input into the technology roadmap