At a Glance
- Tasks: Build a Linux desktop client for Proton Drive from scratch and ensure feature parity with other platforms.
- Company: Join a leading tech company focused on secure cloud storage and open-source innovation.
- Benefits: Competitive salary, flexible work options, and opportunities for professional growth.
- Other info: Be part of a greenfield project with high visibility and collaboration across teams.
- Why this job: Make a real impact in the Linux community by creating a highly anticipated application.
- Qualifications: 5+ years in Linux software development and experience with Git and CI/CD practices.
The predicted salary is between 55000 - 70000 β¬ per year.
Requirements
- 5+ years of experience in software development of Linux-based desktop client software, both with and without a visible interface (i.e., GUI apps as well as CLI apps)
- Applied best practices in code quality paradigms
- Experience with DevOps principles and practices (CI/CD, etc)
- Experience with source control flow through Git (code reviews, branching and merging, etc)
- Open-source Linux development, distribution, packaging and maintenance for multiple distros (e.g. on Debian or Fedora-based platforms)
- Overall, handling the entire SDLC, end to end
- (Desirable) Experience in Linux desktop client development (in particular through the GTK+ framework, or alternatively QT)
- (Desirable) Experience in Rust
What the job involves
Proton Drive is our secure, private cloud storage and collaborative editing suite, with clients on Windows, Mac, iOS, Android, and Web. One platform is missing: Linux. You will build it from scratch. This is a greenfield project with high visibility inside Proton and across the open-source community β our entire client codebase is published under an open-source license, and this will be the first public example of how to build a native application on top of the Proton Drive SDK.
You will work closely with our Windows and Mac engineers to ensure feature parity, and you will contribute to our platform-agnostic SDK and CLI tooling as the Linux surface area demands it. If building something that the Linux community has been waiting for, and doing it in the open, is the kind of work that gets you out of bed β this role is for you.
Own the design and implementation of the Proton Drive Linux desktop client, built greenfield from the ground up. Ensure the codebase meets the standard expected of production open-source software β it will be read and built upon by developers beyond Proton. Integrate deeply with Linux-specific system components, including the filesystem layer for our file synchronization engine. Contribute to our platform-agnostic SDK and CLI tooling to ensure Linux features are properly exposed for scripting and cross-client use. Build and maintain cross-client automated and end-to-end tests in collaboration with Windows and Mac engineers. Define and implement application telemetry to support performance analysis, debugging, and customer support. Own the build pipelines, packaging, and distribution across major Linux distros.
Tech Stack and Tools
- Linux desktop application development (GTK+ or Qt)
- Rust (nice to have)
- Git, CI/CD pipelines
- Linux packaging and distribution (Debian, Fedora-based)
Software Engineer (Linux) employer: Deepstreamtech
Proton is an exceptional employer for Software Engineers, particularly those passionate about Linux development. With a strong commitment to open-source principles, employees enjoy a collaborative work culture that fosters innovation and creativity while contributing to meaningful projects like Proton Drive. The company offers ample opportunities for professional growth, competitive benefits, and the chance to make a significant impact in the tech community from its vibrant location.
StudySmarter Expert Adviceπ€«
We think this is how you could land Software Engineer (Linux)
β¨Tip Number 1
Network like a pro! Reach out to fellow developers in the Linux community, attend meetups, and engage in online forums. Building connections can lead to job opportunities that aren't even advertised yet.
β¨Tip Number 2
Show off your skills! Create a GitHub repository showcasing your projects, especially those related to Linux development. This gives potential employers a glimpse of your coding style and problem-solving abilities.
β¨Tip Number 3
Prepare for technical interviews by brushing up on your Linux knowledge and coding challenges. Practice common algorithms and data structures, and be ready to discuss your past projects in detail.
β¨Tip Number 4
Don't forget to apply through our website! We love seeing passionate candidates who are eager to contribute to open-source projects like Proton Drive. Your next big opportunity could be just a click away!
We think you need these skills to ace Software Engineer (Linux)
Some tips for your application π«‘
Show Off Your Experience:Make sure to highlight your 5+ years of experience in Linux-based software development. We want to see your journey through both GUI and CLI apps, so donβt hold back on the details!
Code Quality is Key:Weβre all about best practices here at StudySmarter. Share examples of how youβve applied code quality paradigms in your previous projects. Itβll show us you care about clean, maintainable code.
Git it Right:Since we use Git for source control, let us know about your experience with code reviews, branching, and merging. A solid understanding of these practices will definitely give you an edge!
Get Involved with Open Source:If youβve worked on open-source projects, especially in Linux development, make sure to mention it! We love seeing contributions to the community, and it aligns perfectly with our values at StudySmarter.
How to prepare for a job interview at Deepstreamtech
β¨Know Your Linux Inside Out
Make sure you brush up on your Linux knowledge, especially around desktop client development. Be ready to discuss your experience with both GUI and CLI applications, and how you've tackled challenges in open-source projects. This will show that you're not just familiar with Linux, but that you can also contribute meaningfully to the team.
β¨Showcase Your Coding Best Practices
Prepare to talk about your approach to code quality and best practices. Bring examples of how you've implemented CI/CD pipelines or managed source control with Git. Highlight any experiences with code reviews, branching, and merging, as these are crucial for collaborative projects like the one you'll be working on.
β¨Demonstrate Your DevOps Knowledge
Since this role involves handling the entire SDLC, it's important to demonstrate your understanding of DevOps principles. Be ready to discuss how you've integrated testing and deployment processes in your previous roles, and how you plan to apply those practices to the Proton Drive project.
β¨Get Familiar with the Tech Stack
Before the interview, take some time to get comfortable with the tech stack mentioned in the job description, particularly GTK+ or Qt for Linux development. If you have any experience with Rust, even if it's minimal, be sure to mention it. Showing that you're proactive about learning and adapting to new technologies will impress the interviewers.