Job Description:
Job Purpose / Overview
This role is a Senior Full Stack Software Engineer responsible for strengthening software engineering practices across two key technology areas: Automation Engineering and AI Engineering. The role will support the development and evolution of the Convergence automation platform and Next Generation Technologies (NGT) AI solutions, working closely with engineering teams to design, build, integrate, and improve production-grade software solutions. As a senior engineer, this role provides hands-on technical leadership and helps establish and implement engineering best practices across the software development lifecycle, including software architecture, coding standards, testing, CI/CD, security, observability, maintainability, and operational resilience.
The Senior Software Engineer will work across backend services, APIs, integrations, cloud infrastructure, and user-facing components where required, helping ensure solutions are scalable, reusable, supportable, and aligned with Mars engineering standards. The role acts as a technical bridge between AI Engineering and Automation Engineering, enabling both groups to leverage consistent software engineering patterns while supporting the continued development of Convergence and NGT AI capabilities. This role is a key enabler of Mars digital strategy, helping transform automation and AI capabilities into robust, enterprise-grade software products that can be safely scaled across business functions and geographies.
Key Responsibilities
Software Engineering Technical Leadership
- Provide senior hands-on software engineering support across Convergence and NGT AI, helping Automation Engineering and AI Engineering teams design and deliver production-grade solutions.
- Lead and contribute to solution design across backend services, APIs, integrations, frontend components, data flows, and cloud-native services.
- Translate complex business, automation, and AI requirements into clear technical designs, reusable software patterns, and maintainable implementations.
- Support technical decision-making across engineering teams, helping resolve design challenges, integration issues, technical debt, and delivery blockers.
- Promote pragmatic use of AI-assisted development while ensuring generated code follows the same engineering, security, testing, and review standards as manually developed software.
Engineering Quality Best Practices
- Define, implement, and promote software engineering best practices across Automation Engineering and AI Engineering, including coding standards, software design, testing, version control, dependency management, and documentation.
- Establish and maintain strong code review practices to ensure solutions are readable, maintainable, secure, testable, and aligned with platform standards.
- Drive automated testing practices across unit, integration, end-to-end, regression, and contract testing where appropriate.
- Help teams design solutions for reliability, scalability, observability, performance, resilience, and operational support from the beginning of the development lifecycle.
- Identify technical debt and engineering risks and work with the relevant teams to prioritize and implement improvements.
Platform Full Stack Engineering
- Contribute directly to the development and evolution of the Convergence platform and NGT AI capabilities, including shared frameworks, services, APIs, developer tooling, integrations, and reusable components.
- Develop and support backend services primarily using Python and related technologies while contributing to frontend and full-stack components where required.
- Design and integrate APIs, databases, messaging services, cloud services, authentication mechanisms, and enterprise systems.
- Support cloud-native engineering practices across Azure, including containers, managed services, infrastructure integration, identity, security, and deployment patterns.
- Help improve CI/CD pipelines, development environments, automated quality gates, release processes, and developer experience.
Collaboration Across AI Automation Engineering
- Act as a software engineering bridge between AI Engineering and Automation Engineering, ensuring both groups can leverage consistent engineering practices and shared platform capabilities.
- Work with AI engineers to productionize models and AI capabilities through robust APIs, services, integrations, deployment patterns, monitoring, and supporting software.
- Work with Automation Engineers to evolve automations from isolated scripts or legacy RPA implementations into maintainable, testable, and reusable software solutions.
- Partner with architects, platform engineers, security teams, product owners, and other engineering teams to ensure solutions integrate effectively with the wider technology ecosystem.
Mentoring Engineering Capability
- Mentor engineers across different experience levels in software design, Python, full-stack development, testing, debugging, architecture, Git, CI/CD, and production engineering practices.
- Provide technical guidance through design discussions, pairing, code reviews, troubleshooting, and knowledge-sharing sessions.
- Create and maintain engineering documentation, reference implementations, architecture decisions, reusable patterns, and technical runbooks.
- Help continuously improve engineering maturity across Convergence and NGT AI by identifying opportunities for standardization, automation, reuse, and simplification.
Job Specifications / Qualifications
- Education Professional Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or a related field, or equivalent professional experience.
Knowledge / Experience
Required
- 7 years of professional software engineering experience building and supporting production-grade applications.
- Strong full stack development experience across backend services, APIs, frontend applications, databases, and integrations.
- Strong Python development experience, including object-oriented design, API development, testing, and maintainable software architecture.
- Hands-on experience designing and building cloud-native applications using containers, managed cloud services, APIs, messaging, and event-driven patterns.
- Strong experience with modern frontend technologies such as JavaScript/TypeScript and frameworks such as React or equivalent.
- Strong understanding of distributed systems, microservices, application security, scalability, resilience, and observability.
- Hands-on experience with Git, CI/CD, Docker, automated testing, and Infrastructure as Code.
- Experience with relational and NoSQL databases, authentication and authorization, and enterprise system integrations.
- Strong troubleshooting, software design, code review, communication, and collaboration skills.
- Fluent English, written and verbal.
Preferred
- Strong experience with Microsoft Azure and Azure-native application services.
- Experience with FastAPI, React, Kubernetes, Azure Container Apps, or equivalent cloud-native technologies.
- Experience with messaging and event-driven technologies such as Azure Service Bus, Event Grid, Kafka, or equivalent.
- Experience with Terraform, Bicep, or equivalent Infrastructure as Code tooling.
- Experience with observability platforms and practices including logging, metrics, tracing, monitoring, and alerting.
- Experience building reusable platforms, frameworks, shared services, or developer tooling.
#TBdigital