Senior Software Engineer
Job description
About the role
Join Mozilla's Ecosystem Services team as a Senior Software Engineer to help develop, maintain, and improve critical backend systems that underpin our products and services. In this role, you will be responsible for managing the entire lifecycle of backend services, from initial development and coding to deployment, monitoring, and ongoing operations. Your work will directly impact millions of users by ensuring that our systems are reliable, scalable, and performant. Collaboration is a key aspect of this role, as you will work closely with various engineering teams, product managers, and stakeholders to deliver high-quality solutions that meet business needs and adhere to security and privacy standards. You will also be involved in troubleshooting production issues, participating in on-call rotations, and contributing to the continuous improvement of our infrastructure and development processes.
Key facts
What you'll do
- Lead the design, development, and implementation of backend services, APIs, and their integrations to support Mozilla's products and services.
- Take full ownership of backend services, including deploying new features, maintaining existing systems, and ensuring their health and stability in production environments.
- Collaborate with the Cloud Engineering team to manage and optimize production infrastructure, utilizing monitoring, alerting, and logging tools to ensure system reliability.
- Participate in an on-call rotation, responding to and resolving production incidents promptly to minimize downtime and impact on users.
- Support release management activities, including planning, dependency updates, and coordinating deployments to production environments.
- Use AI-assisted development tools to improve coding efficiency, automate repetitive tasks, and enhance code quality.
- Work closely with product managers and stakeholders to define API specifications, data models, and system requirements, ensuring backend systems meet their needs.
- Conduct thorough code reviews to uphold high standards of code quality, security, and system dependability.
- Engage in security and privacy reviews, ensuring compliance with data protection standards and best practices.
- Contribute to documentation, operational runbooks, and knowledge sharing within the team to facilitate onboarding and ongoing maintenance.
- Assist in performance tuning, load testing, and capacity planning to ensure systems can handle growth and increased demand.
- Mentor junior engineers, sharing knowledge and promoting best practices in backend development, testing, and deployment.
- Stay current with industry trends, emerging technologies, and best practices to continuously improve our backend systems and engineering processes.
Requirements
- A minimum of 4 years of professional experience in software development, with a strong focus on backend systems.
- Demonstrated experience with backend programming languages such as Python, TypeScript/Node.js, or Rust, and the ability to lead backend engineering initiatives.
- Proficiency in designing, building, and maintaining RESTful APIs and microservices architectures.
- Strong knowledge of relational databases, especially PostgreSQL, including query optimization, schema design, and migrations using tools like Knex.
- Hands-on experience with DevOps practices on Google Cloud Platform (GCP), including building and deploying Docker containers, managing cloud resources, and operating cloud-based services.
- Practical experience with observability and monitoring tools such as Sentry and Grafana, including setting up dashboards and alerts.
- Familiarity with infrastructure automation and configuration management tools, such as Terraform or Kubernetes, is a plus.
- Ability to write clean, maintainable, and well-documented code, following best practices and coding standards.
- Strong problem-solving skills and the ability to troubleshoot complex issues in production environments.
- Excellent communication skills, with the ability to collaborate effectively with cross-functional teams.
- A proactive ownership mindset, with experience managing services end-to-end, including incident response and on-call support.
- Commitment to delivering high-quality work, making sound technical decisions, and continuously learning and improving.
- Experience mentoring junior engineers and fostering a culture of technical excellence.
Nice to have
- Experience with performance testing, load testing, and capacity planning.
- Familiarity with Infrastructure as Code (IaC) tools such as Terraform and container orchestration platforms like Kubernetes.
- Contributions to open-source projects or personal engineering projects demonstrating initiative and technical skill.
- Experience working with Django or other web frameworks.
- Knowledge of security best practices and experience conducting security reviews.
- Understanding of privacy standards and compliance requirements relevant to backend systems.
Skills & tools
- Python
- TypeScript/Node.js
- Rust
- PostgreSQL
- SQL
- Knex
- Google Cloud Platform (GCP)
- Docker
- Sentry
- Grafana
- OpenTelemetry
- Prometheus
Practical notes
- Mozilla offers generous performance-based bonuses to reward contributions and achievements.
- Employees receive comprehensive medical, dental, and vision coverage to support their health and well-being.
- The company provides substantial retirement contributions with immediate vesting, helping employees plan for their future.
- Mozilla values work-life balance and offers quarterly wellness days, country-specific holidays, and a birthday day off.
- Employees are supported with a home office stipend to create a comfortable and productive work environment.
- An annual professional development budget is provided to encourage continuous learning and skill enhancement.
- Additional benefits include a quarterly well-being stipend, extensive paid parental leave, and an employee referral bonus program.
- The company fosters an inclusive and collaborative culture, emphasizing innovation, transparency, and respect.
- Mozilla is committed to supporting its employees' growth and development through mentorship, training, and opportunities for advancement.
- The company encourages a healthy work environment, promoting mental health and overall well-being through various programs and resources.