Windows Developer
Mullvad is a VPN (Virtual Private Network) service provider.
We believe that privacy is fundamental to a well-functioning society because it allows norms, ethics, and laws to be safely discussed and challenged. We're now expanding to scale up our efforts in reclaiming the right to privacy, and we want your help!
The job
You will be part of the app development team. The app team is responsible for developing the app on Android, iOS, Windows, Linux, and macOS. Your primary focus will be working in Rust to bring new features to all the desktop platforms we support, but with a higher focus on Windows. Our app and everything our team works on is open source and available on GitHub.
The role is hybrid remote with some days per week on-site in our office in Gothenburg, Sweden.
Day to day work on the desktop system service includes:
- Adding features to and maintaining our Rust and C++ codebase for Windows, Linux, and macOS.
- Writing code with a high security focus.
- Interfacing with the system network stack.
- Managing system configuration in a fail-safe manner.
- Designing and managing firewall rules, using e.g. Windows Filtering Platform.
- Designing and implementing network protocols.
- Working on Windows kernel drivers (KMDF)
At Mullvad we encourage developing and exploring new skills, so you will have the opportunity to learn/work with Rust, Kotlin, TypeScript, and more to improve the app on other platforms if you wish.
We value quality over quantity and believe in good solutions rather than quick fixes. We also believe in the value of collaborating as a team and therefore value everyone’s opinions and ideas. It is important to us that everyone feels like a part of the team and enjoys coming to work. This is why we have company-wide free lunch every Tuesday, ice cream breaks, and after work activities.
You
You like to work and collaborate in a team and you bring your own ideas to the table! We believe that privacy is a universal right and we hope that you also have a curious mind for software security and privacy.
Our 4 wishes
- You have experience with the Windows SDK and you are comfortable using Windows as your main operating system.
- You either have experience with using Rust or you are interested in learning it.
- The team consists of people from various countries and backgrounds. You are therefore expected to have good communication skills in English.
- It's a plus if you're interested in or have experience with networking and/or security.
Process
Our process consists of three separate interviews:
- A meet & greet with two to three team members to get a basic understanding of who you are and your knowledge, and for you to get a basic understanding of us and how we work.
- This is followed by a techical interview.
- Last part is a conversation with our CEO and then contract signing.
Additional reading
Every now and then we accomplish something that we feel is worth blogging about. Here are some examples of blog posts related to this role:
- Experimental post-quantum safe VPN tunnels
- Security audit report for our app available
- Can split tunneling be leaking traffic
- Possible DNS leak fixed in our Windows app
- Introducing WireGuard over TCP and IPv6
- WireGuard multihop now easily available in the app
To help with your application, here's a sample software developer cover letter.