What you'll do
Role Summary
As a Staff Software Engineer, you will play a critical technical leadership role in designing, developing, and delivering highly scalable, reliable, and secure enterprise software solutions.
You will provide hands-on technical leadership across the software development lifecycle, from architecture and system design through implementation, deployment, and production operations. You will solve complex engineering problems, establish reusable architectural patterns, influence technical direction, and collaborate across engineering, product, and business teams.
This role requires deep expertise in Python, backend engineering, distributed systems, microservices, APIs, event-driven architecture, cloud-native technologies, system design, scalability, performance, and operational excellence.
What you'll do
- Design and develop highly scalable, available, resilient, and performant distributed systems.
- Lead architecture and technical design for complex applications, services, and integrations.
- Design and build scalable backend services and REST APIs using Python, Java, Spring Boot, and related technologies.
- Design and build secure platform services and integrations that enable governed AI and automation applications to use enterprise data, APIs, and workflows.
- Apply strong system-design and software-architecture principles, balancing immediate business requirements with long-term scalability and maintainability.
- Build distributed applications using microservices, service-oriented, and event-driven architectures.
- Design asynchronous and event-streaming solutions using technologies such as Kafka.
- Drive technical decisions around scalability, caching, concurrency, fault tolerance, data consistency, performance, and resiliency.
- Design and implement solutions using relational and NoSQL data technologies.
- Develop and deploy applications using cloud-native technologies, containers, Kubernetes, CI/CD pipelines, and modern DevOps practices.
- Establish engineering standards and reusable patterns that can be adopted across multiple services and engineering teams.
- Drive performance engineering, observability, monitoring, troubleshooting, and production readiness.
- Implement strong automated testing, code quality, security, and reliability practices.
- Participate in and lead architecture reviews, technical design reviews, and code reviews.
- Troubleshoot complex production issues spanning application, infrastructure, database, network, and distributed-system layers.
- Provide end-to-end technical ownership, from requirements and architecture through development, deployment, and production support.
- Mentor engineers and provide technical guidance while raising engineering standards across the broader organization.
- Collaborate and influence across engineering, product, architecture, and business teams to drive complex initiatives to completion.