We are looking for software engineers at all experience levels to help build out the tools and systems needed to drive high developer productivity
Responsibilities
-
- As a Senior Software Engineer (Infrastructure), you will engineer the platforms used by developers to do their work and those used by customers to access our software. You will help support software development efforts across multiple teams, develop efficient compilation, testing, and release workflows. To this end you will interface closely with the software teams to design, and implement productive and engaging workflows and processes. You will design, build, and maintain our internal infrastructure including our continuous integration (CI) system, compute farm, and software deployment systems. The types of tools you will be responsible for developing encompasses containers, build systems, installers, and other internal automation scripts and tooling. To manage the systems effectively, you will develop dashboards and reports to monitor and improve the functioning of our internal systems.
Requirements
-
- 5+ years of experience in a software development role
- Experience developing software in C++ and python
- Experience with C or C++ build systems and tools (CMake or similar)
- Experience with python packaging infrastructure (pip, wheels, pypi)
- Proficient in one or more shell scripting languages (bash or similar)
- Proficient at developing containerized workflows (Docker, Podman, kubernetes)
- Proficient at developing continuous integration (CI) systems
- Good understanding of git and github
- High familiarity with linux systems administration
Preferred Skills & Experience (Not Required)
-
- Experience in a platform, dev-ex, or site-reliability engineering role
- Experience developing and maintaining CI systems (Jenkins, Teamcity, gitlab)
- Experience building and deploying containerized systems (Docker, kubernetes)
- Experience with software package management and distribution (apt, rpm, pypi,)
- Experience developing github hooks, actions, and integrations
- Experience with virtualization and device drivers
- Knowledge of release management best practices
- Knowledge of git internals and tools for repository transformations