
Senior Software Engineer - Release
- New York City, NY
- Permanent
- Full-time
You will have the opportunity to work with the team that is responsible for how we ship our software to production. This role will incorporate stakeholder needs across the engineering organization to drive positive improvements to our overall developer productivity and our release process and provide world class tooling for deployments to the TTD engineering team. You will own features end-to-end, and work on long-term strategic work to enhance existing features or tools and continuously improve efficiency of our deployment processes. This team works along with other teams focused on the remaining aspects of the SDLC lifecycle and hence you will be partnering with them to drive changes to our systems. Our system performs every day, 24/7, serving global traffic. We build a distributed system in a highly collaborative environment, utilizing a broad range of technologies. Our backend developers work on finding solutions to algorithmic, optimization, and scale challenges in everything we do.What you'll do:
Some of the work that you will be doing to help us deliver on our mission is:
- Develop continuous deployment (CD) platform at scale. You're building this platform for anyone who wants to develop software across the company, not for one team or one project. This platform needs to be cloud native (CNCF standard), extensible, configurable, and makes the deployment process intuitive for anyone across the company.
- Build new features and components in our developer tools, processes, and services
- Improve existing features and components to increase efficiency across our engineering organization
- Review code from your peers and grow others through example, mentorship, and teaching
- Drive complex changes involving multiple components and complex systems run by other software engineers
- Build components and processes that are used by other engineers across the organization
- Leverage data to analyze opportunities and communicate the impact of your work on operational efficiency
- We are a global team with diverse backgrounds, experiences, and perspectives. To complement this team, you will welcome ideas that are different from your own and be well versed in building from common ground to value, seek out, and foster invisible and visible dimensions of diversity.
Our culture is much deeper than just having fun together (though we do that well, too). We take pride in our engineers being trust-builders, generous givers, scrappy problem solvers, and gritty pursuers of excellence. You do not have to meet all the requirements below, but we believe that people who meet most of them will have a higher likelihood of succeeding in this role:
- You care deeply about improving developer experience, tools, and engineering processes
- You have 5+ years of software development engineering experience
- You have experience with using or extending ArgoCD, Argo Rollouts, Spinnaker, or any cloud native CI/CD platforms (AWS/Azure/GCP)
- You have experience with cloud / virtualization environments (AWS, Azure, Docker, Kubernetes, et al)
- You have a Bachelor's/Master's level degree in computer science or relevant engineering-related field or equivalent experience. Not everyone has the same level of access to opportunities. What is most important to us is what and how you can contribute, which is why our consideration is not limited by the level of education you have
- You drive innovative solutions while being sensitive to the current needs and realities of your fellow engineers
- You have experience in leading and completing projects with a high degree of technical ambiguity
- You have experience of working with non-technical stakeholders
- You have additional nice-to-have experience in the following areas:
- Experience with continuous integration and continuous deployment (CI/CD), ideally both as a consumer and as someone who has enabled such solutions in their past roles
- Proficiency with a modern language such as C# or Java or Golang or Python
- Experience working in large codebases, organizing and refactoring
- Experience with configuration management