Background/Lead Up
I've got about 1.5 years left at university, so I wouldn't be applying for a position for a bit anyways, but I figure it'd be better to prepare for my dream job now rather than when I graduate.
I've been doing some research about working at Mozilla, I've come across some hacker news and quora threads about it, that seems to confirm that working there could likely be a dream job of mine.
What I'm not sure about is how I need to go about planning for and getting the kind of job that I want. I'd love to work with either Firefox, Servo, or Rust directly, but I'm not sure which location to look for on the listings page or if it doesn't matter too much? It also seems that they're really good with remote work.
I'm working on getting my bachelor's degree in computer science right now, and have been considering going for my masters as well, especially if it'd help me get a foot in the door.
I'm trying to learn Rust in my free time, and so far it's my favorite language, which is one of the things that got me looking into Mozilla (and yes, I know there's other places that use Rust, but I really like the feeling of altruism that Mozilla puts off).
I've been chipping away at the Rust track on exercism.io, reading the documentation, and the book published by O'Reilly, as well as trying out a few personal projects with it.
Once I feel confident with the language, I've got some open source projects that I am keen on contributing to, like Smithay (see below), that look fun and would also give some stuff I can show my abilities with. I could probably also start trying to contribute to Firefox, Servo, and Rust to get more familiar with the projects and improve my skills.
Smithay
A smithy for rusty wayland compositors
Goals
Smithay aims to provide building blocks to create wayland compositors in Rust. While not being a full-blown compositor, it'll provide objects and interfaces implementing common functionalities that pretty much any compositor will need, in a generic fashion.
It supports the core Wayland protocols, the official protocol extensions, and some external extensions, such as those made by and for wlroots and KDE
Also:
- Documented: Smithay strives to maintain a clear and detailed documentation of its API and its functionalities. Compiled documentations are available on docs.rs for released versions, and here for the master branch.
- Safety: Smithay will target to be safe to use, because Rust.
- Modularity: Smithay is not a framework, and will not be constraining. If there is a part you don't want to use, you should not be forced to use it.
- High-level: You should be able to not…
TL;DR
- Working at Mozilla might be my "Dream Job" from what I've read on internet comments
- Want to work on Firefox, Servo, or Rust itself (could probably start now since they're open source?)
- I'm getting my bachelor's in CS soon, and maybe masters if it'd help, plus the classes look pretty fun
- Learning Rust in free time and trying to get into contributing to OSS as well
Actual Questions
Do only certain offices work on the projects I want to do? (Like, is San Fransisco the main place for the projects I want to work on, or would it be likely that I could get in fresh out of college for a remote job on one of those projects?)
Is everything I'm doing/planning to do necessary for getting a job at Mozilla?
What else do I need to be doing?
Top comments (26)
I'm not sure why this didn't occur to me right away, but if you did exactly this, I'm pretty sure you could land yourself at Mozilla:
Contributing is definitely a roadmap in. Stating your intentions to work there eventually will speed up the process. I feel like you are further ahead of other candidates with less overall clarity.
As an aside, if you're looking for ways to do other interesting open source work with Rust, you're welcome to try and get some Rust code into the dev.to codebase via Helix or some other way. It could be a nice way to experiment with more performant code. 😄
ooo yeah that's a good idea! I'll try giving it a look and see how it goes.
I think I'll be using those bullet points as well as some of the other things here as my personal objectives for the next good while.
Ah ah! This morning I was thinking that playing with DEV parsing code (the RSS feed parser for example) would be an interesting thing to do in Rust (or better attempt to do) if I'd find the time this summer :D
Rust is notoriously fast at parsing text
Go @redoxeon :D
Check out and follow David, he wrote about about joining Mozilla some years ago: davidwalsh.name/impostor-syndrome
He's on Twitter too @davidwalshblog
I'll mention your post and maybe he can leave a comment!
If David Walsh left a DEV comment I'd be very happy 😊
oooo that'd be awesome! I'll be sure to follow him :)
Very cool post and great plan! I've worked at Mozilla for 5 years, and I confirm that it's one of the most interesting and altruistic places to work at. Not without its own problems, like any other org, but I still highly recommend it.
Contributing and increasing your impact in Mozilla's projects is a great way to learn and acquire industry-wide useful skills, and also to get noticed by potential future colleagues and hiring managers. But it's also very hard work and it can never guarantee you a job.
Mozilla's hiring process is also notoriously rough, perhaps due to Mozilla's outsized popularity vs its small number of actual employees, and having been through and participated in it, I can confirm there is a certain unavoidable randomness to it. There are a lot of amazing candidates, so high chances of slipping though the cracks unnoticed. Please never take it personally and just keep trying again.
It's gotten better lately, but used to go a bit like this:
Still, please don't let me discourage you. Firefox is pure rocket science (in a good way), Rust and Servo are science-fiction turning into reality, Mozilla is full of incredibly friendly & smart human beings who shape technology to make people's lives better. Good luck following your dreams, I hope you succeed. :)
Thanks for the response! Your last paragraph makes me even more excited to try and start contributing, and I'm grateful for your candid words throughout. It's fun to have my head in the clouds about working for Mozilla, but just as important to keep my feet on the ground with expectations, and realizing that there is some randomness and no guarantees definitely help with that.
It's also the other way around. A lot is still done in Mozilla which don't uses Rust.
I guess the best advice I got in similar cases, is to do what you like best in your free time, which is preferably related. It's much harder to keep motivated otherwise, and there's no guaranteed way to a Mozilla job.
Lucky for me, I came across Rust before I had the thought of trying to get a job at Mozilla, and found that I enjoy programming with it a ton! I think that you're right though. I should branch out to more than just Rust and keep in mind other places that could be just as good or better than trying for just Mozilla specifically.
great first post!!!!!!!!!! See that wasn't hard. My advice is to believe in yourself and study! I've learned that being ok with not knowing everything and asking questions is the quickest way to get where you wanna be. Show that you are passionate about what you do and that you're willing to grow. You got this!
haha thank you! And that's good advice that I struggle a lot with. I tend to be terrible at asking questions even when I'm struggling with something, like in school. I've gotten better at recognizing when I'm being stubborn about admitting I don't know everything, and it'd definitely helped me learn faster.
Hi Mike! You took a big step just by setting up your career goals. Congratulations! The best way to be hired is to be noticed by your future employer, and the best way to be noticed is to be known for your contributions to the community. So start sharing what you know about Rust today: create your blog, write at dev.to, answer questions on StackOverflow, etc. Also, you should contribute to the Rust language. Many issues on Github are questions or can be solved without coding, these issues are a good starting point. Also, take a look at this site:
code4.life/
Hello! Those are some very good ideas. I wasn't aware about some of the GitHub issues being questions, I had just figured it wasn't worth looking at contributing until I knew a bit more about the language haha
Thanks for the response!
Very simple, start talking to Mozilla developers and try to be helpful by e.g. reporting and fixing bugs, documenting stuff, etc. They are a welcoming crowd. Make some friends. It will help. Maybe start a few OSS projects yourself as well. Learning by doing is going to help you more than reading.
You'll probably want start planning to move to one of the places where they have an office. But as I understand it, they also have a lot of people working remotely and this has been the case for them for a long time. I've met a few people operating out of Berlin, Germany.
But ask them. They'll tell you. If anything, Rust people seem to be natural born coaches. You'll be fighting them off with a stick ;-).
I've found this to be true for me as well. excercism.io seems to be really good at that where it just gives a problem to solve and you have to figure it out, which has been really nice.
I think I'll definitely be heading over to their projects to help contribute! I've gotten a lot of feedback telling me to go do that, and I think that the part you added about trying to make friends with people there would be really helpful. Thanks!
Hi, first and foremost, awesome prospects!
Other then studying, practicising and possibly contributing I'd start following some of the employees on Twitter. You can find some of them on hacks.mozilla.org/ - people like twitter.com/linclark
Befriend them if you can, because I'm sure they'd be thrilled to give you tips seeing your enthusiasm!
Don't know unfortunately, maybe check on careers.mozilla.org
BTW have you thought about doing an internship there? careers.mozilla.org/university/
Be yourself :)
I hadn't thought about following some employees, that might help if I can get some mentoring from them :) Thanks!
One thing I tell a lot of Entrepreneurs I help, which helps with people seeking jobs especially in today's market, is to just focus on doing what you love and growing at it without worrying about if there's a "huge" demand for it or not. Just do whatever YOU want to do and maybe find some open source projects to participate in that will give you "real world" stuff to point at where you honestly shine with your passion.
The reason I say this is because a lot of people think they make theirself a better candidate by being more versatile and acquiring the experiences they need in order to create the "reality" needed about theirself to logically qualify for the most positions to increase their chances of being able to find a job.
The problem this creates is the minute we need somebody who's a wizard at some particular thing you wind up scaring everyone away when mentioning it and because they don't want to come off as "inadequate" we more or less have to read their "no" on our own through their inaction and or excuses. Then the people we encounter who actually have the right type of flame in them don't have the level of technical ingenuity required required for the role because they've chosen to focus on learning how to make todo apps in all the most popular platforms for the sake of logically qualifying for the most jobs. So the people who wind up getting that position are the people who decided to dive into that particular thing just out of their own passion and curiosity becoming more and more clever with what they create always raising the bar on what those things can do.
An example of what I mean, is how I've come across a lot of front end developers who are wizards in Adobe Illustrator and can draw extremely well yet rarely ever use or play with SVG because their jobs revolve around building e-commerce platforms and banking apps which don't require much vector art aside of maybe a responsive svg logo and icons. Meanwhile their "dream job" in programming is one where they're able to express more their art skills some type of way but they never focus on advancing in that area because they stay caught up in learning whatevers in the highest demand so they can feel more secure in the workforce.
So if you fall into that same pattern it's not going to do anything but keep you too occupied/trapped to dive into whatever you really want to do which in turn never yields any examples that says the things you want to be able to say about yourself in that arena. Besides that, just because a job isn't in "high demand" doesn't mean they don't exist and pay lots of money. In fact that may be the component that makes companies bid over your attention because of how few wizards there are on the market for that skill. Then on another note, you may well be the one to pioneer a completely new role that doesn't exist yet for anyone to ask for because they're not aware of the value it can provide to in turn ask for it.
In regards to you working at Mozilla... this could be the difference in you doing basic/typical updates and maintenance to their documentation pages like virtually any other developer who knows HTML and a functional extent of JS can manage doing, or being some fashion of "lead developer" on some new cool software/app/plugin that nobody but you can step up to.
So just stay true to yourself, explore what you love, grow at the things you value and don't worry about all the things you "don't qualify for", let the people who love those things worry about qualifying for them.
Working at Mozilla does seem sweet.
I'm not sure, but this thread is bound to help! I'm really curious about what the advice might be.
Yeah, I'm excited to see what people say. 😄
Some comments may only be visible to logged-in visitors. Sign in to view all comments.