
Lead Golang Engineer
- London
- Permanent
- Full-time
- Establish and enforce best practices for microservices architecture, ensuring scalability, reliability, and maintainability of our solutions.
- Collaborate with cross-functional teams to define project requirements and deliver scalable solutions.
- Mentor team members on microservices design principles, patterns and technologies.
- Take personal responsibility for creating and maintaining microservices, primarily in Golang.
- Iterate design and build to solve bugs, improve performance, and add new features.
- Containerise your services and make ready for deployment onto a k8s environment using helm charts.
- Ensure resilience and reliability of services.
- Develop a complete understanding of end-to-end technical architecture and dependency systems. Apply that understanding in code.
- Write tests with high coverage including unit, contract, e2e, and integration.
- Version control code with git and build, test and deploy using ci/cd pipelines.
- Build and test remotely on your own machine and deploy to low-level environments.
- Review team members code, identifying errors and improving performance and readability. Drive code design and process trade-off discussions within team when required.
- Report status and manage risks within your primary application/service.
- Perform demos and join acceptance discussions with analysts, developers and product owners.
- Assist in task planning and review as part of a sprint-based workflow.
- Estimate and own delivery tasks (design, dev, test, deployment, configuration, documentation) to meet the business requirements.
- The role is hybrid, and the expectation is that you attend the office according to Mastercard policy.
- Own feature engineering within the team, collaborating with a separate data science to understand and implement their requirements.
- Bridge the gap between architecture and engineering, work alongside product architects to align with software design.
- Demonstrable ability to write high quality Python/Golang and SQL in a production context. You are happy to learn new programming languages and frameworks as necessary.
- Experience with large volumes of data and high throughput, low latency solutions built on Kafka and Kubernetes
- You have experience with, and are interested in, contemporary approaches to service design, including the use of containers and container orchestration technologies, streaming data platforms, APIs, and in-memory/NoSQL stores.
- You have experience in resolving different solutions and approaches to problems and can choose between pragmatic and rigorous solutions depending on the situation.
- You are comfortable working in a devops-based software development workflow, including building, testing, and continuous integration/deployment. You are also happy to be evolve along with the development process and contribute to its success.
- You are comfortable communicating with a range of stakeholders, including subject matter experts, data scientists, software engineers, devops and security professionals.
- You have the ability to engage with best practices for code review, version control, and change control, balancing the need for a quality codebase with the unique and particular demands of scale-up stage software engineering.
- You have experience optimising solution performance with a constrained set of technologies.
- You have experience or are keen to engage with productionising machine learning technologies combined with large scale feature engineering.