Position: Senior Golang Engineer
Company: GlobalLogic
Category: Golang
Experience required: 5y
English level: intermediate

**The client is a global leader in cloud infrastructure and business mobility. It accelerates customers’ digital transformation journey by enabling enterprises to master a software-defined approach to business and IT. With our solutions, organizations are building extraordinary experiences by mobilizing everything, responding faster to opportunities with modern data and apps hosted across hybrid clouds, and safeguarding customer trust with a defense-in-depth approach to cybersecurity.**

**Requirements:**
➡ 4+ years of experience in Go 
➡ Experience with K8s Operators, Protobufs (Proto3), JSON/gRPC is required.
➡ Experience developing Micro-services architecture-based software components on K8s.
➡ Knowledge of Typescript programming language is a big plus.
➡ Background in developing policies/control-plane for Application Security related products like Secure Web Gateways, API Gateways, Reverse Proxies, and Forward Proxies will be a plus.
➡ Expertise in control plane/policy frameworks and distributed systems.
Able to work with product management teams to understand and converse on high-level technical details.
➡ Excellent verbal & written communication skills.
➡ BS/MS degree in Computer Science, or equivalent.

**Responsibilities:**
➡ Design & Develop Microservices to implement various features in Go.
➡ Design & Develop Interfaces & APIs for interfacing with backend logic using JSON, GraphQL, gRPC etc.
➡ Design & Develop framework for policy distribution/synchronization in a distributed environment.
➡ Extend K8s based controller architecture with CRDs and K8s Operator based add-on business logic.
➡ Work with distributed systems & applications that may span across multiple clouds such as AWS, Azure, GCP etc.
➡ Deploy microservices to Kubernetes using Continuous Integration and Continuous Deployment (CI/CD) systems.
➡ Work with the team and product management to review and refine delivery requirements.
➡ Write technical design documents and hold reviews.
➡ Participate in all team scrum ceremonies.
➡ Communicate with internal consumers of the team’s software and gather requirements and facilitate adoption of your solutions.