Develop talent through coaching, mentoring, feedback, and hands-on career development
Apply sound engineering principles and directly contribute toward your team's goals
Create and maintain productive relationships with stakeholders
Set and manage expectations with other engineering teams, management, and external stakeholders
Collaborate proactively with a distributed team and community
Lead the ongoing development of Launchpad, the infrastructure on which great software like Ubuntu is built
Advocate and advance modern, agile software development practices and help develop and evangelise great engineering and organisational practices
Grow a healthy, collaborative engineering culture in line with the company values
Actively engage with the broader leadership team
Work from home with international travel up to 6 weeks per year for internal and external events
Who you are
You have experience leading a distributed team to deliver features and manage production services at scale
You love to mentor, develop, and grow people, and have an outstanding track record of doing so
You are knowledgeable and passionate about technology
You have experience delivering high quality software
You have experience designing and evolving complex distributed systems
You have effective written and verbal communication skills
You have solid experience working in an agile development environment
Desired candidate profile
1. Team Leadership and Development
Recruitment: Lead hiring efforts to build and expand the software engineering team, ensuring a good balance of skills and experience.
Mentoring and Coaching: Provide technical mentorship and career development to team members. Help engineers grow in their roles by setting clear goals, offering feedback, and fostering a culture of continuous learning.
Performance Reviews: Conduct regular performance reviews, provide constructive feedback, and establish performance metrics to assess team members’ growth and contributions.
Team Culture: Foster a positive, collaborative, and innovative team culture that emphasizes accountability, high performance, and ownership of the product.
2. Software Development and Architecture
Architecting SaaS Solutions: Lead the design and implementation of scalable, reliable, and secure SaaS applications, ensuring that they can handle increasing user loads and provide a seamless experience.
Microservices Architecture: Design and manage microservices-based systems that are modular, reusable, and allow teams to work on features independently while ensuring the systems work as a whole.
Cloud Infrastructure: Ensure that SaaS applications are built with cloud-native principles in mind, utilizing services from platforms like AWS, Azure, or GCP.
CI/CD: Drive the adoption of continuous integration and continuous deployment (CI/CD) practices to increase software delivery speed, quality, and reliability.
3. Product and Project Management
Collaboration with Product Management: Work closely with product managers to define product roadmaps, gather user feedback, and prioritize features based on business needs.
Project Delivery: Oversee the planning, execution, and delivery of software releases. Make sure that projects are delivered on time, meet requirements, and are aligned with the company’s business goals.
Cross-functional Collaboration: Collaborate with other teams, such as DevOps, QA, UX/UI, and marketing, to ensure the success of the SaaS product.
Risk Management: Identify potential risks in the development process and mitigate them. This could include technical risks, resource constraints, or dependencies on other teams.
4. Scalability, Reliability, and Performance
Scalable Architecture: Ensure that the software architecture is designed to scale effectively, accommodating growing customer demands while maintaining high performance.
Performance Optimization: Continuously monitor and optimize the performance of SaaS products, improving both server-side performance and client-side performance.
Uptime and Availability: Work with DevOps and infrastructure teams to ensure that SaaS applications achieve high uptime, meet SLAs (Service Level Agreements), and have disaster recovery procedures in place.
Security: Implement best practices for security, ensuring that the SaaS solution complies with industry standards (e.g., GDPR, HIPAA) and offers robust protection against threats.
5. Monitoring and Continuous Improvement
Metrics and Analytics: Set up and monitor key performance indicators (KPIs) for application performance, user experience, and system health. Use data to drive decision-making and continuous improvement.
Bug Resolution: Oversee the process for identifying, tracking, and resolving bugs and other issues that arise in the SaaS product.
User Feedback: Ensure that user feedback and system telemetry are incorporated into the development cycle, driving the evolution of the product in line with customer needs.
6. Process and Quality Management
Agile Methodology: Lead the adoption of agile development methodologies (e.g., Scrum, Kanban) to improve team collaboration, product iteration, and overall efficiency.
Code Quality: Ensure that engineering teams follow best practices for code quality, including code reviews, unit testing, integration testing, and performance testing.
Automation: Advocate for the automation of repetitive tasks, such as testing, deployment, and infrastructure provisioning, to improve efficiency and reduce human error.
7. Stakeholder Communication
Regular Reporting: Provide regular updates to senior leadership on project progress, technical challenges, and resource needs. Highlight any risks or issues that may impact timelines or quality.
Technical Evangelism: Act as the technical voice within the company, ensuring that engineering decisions align with business goals and provide value to customers.