A Senior Software Engineer, Developer Experience takes ownership of the developer workflow, from early design to project delivery. They select or build the right tools to remove obstacles and reduce friction for other engineers. They collaborate with other engineers from the whole organization to understand their pain points and address them accordingly, while maintaining high standards of quality and rigorous engineering practices. They contribute to and execute roadmaps for both short term and long-term solutions to streamline the software development lifecycle.
Here’s What You’ll Be Doing
- Fostering a collaborative environment by bringing people together to come up with better designs and approaches to complex problems
- Collaborate with engineers and leadership to deeply understand developer workflows and systematically improve them
- Lead cross-functional projects that result in reliability, efficiency, and overall cost-savings wins
- Champion, own and implement improvements to coding standards and practices
- Design, build, and maintain developer tools
- Finding practical technological solutions
- Adopt and deploy off-the-shelf tools to reduce developer friction
- Analyzing and estimating work in an agile environment
- You’ll be working on cutting edge programmatic ad tech systems that handle hundreds of billions of transactions every day
Here's What You Need
- Knowledge of Python and/or Go, with a focus on the surrounding ecosystem of tools, libraries, and best practices
- Experience developing CI/CD pipelines used by multiple teams and products (preferably GitLab specific experience)
- Experience with containerization and orchestration technologies, such as Docker and Kubernetes
- Comfortable presenting milestones, accomplishments, and general updates related to developer experience to the engineering organization
- Designing, developing, maintaining, and documenting internal tools for internal and external customers
- Broad experience across many technologies and being comfortable working in new areas
- You are team-oriented and embrace change.
- Excellent problem-solving skills, the ability to think differently, and an understanding that compromise, negotiation, and practicality are important qualities
- Understanding and hands on experience with all aspects of developing end-to-end web applications and microservices. This includes architecting, coding, debugging, optimizing/refactoring, automated testing, and deploying of APIs
- Modular, extensible, reusable, maintainable, performant, and testable code
- Automated testing platforms and unit tests
- General computer science / engineering knowledge: Algorithms, design patterns, software architecture, etc.
- Experience building, maintaining, and delivering short term and long-term roadmaps