Overview
We are seeking a Lead Backend Software Engineer to join a high-profile program focused on developing secure, cloud-native data services that facilitate data-driven research and innovation on a national scale. In this foundational role, you will collaborate closely with senior engineers and the Engineering Manager to define and implement architectural standards and data services for a complex federated data platform. This position emphasizes building distributed data services rather than traditional application development, requiring a balance of strategic architectural thinking and hands-on software engineering skills.
Responsibilities
- Lead the design and development of scalable, cloud-native data services supporting a federated platform.
- Define architectural patterns, engineering standards, and best practices for implementation across the organization.
- Architect and develop distributed server-side services using modern engineering practices.
- Design high-performance data processing and streaming workflows utilizing technologies like Apache Spark or DataFusion.
- Implement Kubernetes-based services and manage containerized workloads.
- Build secure APIs and backend services with a focus on authentication, authorization, and compliance.
- Establish CI/CD pipelines and promote practices such as Infrastructure as Code and automated testing.
- Mentor engineering team members and advocate for engineering excellence within the team.
Requirements
- Proven experience as a Lead Engineer, Principal Engineer, Staff Engineer, Software Architect, or a comparable senior technical role.
- Strong background in server-side software engineering across languages like Python, Java, Go, or Scala.
- Experience designing and building distributed data services or large-scale backend platforms.
- Familiarity with Apache Spark, Apache DataFusion, or other distributed data processing technologies.
- Solid understanding of architecture and design principles for distributed systems and data services.
- Experience with cloud-native applications deployed on AWS, Azure, or GCP.
- Proficient in using Kubernetes and Docker for managing containerized applications.
- Experience developing and maintaining CI/CD pipelines and applying Infrastructure as Code methodologies.