Senior Developer Productivity Engineer
The Senior Developer Productivity Engineer plays a critical role in enhancing the productivity and efficiency of our engineering teams.
Key Responsibilities:
1. Tooling and Automation:
o Design, develop, and maintain tools and scripts that automate repetitive tasks, streamline build processes, and improve CI/CD pipelines.
o Identify bottlenecks in the development workflow and implement solutions to reduce cycle times and improve efficiency.
o Collaborate with engineering teams to integrate productivity tools into their daily workflows.
2. CI/CD Pipeline Optimization:
o Continuously evaluate and improve the CI/CD pipelines and templates to ensure fast, reliable, and efficient builds and deployments.
o Implement best practices for continuous integration, continuous delivery, and automated testing.
o Monitor and optimize build and test times to reduce feedback loops for developers.
3. Developer Experience:
o Work closely with developers to understand their pain points and challenges, and proactively address them through tooling, process improvements, and guidance.
o Support the improvement in code quality and testability through direct guidance, coaching, and education on development best practices.
o Provide guidance and support to engineering teams on best practices for using development tools and workflows.
o Create and maintain documentation for tools, processes, and best practices to ensure widespread adoption and understanding.
4. Infrastructure and Environment Management:
o Manage and optimize development environments, ensuring they are consistent, reproducible, and easy to set up.
o Collaborate with DevOps and infrastructure teams to ensure that development environments are aligned with production environments.
o Implement and maintain containerization and virtualization solutions to support local development and testing.
5. Monitoring and Metrics:
o Establish metrics and monitoring to track developer productivity and identify areas for improvement.
o Analyze data to measure the impact of productivity initiatives and make data-driven decisions.
o Regularly report on the health and efficiency of the development process to leadership.
Skills Required:
1. Bachelor's or Master's degree in Computer Science, Engineering, or a related field, or equivalent work experience.
2. 5 to 8 years of experience in software development, DevOps, or a related field.
3. Proven experience in designing and implementing developer productivity tools and workflows.
4. Strong background in CI/CD pipeline management and optimization.
5. Experience with containerization technologies (e.g., Docker, Kubernetes) and infrastructure-as-code (e.g., Terraform, Ansible).
6. Familiarity with version control systems (e.g., Git), build tools, and package managers.
7. Experience with monitoring and logging tools to track system performance and developer productivity.
8. Proficiency in one or more programming languages (e.g., Python, Go, Java, JavaScript).
9. Strong understanding of software development lifecycle (SDLC) and agile methodologies.
10. Excellent problem-solving skills and the ability to troubleshoot complex issues.
11. Strong communication and collaboration skills, with the ability to work effectively with cross-functional teams.
12. Passion for improving developer experience and productivity.
Preferred Qualifications:
1. Experience in at least one cloud platform (e.g., AWS, Azure, GCP).
2. Knowledge of cyber security best practices in development and deployment processes.
3. Familiarity with machine learning or data engineering workflows (e.g., Databricks, MLflow).
4. Experience with developer productivity platforms (e.g., GitHub Ecosystem).