Software Engineer, Engineering Productivity
“EngProd is the new DevOps”. We are pioneering a unique approach to optimizing engineering operations. We combine the best thinking from disciplines such as DevOps and lean methodologies, with data and smart automation to solve some of the hardest challenges with scaling a software delivery organization.
If you like to solve hard problems in creative ways, enjoy optimizing workflows and crafting a great developer experience, then consider joining us in this mission.
Our core beliefs:
- Right information to the right person at the right time. We apply this principle to almost every solution we design. Whether that’s a slack bot informing your team they are requested to review a pull request, or looking up test failures to detect whether it’s a known failure reason or a flaky test to inform the affected developer.
- Workflows for humans and machines are symbiotic. In an increasingly technology-driven world, more of our work involves working with automation. This frees up humans to do what they uniquely do best, while letting machines automate the rest. For example, why should a developer have to babysit a pull request? They can delegate this task to a bot to merge and deliver their changes once tests pass and they receive code review approvals.
As part of this role you will have the opportunity to work with people across the company (engineers within R&D, leaders within different departments, engineers supporting business operations) and make highly visible and impactful changes to optimize our operations. You will spend time getting a deep understanding of different personas and their workflow challenges, then collaborate with them to design a better experience. When building software solutions, you will extend data collectors, build dashboards for different stakeholders (including leadership), and develop new “smart automation” capabilities for our EngProd platform and the internal apps and bots (slack, github, etc.) that it powers.
Example initiatives you will support / lead:
- Develop a “test ownership system” to automate triaging failing tests to the appropriate developers that own them.
- Design and develop a system to detect and prevent flaky tests so developers are not affected by them and spend little time investigating these failures unrelated to their changes.
- Optimize the cycle time for our automated test pipeline stages.
We value people who are passionate about productivity, eager and willing to tackle any problem no matter how hard it may seem, and thrive on working closely and collaboratively with developers.
- Web application framework such as Flask or Django
- Relational database
- Linux or Mac
- AWS Lambda
- Aurora RDS / Postgresql (Sqlalchemy)
- Building chatbots
- Browser plugin development
- Collecting data, visualizing data with dashboards, analyzing data for insights
- Knowledge about DevOps, Continuous Delivery, Customer Experience methodologies