Senior Software Engineer (Inbox Desktop)
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer in the Inbox Desktop team, you will play a crucial role in driving the development of one of Proton's most vital desktop offerings, the Proton Mail Desktop App. We expect you to be customer-centric, continuous learner, passionate about technology and usability. You are adept at turning technical complexities into seamless user experiences. Effective teamwork, data-driven decision-making, using APIs wisely, collaboration with Product, Design, and with other teams are essential aspects of this role.
In the Inbox organization, we believe that a psychologically safe environment is critical to foster innovation, collaboration, and growth. We are rooted in science, and according to both academic research and empirical evidence, teams that feel safe to take risks and express their ideas are more likely to be innovative and perform better: you will play a key role in helping us creating such an environment across the entire organization.
What you will do
- Research: Assessing new technologies, supporting cross team and cross business unit technical decision making.
- Work breakdown: Transforming product specifications into technical requirements and lead your team to their successful implementation.
- Product development: Ensuring high-quality user experiences within our product portfolio by implementing, deploying and maintaining existing and new features.
- Scalability: Enhancing software development lifecycle, tools, and processes to improve developer experience and to ensure our solutions are scalable.
- Coding: Writing clear, concise and testable code to maintain and elevate the quality of our codebase.
- Project management: Managing the scoping, planning and execution of new features, technical initiatives and greenfield projects.
- Mentoring: Fostering a culture of learning, creativity, and accountability for the best possible work through mentorship and team development, role modelling quality assurance and performance optimization.
Requirements
- Experience: Significant, relevant professional software development experience with Rust programming language, or with very strong background in modern C++ and reasonably complex Rust pet projects.
- Desktop software development: Experience in developing high quality, fast, Windows and Linux cross-platform desktop applications. Familiarity with different native and cross-platform desktop UI frameworks (e.g. Avalonia UI, Qt, Electron, etc.). Experience in working both on user interface and on business logic.
- Product mindset: A product mindset with a focus on offering outstanding user experience in a successful business environment. Familiarity with key business and product performance metrics.
- Engineering leadership: Ability to make architectural decisions and contribute to strategic planning and product directions. Experience in developing scalable engineering solutions. Able to write effective engineering documents (size, quality, content).
- Collaborative Skills: Proven ability to work collaboratively in a team environment, excellent written communication skills, and experience working in a distributed team.
- Problem-solving: Strong problem-solving skills and the ability to troubleshoot customer issues remotely while protecting our user's privacy. Knows what proactive solutions to implement to prepare for such scenarios.
- Security focus: Understanding of secure coding practices and a commitment to maintaining high levels of security and privacy.
- Bachelor's or Master's degree: In Computer Science, Software Engineering, or a related field.
Bonus Points For:
- Experience with macOS or mobile cross-platform development.
- Familiarity with using unidirectional data-flow (a.k.a. Elm-like) frameworks
- Experience with Grafana, Metabase or other monitoring platforms.
- Experience in B2B, preferably in online privacy and/or productivity contexts.