People who can make $500k/year through connections they make contributing to open source projects could most likely just apply to a FAANG company directly.
It is way more common to see brilliant developers make $0 from open source projects.
This vastly overestimates the efficiency of FAANG hiring channels.
Is Google in the business of building open source package managers?
If not, why should his experience there mean he should have gotten the job?
(in a meek voice) ...do they use MacPorts?
Apt -- that means it's a Debian based distro right? Interesting that it's not Fedora
What if among x00 ppl actually talented enough to work there, maybe faang only needs to hire x ppl
That's no problem for faang but could be for those who applied
Noddly should gain the respect of an open source maintainer. These maintainers receive lots of requests for job openings and contract positions. Most of it is just recruiter spam, but some of it is real and the maintainer would be happy to forward them on to someone they respect, along with a recommendation.
It's that recommendation that's worth its weight in gold.
I got more out of having a decent looking LinkedIn account.
For where I work now, our code challenge includes putting the solution on github/gitlab mostly to ensure they at least know git, but as a secondary to their gh profile, which leads to their dev and contributions.
It's not a hard requirement to me. I've known a lot of people in banking and secdef development that cannot participate in open-source, so there are definitely all types.
The point is not that OP is going to make $500k a year. The point is to be smart about the language and project that you pick and to be reliable, professional, and open to learning quickly and delivering. He's asking for such a paltry amount that even if he only gets an $80k offer it's still leagues better than what he's asking for.
Or he could grind it out on Upwork and land a $30k offer after finally hitting a client that likes him and has long term work.
Feels like your example is very specific and would not generalize to the average programmer.
- Multiple Rails contributors, one that turned core. Those folks are making well north of $200k a year.
- Ember contributors or contributors to projects around ember-data or similar. Multiple people making north of $200k a year.
- A guy that dove into contributing to Postgres. He wouldn't even share how much his offer was because it was so insane.
The point is that if you actually put in the work to projects and you network and learn from seasoned developers it's going to be far, far better for your career than grinding out little Fiver or Upwork contracts.
Put another way: Your pay is related to your skills, your professionalism, and your network. Working on the right OS project exposes you to people that are really good at software. Sure you can do the same working for money at the right company, but this guy isn't in that position. So, in my opinion, his best bet is to skill up and network and contribute. Even if he's applying to remote work positions absent a network, a string of commits to Numpy or Rust is going to look a hell of a lot better than "freelancer that did rinky dink work for marketing guys" or "I built a todo list app to show off my skills" and I don't really see why this is so controversial. I'd like to see a counterpoint, honestly. Someone here that worked on a real OS project for a prolonged period of time that has trouble finding work at a reasonable salary.
I'm in the low, low $100k range. Maybe it's because I'm introverted and don't really network? Maybe it's location: Ohio, now Orlando? Maybe I just don't push myself - imposter syndrome is very real. Maybe I just like the job security and steady paycheck over really reaching for the stars?
I know money isn't everything, I'd love to contribute and be known in the community, but not sure I have the chops.
Curious if anyone else is in this boat?
Also in Florida and in the low $100k range. Always a bit surprised to hear these stories on HN and elsewhere of developers making $150-200k+ salaries, and wonder how I can get to that level.
Imposter syndrome is very real for me too, especially in my current role where my coworkers all seem much smarter and more technological-savvy than me.
Would also like to contribute to open source projects, but not really sure where I'd start and whether I am good enough.
100k in orlando is like 220k in sf so you're probably doing alright.
new grads are getting jobs at FAANGs out of college starting at 150-200k+ tc these days.
granted these are mostly in higher col areas - sf, seattle, nyc.
you just need to get a new job if you want to make more money, it's that simple.
in 2015 i had my first job as a junior engineer at a startup at 60k. over 3 years i worked my way up to a tech lead and 100k. not bad but i could've made more faster had i just switched companies sooner.
i finally started interviewing and got up to a 150k offer at another startup of the same size, same area - my current company valued me at 100k and this new company 150k.
a year later this startup was acquired and i negotiated my way into a 200k+ offer at the acquiring company - mostly because the bigger company was bigger and just paid more in general than my small startup company.
making more money isn't that closely tied to your job skills actually. it's tied to your interviewing skills and desire to get a job at a FAANG or similarly large tech company that pays high comps.
i'm not saying it's the easiest thing - the FAANG interviews are fairly hard and require quite a bit of prep. But if you really want it I'm sure you could do it - it's more about dedication, preparation and time than anything else.
But some percentage of it needs to be standing out. There are a lot of developers in cube farms working with stacks that look exactly like your resume. The javascript stuff is very quickly becoming devalued as boot camps crank out front end devs by the hundred.
Maybe becoming (or just advertising yourself) as a leading specialist in one or two of those technologies, or becoming an expert in an emerging technology would do it.
Am also an introvert, and it does reduce the possibilities, in my opinion. Still struggling with that. But trying to meet technical people who can hire or refer you is pretty useful (and try to maintain relationships like that when you leave a job).
Location is a problem. If you move to a place like BA or NY, you can probably double your salary right off, even if your skill level is rather low. This is very hard, though, if you have a family or your local social connections are important.
I doubt you're an imposter. Most of the people I met at my high-paying jobs were no more skilled than those I meet in the hinterlands. (And the brilliant ones are often insufferable.)
Rich companies are rich, so they can pay more. That's about it. There's a lot more competition for high-paying spots, but generally the people hiring are doing it pretty randomly. Having a resume that looks good and being able to talk a good game are more important than actual skill.
You probably have better quality of life in Ohio with your salary than many much higher paid people in the Bay Area. A starter home near Google costs around 2 million.
I recommend working remote.
One of the easier ways to make that first leap is to attach your name to something marketable. I did a few contributor articles for PacketPushers back when they first opened up to letting pretty much anyone write articles. Then I added something like "Contributor at PacketPushers" to my LinkedIn and published a few of the articles on my LinkedIn feed. I ended up getting hired by LinkedIn as an SRE out of it.
I also think you have to find a way to differentiate yourself by having some kind of a personal style or mantra. You aren't just out there to prove you're good enough for a job, you're out there to prove that you're a better candidate than the other people they might hire.
For me, on the SRE side, I lean heavily on the people side of things (which I find is often neglected). Which is not to say that I ignore the tech side, I can hold my own against other senior SREs. But I use that focus on people to try to edge myself out against the other candidates who are equally technically skilled. SRE doesn't do anything a developer couldn't do given sufficient time and motivation. Why don't developers do it themselves? Because it's hard (read: out of their SME), and because it takes time. That's a UX problem to me, so I frame that as something I would fix by making it quick and easy for my developers. A system that increases your availability to 99% that is quick and easy to set up is almost always more valuable than a system that increases it to 99.9% or 99.99% but takes 6 meetings and a book to use effectively.
So find your style or flair. I don't know what that would be for developers, I've never done a pure developer job. If I were going to pick something off the top of my head, I would pick abstractions. Everybody does abstractions, but if you can be the person that can frame a hard problem in a simple abstraction, that's a ton of bonus points. I would talk about the time I can save other people by building a simple abstraction that can be reused over and over again.
Or you could go people oriented like I did. Maybe you can frame yourself as the person that's really good at getting key stakeholders and your PM in a room and translating what the stakeholders want done into actionable work units for your PM. Sure, it's often a thing managers do, but managers love people who can free up some of their schedule.
I've been interviewing people for jobs that pay in the 200k+ range for about 6 years. You have to have something that sets you apart. I've interviewed a lot of people that basically said "Yep, I can solve that problem". Cool, you get to go in the queue with the 7 other people that could solve that problem, and we'll probably decide who wins later on based on who we think we would like most as a person on our team (i.e who's not going to be a wet blanket at lunch). On the other hand, some people stand out. I interviewed a guy who was really particular about writing unit tests and documentation, and really enjoyed doing that stuff. That guy went to the front of the line, because those are two things most people are bad at. I would've given him a really good rating even if he was technically less able than other people.
Once you find your flair, market yourself. Tailor your LinkedIn to your flair. Publish some dumb fluff pieces on LinkedIn about why your specific flair is important to a company. It's not really to inform other people, those fluff pieces exist to cement your position as "that guy/gal".
If I were going to make a wild guess, I think you can do it. I've worked with plenty of people that were making 200-400k that didn't write their own RDBMS at 13. They were just normal go to school, get a job, then get an offer from FAANG kind of people. I've even worked with a couple people in that range that I think we could have replaced with an intern without problems.
I don't think I've done anything spectacular tech-wise, mostly CRUD apps, fairly run of the mill architecture and CLIs designed to make things easier or faster for devs. My LinkedIn and email still rings off the hook just from marketing myself as something more unique than another SRE that does SRE things.
> I don't really see why this is so controversial.
This is you strawmanning. "Commits to Numpy or Rust are going to look better than a todo list" never was the controversial part, that is not controversial. "Be world class and people will want to hire you" isn't controversial, even.
The controversial part is "win the lottery - anyone can do it if they just try". Picking an appropriate project is a gamble. Becoming friendly with the core developers is a gamble. Picking the right issues to work on that people might notice you is a gamble. Being good enough that they actually do, is a gamble. That it translates into a job offer, is a gamble. That some people can do it isn't surprising, that everyone can and should prioritise that, is controversial.
That you should give away months of full-time equivalent work to profit-making companies, in the hope that it results in a job paying high above national average household income in first world countries, instead of spending that time elsewhere, is a huge gamble.
I really doubt there are many long-time FOSS contributors who want (as their top-level goal) to be paid to do FOSS, but still haven’t managed it after months/years of trying.
Most people who do FOSS don’t do it with the goal of being paid for it. Just like most people who play a sport don’t do it with the goal of being paid for it. For most people, it’s either a hobby, or a byproduct of the efforts they go to in their day job (i.e. fixes to their company’s private fork of a FOSS project, that can then sometimes be upstreamed.)
It depends how you define "doing" FOSS. Yes, certainly there are many people who casually fool around with FOSS with no expectation of payment. And even a fair number of people who have some sort of spare time FOSS hobby.
But most of the big FOSS projects (especially server infrastructure/platforms) depend heavily on developers and others getting paid to work on them full-time.
Also keep in mind that many critical FOSS projects aren't big. Many are one-man shows. HN has a habit of frequently "finding out for the first time"—to much amazement and distress each time—that some project everybody's using is just kept alive by one person in their spare time.
Absolutely. That's why the Core Infrastructure Initiative was created a few years ago for example. While I haven't made an exhaustive study, my sense is that the situation is at least better today than it was a few years ago, especially with respect to security issues. Though always more work to do to support developers working on critical infrastructure of course.
Yes, there is a long tail on projects like the Linux kernel. But a lot of that long tail doesn't individually do a lot of work. And, according to the seemingly latest Kernel development report that I have: "Well over 85 percent of all kernel development is demonstrably done by developers who are being paid for their work."
But yeah, it's hard to get paid. I was lucky enough to have a company pay me to contribute to an OSS project, but they didn't hire me for that purpose, I had to hustle for it and was blessed with a great manager who supported the idea.
What would be good OS projects related to C++/Python that can generate the figures you're mentioning? Asking for myself here.
It's a reliable strategy to get noticed and make a good impression. How much money you manage to make from that opportunity obviously depends on many more factors.
We complain about job interviews taking an entire day yet have no problem telling this person to dump 750 hours into something with the hope of "getting noticed."
If I was 19 today - and wanted to code for the most $$$ possible. I wouldn't be in college. I'd be building up skills + know people. Know people even tougher I'd argue for technical people who are often introverts.
It is throwaway for most people. 'Most' being >75%. Just my guesstimate.
Well there is another way to look at it if you wish, if you want to bolster your self-esteem and confidence by having a college/university degree, then do it. My observation is that most people who do not have a degree suffer a life long I-do-not-have-a-degree self esteem syndrome, despite being just as capable as everyone else.
Specifically, donating that time to a project which a company uses to make money.
> It's a reliable strategy to get noticed and make a good impression.
If its so reliable, there should be many repeated examples of it happening. So far, all we have is a single case.
I don't think they were saying that most people who contribute to open source projects make half a million dollars a year as a direct result.
Honestly most of those companies don't look at their resumes. Back when I was in college I submitted my resume to one of those companies no less than about 10 times.
And then suddenly out of the blue some PM at that company reached out to me saying they came across my website and saw a couple cool projects and asked if I would be interested in sending them a resume. (Yes, I did, and I got the offer, but ended up later declining it since I wanted to do a PhD.)
But that shows that clearly the previous 10 times my resume went nowhere.
In most tech companies any employee reasonably high up on the ladder can more or less whisk you into the interview process if they know you or your work and it's strong. Whether or not you get the job depends on the interview, but you'll at least almost surely get the interview. Multiple merged PRs on an open source project by that company is a near 100% ticket to the interview. Don't underestimate the power of knowing people, even if you are an amazing coder.
And dissapear into a black hole. Even contacting FAANG recruiters directly (after they asked for it on LinkedIn) leads to zero response.
I have no idea how these companies are hiring.
Let me say what what not to do.
Context: 10 year developer in Brazil, Rio de Janeiro. Mostly Ruby on Rails (6 years), now Python (1 year).
I've dedicated my entire career for the companies and projects I worked for.
So I didn't built a profile, or strong connections.
The only thing right I got is financial reserves. So I quit from a interim CTO position (previous I was a Tech Leader), with 18 people below me, due to BURNOUT.
The only thing I got dedicating full time to one basket at time is:
1. financial reserves, that here in my country is enough for some months of food and shelter, but is less than that value you said in US Dollars. 2. Extreme BURNOUT. I'm 80% recovered after two months.
Right now I'm doing some online courses in DataCamp and Real Python. It's easy to stay focused.
Tried to start working contributing on FOSS and Tech Blogs, building some reputation, but I got worse some weeks ago, got back to these algorithmic online courses.
$ 1.5k / month for me is food and shelter right now.
Companies here demanding Spark certifications are offering this for late full and initial senior positions (I'm trying to go to Data Engineering field, because I love data).
Even big companies here are more picky than this, by not returning calls, emails, etc. 3 people from a big co. here called me, having multiple positions open right now, but no response (remember I have no perceivable reputation or connections, except a CompSci degree in a reputable Uni here).
So if you are a junior, let me say it: Build profile and reputation. Seek for good people to follow and be heard. Don't put everything in one company or project. I'm trying this right now.
Big COs. in developing countries are picky anyways. You'll need to spend a lot of energy to receive US$ 3k/month tops (it's the 80th percentile).
Try different. 10 years later you'll be much better than me.
So, consider pairing your data expertise with a business function. Really, anything from Marketing to Finance will open you up to a swarm of opportunities.
For the first one is imperative (If I want a career in a company) that I move to Sao Paulo, and I have no desire to do that. Rio is already full of mega city problems, but I manage to have some good life here.
In Sao Paulo you need to make more concessions in quality of life to land on the nicest jobs.
Remote working is something that I really desire, because I like nature, doing crafts with wood, you know, some place to get energies back. But I have a intense fear for risking my family safety by doing that.
For the second one the payment is really low. ed techs here pay 30% less and have hard time to get some traction.
I'm trying to make some demos for both industries right now, that I hope will spark some more confidence inside me.
Thanks again!
Do you mean financial safety or personal safety?
I live in Argentina working remotely for over 10 years now. I moved from a medium city (1.5 M people) to nowhere in the mountains, and can't be happier. Right now kids are playing on the street, I'm working outdoors... will never go back to a city.
I heard that Rio/SP aren't that safe.
BTW, I'm also learning Python for Data. Finished the Data Analyst w/ Python on DataCamp.
Personal safety is debatable. The city is dangerous, so as any other big city here (>1.5M). I grew up on a very poor neighborhood in south brazil, half way to BA :D, you learn how to manage "dangerous" people and places to avoid.
It's a short term loss if you got robbed or something. I've been there multiple times (ironically not in Rio), I carry a cheap mobile phone and money for transportation only.
The long term loss is not having a chance to make a decent emergency fund, a retirement fund, or a somewhat successful business.
People working for companies here and doing that three things I said are living with their relatives to make it cheap.
Including in Rio where workers for Big COs are living with 2 to 4 unrelated people near Barra da Tijuca or far away (2hrs) with their relatives.
But hey! They have snacks and videogames on their offices, forgetting about everything else on the long term.
Fuck dude, are you me?
I got my biggest clients (all over the world) from there, then got into Google SoC, contributed to Drupal Google GData plugin. Made lots of money (through consulting)*, lost all in bootstrapping, rest is history.
This is by far the best way to get recognized at those companies that are hiring. I will admit it's a long sell, but it has fairly predictable results if you're steady with your contributions.
As a former college drop-out that made it into the industry this is the route I would have taken were I joining the workforce today when I was younger. Great way to learn on something real and get your foot in the door.
Note too this is possible for designers as well. There are lots of design libs floating around and contributions to those repos is so rare it's very easy to get stand out.
https://medium.com/@shinya_55783/how-i-joined-gitlab-and-wen...
I heard from my friends that because of pandemic, Gitlab is focusing on outbound recruiting. So I don't know whether the way still works or not in Gitlab.
But I concur that contributing to opensource is one of the best way to get a high-paying job.
I recommend these opensource projects: React, Vue, Angular, Typescript (because everyone is crazy about JS). If you don't fancy JS, pick Rust, Go, Deno (Deno is written in Rust), Python, Kubernetes, Flutter.
So companies should be willing to pay a fair wage to good developers. I say should - obviously this is capitalism and if they can get it done for a penny then why not - but if developers refuse a bad deal it will create pressure for them to do so.
If I’m selling enterprise software in New York and someone from New York who happens to be residing in Mexico at the moment is working for me, I’m selling $10k/y licenses and paying him 20k/y something seems off.
OTOH if he moves to San Fransisco, Kensington in London, Monaco or Hong Kong I say ah ok here’s $200k. He’s doing the same stuff!
Doesn’t make sense to me. Instead say well he is worth $100k to us, he then chooses to live wherever in the world makes sense and is affordable.
For a remote first company that’s make sense.
I too think things get weird, when a low living costs country person moves to a high cost place (or the other way around) and that now s/he makes more money (or less), although the same work.
> if developers refuse a bad deal it will ...
The thing is, I think, that it's a good deal to them
(Otherwise the company just raises the salary until it is)
To me, this is both confusing and makes sense at the same time depending on from which "angle" I start thinking
She got the job on merit. That's the important thing here.
Can you name a single example project on Github where you think a Python programmer with 2-3 years experience could contribute?
2 reasons IMHO: 1. It is a powerful albeit mostly imaginary image/story. A sort of American dream incarnated in SW. Everything is out there, open and within reach so anyone can do it and make it big. 2. A lot of the HN crowd are actually committers to high profile projects (this is the most popular hacker community after all) so they tend to judge by their own story or stories from their circle. I suspect though that the average dev is quite away from this paradigm.
Having tried a few times to just build kubernetes (by now I honestly believe that you need a server farm to do just that) I have to agree with the point you're making. The sheer magnitude and the speed that this behemoth is growing just makes me loose any incentive after a while. Not to mention that you have to actually antagonize with a lot of other noobs to get to these "good-first-issue" PR first. (Diclosure: I'm quite familiar with kube and an experienced dev).
And then there is the other thing. I'm afraid somewhere along the way we missed the point. OS is (was) about doing what you want with no strings attached. Something inside me is twitching in the thought that it has become a (difficult) way to get a nice job and that it is mostly controlled by big Co (which you are effectively begging to throw its eyes over you and your contributions). Dunno if I want to be part in this grind. I prefer doing my own stuff (and GPL them like the good old days).
My 0010 cents.
Probably the best bet there is to target several projects, and then move towards the ones that seem to appreciate your work.
I'd love to find one too! :) And better yet, a project backed by a company that is hiring remote open source devs.
That even crazy in California onsite level and you've seen that in remote?
I liked the part about positioning in your comment, it does matter a lot.
Instead people told me to do personal projects.
Sure they are impressive, but I can't get an interview.
It is like recommending to be an elite athlete.
$500k seems outlandish, not that some aren't making that, but who pays that...
Maybe 1 in every 1,000 dev jobs can even approach $500k.
One way to avoid exploitation like this is to try to develop a number of offers simultaneously. Go in with the plan of getting a couple of offers early, and then let them twist in the wind while you develop better ones. Having an offer is good leverage for getting a better offer from another place without seeming "greedy". (Be courteous and humble, of course, or at least fake it.)
Also, the FAANGs seem to recruit endlessly, even when they're not really hiring. Good place for practice interviews, even if you don't care to work there. My offer from one got me a lot more money elsewhere.
If your goal is to get a job just look at trends in job boards (probably very skewed towards web/mobile/data science), figure out which area you like/excel in and hone in on that. Keep iterating on your resume, upping your skill set, and learning from interview failures. Remember: selling yourself and your skill set is more important than actual ability. That is something you can really only hone with practice and repeated interviews.
To give an alternative way:
Find a successfull expensive software product in a country that isn't in the same language as yours.
Ask to translate it and if you can sell the product in your country. Acting as a middleman.
Start selling, get the commission.
In my experience, I've seen this work more than the one i'm replying too. And I think it's unknown in big countries, eg. The US
Great for the survivors, bad for 99.99% that did not make it. I’d be curious to know how many people tried that got nothing for their effort.
As I mentioned in another similar post awhile back[0] I did an in person version of this and have seen it first hand from those who were online.
I've worked with a bunch of people at this point who primarily were connected by a shared language or project and relationships that developed online.
That seems outlandish. Edge case-ey.
Outside of maybe quants, what type of developers are pulling that kind of income?
So, the subset of developers who make this much money basically amounts to "The senior engineers, at top tech companies, such as google/FB/ect"
Which.... is less unlikely than you'd think, if you are talking about the democraphic of users who read hacker news.
500k is still definitely up there, but making even something like 250k, at any of these top tech companies, as a mid level engineer, is completely standard. I'd expect anyone who has 5 years of experience, at these types of companies to be making at least this amount.
So, within that context, the people who are making twice that, would be maybe the team leads, or possible even a bit higher ranking than that.
Any example of this or good project to pick?
I chose Rails 14 years ago and have been riding that train ever since.
If I were choosing a new space and starting out, I’d contribute to Kubernetes. Lots of need in that space and I’m sure you could demand top dollar once you have a few merged PRs under your belt.
It can be hard to find an opening to contribute in a decent OSS project that one can keep up with, especially as a beginner, with many others clamoring to do the same.
I don't know about Kubernetes, but lots of large and well-managed projects have issues labelled as "good first issue" to help you know where to start.
Pick an open source project that is in a language that is respectable and commit to contributing to it for three or four months. Full time. Try to make sure that your written English is clear and professional in things like PRs.
Try to keep your code as clean and as well tested and linted as possible. Once the core team gets to know you a bit you'll be able to reach out for introductions to people hiring for remote jobs that you just wouldn't have had access to before.
I've seen people make $500k a year doing this. Just make sure that you choose wisely on the language and project. If you want to do frontend then it's probably going to be a project in TypeScript or JavaScript, but if you want to do backend then there are a lot of projects in tougher languages like Rust. Python isn't a bad choice either, even though it is easy to learn. Google has a Python style guide that is pretty good so look it up.
If I knew you were good at Python and you were asking for $1.5k a month I would hire you and laugh all the way to the bank. Set your aim hirer than what you need to survive.