Will open source get me a job
10 comments
I contributed features and bug fixes to popular open source projects but when I mention this to recruiters or during the technical interview, the interviewer doesn't seem to be interested in those.
I once contributed a feature to a project and then applied to a position at the company who maintains the project itself but even then, it didn't seem to matter.
They were more interested in what school I studied at, what other companies I worked for and how long, and how low of a salary I was willing to accept.
I once contributed a feature to a project and then applied to a position at the company who maintains the project itself but even then, it didn't seem to matter.
They were more interested in what school I studied at, what other companies I worked for and how long, and how low of a salary I was willing to accept.
That's the software version of a guitarist trying to get a record contract by busking in the streets. Sure, it might happen, but there are more efficient avenues.
As someone who works with open source and has helped hiring some people:
- The lack of degree still makes a difference. You're on your 20's you still have time for that. Having a degree at a bad uni is still better than not having it. I've seen managers who reject brilliant people simply for not having degrees.
- Contributing to other's projects is, IMHO, more valuable than having your own, unless your own project gets big and used by big players. Having bug fixes or features in big famous projects is a massive trampoline for a lot of people, if they want to get a job in a related industry (e.g., having Kernel patches if you want to apply for driver developer positions, having gcc patches if you want to work in compilers, etc.).
- Nothing is a guarantee of anything. In some areas there's a shortage of workers with experience and so anybody that starts contributing decently gets a chance. Some other areas are full of brilliant people so you'll be just one more person. Also your behavior affects your chances: make sure to build a reputation as a nice contributor.
- The lack of degree still makes a difference. You're on your 20's you still have time for that. Having a degree at a bad uni is still better than not having it. I've seen managers who reject brilliant people simply for not having degrees.
- Contributing to other's projects is, IMHO, more valuable than having your own, unless your own project gets big and used by big players. Having bug fixes or features in big famous projects is a massive trampoline for a lot of people, if they want to get a job in a related industry (e.g., having Kernel patches if you want to apply for driver developer positions, having gcc patches if you want to work in compilers, etc.).
- Nothing is a guarantee of anything. In some areas there's a shortage of workers with experience and so anybody that starts contributing decently gets a chance. Some other areas are full of brilliant people so you'll be just one more person. Also your behavior affects your chances: make sure to build a reputation as a nice contributor.
If you can turn a project into a popular OSS framework, I think that's certainly a possible path to getting either consulting jobs or at least some interviews.
I've had multiple large companies (Shopify, Verizon, Comcast, Twitter) reach out to me in the past because of my large contributions to well known Open Source projects as well as my participation in the community.
These weren't job offers though, just an invitation to interview, so I still had to do system design and coding when I actually responded to one of them.
I've also been able to showcase my contributions when asked about a project I was proud of in other interviews.
My advice would be to contribute to very popular projects and get involved in the community, and let people know you're looking for work as well.
I've had multiple large companies (Shopify, Verizon, Comcast, Twitter) reach out to me in the past because of my large contributions to well known Open Source projects as well as my participation in the community.
These weren't job offers though, just an invitation to interview, so I still had to do system design and coding when I actually responded to one of them.
I've also been able to showcase my contributions when asked about a project I was proud of in other interviews.
My advice would be to contribute to very popular projects and get involved in the community, and let people know you're looking for work as well.
> coding for 8 years
professionally? or as a hobby. big difference in experience and big difference in employment prospects. i believe you mean, on your own time.
once you have 3-4 years professionally, a degree (from other than a tier 1 college) is not useful. so once you land your first job, and if you can stick it out at least say 2 years, the degree won't matter.
so my advice: actually try to get a job. have you done that or are you asking before even seeing if you can get interviews?
i would outright lie on the job history and put 3 years of freelancing experience. use the github work as the bullet points of what you did. do not list the actual github on your resume. there are of course other ways to go about it, and some will find lying on the resume to be unacceptable. but if you stick to projects you actually did, i don't personally have much of a problem with it.
professionally? or as a hobby. big difference in experience and big difference in employment prospects. i believe you mean, on your own time.
once you have 3-4 years professionally, a degree (from other than a tier 1 college) is not useful. so once you land your first job, and if you can stick it out at least say 2 years, the degree won't matter.
so my advice: actually try to get a job. have you done that or are you asking before even seeing if you can get interviews?
i would outright lie on the job history and put 3 years of freelancing experience. use the github work as the bullet points of what you did. do not list the actual github on your resume. there are of course other ways to go about it, and some will find lying on the resume to be unacceptable. but if you stick to projects you actually did, i don't personally have much of a problem with it.
I think it has a lot to do with the experience of the people doing the hiring. If a hiring manager has been personally involved in a number of successful contract jobs, then they will look favorably at others who have done the same.
If those making the hiring decisions are waist deep in open source projects, then they will appreciate those who have contributed to popular OSS projects or have started their own.
If, on the other hand, they only know traditional engineering shops that adhered to a particular development model, then they will almost always look for people who fit that mold.
If those making the hiring decisions are waist deep in open source projects, then they will appreciate those who have contributed to popular OSS projects or have started their own.
If, on the other hand, they only know traditional engineering shops that adhered to a particular development model, then they will almost always look for people who fit that mold.
One way to find out: find job listings, apply for some jobs, and see what happens. A GitHub profile with lots of personal projects is a good thing to have. Learn from any feedback you get.
P.S. GitHub's "Available for hire" checkbox is deprecated, but I suppose you could still write something to that effect in your GitHub Profile Bio (a textarea). Also put that in your other online profiles as you see fit.
P.P.S. There are many sites/services that specifically aim to help coders get jobs, including training and help with interview prep. For example, see https://www.codecademy.com/pages/career-services and HackerRank.
P.S. GitHub's "Available for hire" checkbox is deprecated, but I suppose you could still write something to that effect in your GitHub Profile Bio (a textarea). Also put that in your other online profiles as you see fit.
P.P.S. There are many sites/services that specifically aim to help coders get jobs, including training and help with interview prep. For example, see https://www.codecademy.com/pages/career-services and HackerRank.
Thanks for the advice.
I suggest trying one of the open source internship programs, especially something related to the Linux kernel will definitely get you enough networking to get a job. The FOSSjobs site has lots of jobs in open source too. Also try contributing to existing projects too, that will get you noticed more than posting stuff on your GitHub.
https://github.com/fossjobs/fossjobs/wiki/resources https://www.fossjobs.net/
https://github.com/fossjobs/fossjobs/wiki/resources https://www.fossjobs.net/
Very helpful, are there open source internship programs for web devs?
I say this not to discourage you, but rather to encourage you.
a) Web devs are the bottom of the food chain. CSS and HTML are trivial to learn, and JavaScript is on everyone's list. It's a really good way to get into programming, so -everyone- does it, and thus you're in a job market competing with everyone. You want to see this as step 1, there's a road ahead.
B) it's easy to go to job boards, see lots of listings for a tech, and conclude that's the tech to learn. But you end up in a pool with a lot of fish. Sometimes niche skills are easier to sell. (Unfortunately also harder to learn.) Perhaps branch out - maybe get a RassberryPi, compile the kernel yourself (turning things on and off), write a program or 3 in C etc. These are all hard (well harder than web) to do, and will give you a broader range.
C) many years ago I went to college already knowing how to program. I learned a lot there that wasn't programming, but made my programming better. Understanding fundamentals improved my ability to choose the right solution, long before I start writing any code. Times have changed, and there are other ways to get those fundamentals now, but go online look at a course cariculum, see where your gaps are. Maybe it's database design 3rd normal form , maybe it's determining the Order of an algorithm. Maybe it's knowledge of NP Complete.
D) people who add value get hired. People who figure out how to add value are valuable. It's easy to add value without getting paid. Try and demonstrate that. Its less about Open Source, and more about showing that you can add value. Find a charity and manage their IT for a year. Take a big OSS project, and work with their team to solve a hard problem they have. Doing hard things is more impressive than easy things.
E) learn sql. I mean learn it properly. There are databases everywhere, and in pretty much every job. Web dev is nice. Web dev with proper sql chops is much much nicer. Learn good design. Understand trade-offs - like when to use free or paid, when you add indexes, when to remove them. When to use in-database logic (triggers and stored procs) when to put logic in the program. Play with SQL Server Express. Contrast with Postgres. Contrast with Firebird.
Of course don't give up on just getting a job. You'll want that. But showing a track record of creating value, not just random programming projects, goes a long way.
Don't be disheartened. I say all this to encourage you. There's a lifetime of learning ahead of you. Getting good at learning is a huge advantage.
a) Web devs are the bottom of the food chain. CSS and HTML are trivial to learn, and JavaScript is on everyone's list. It's a really good way to get into programming, so -everyone- does it, and thus you're in a job market competing with everyone. You want to see this as step 1, there's a road ahead.
B) it's easy to go to job boards, see lots of listings for a tech, and conclude that's the tech to learn. But you end up in a pool with a lot of fish. Sometimes niche skills are easier to sell. (Unfortunately also harder to learn.) Perhaps branch out - maybe get a RassberryPi, compile the kernel yourself (turning things on and off), write a program or 3 in C etc. These are all hard (well harder than web) to do, and will give you a broader range.
C) many years ago I went to college already knowing how to program. I learned a lot there that wasn't programming, but made my programming better. Understanding fundamentals improved my ability to choose the right solution, long before I start writing any code. Times have changed, and there are other ways to get those fundamentals now, but go online look at a course cariculum, see where your gaps are. Maybe it's database design 3rd normal form , maybe it's determining the Order of an algorithm. Maybe it's knowledge of NP Complete.
D) people who add value get hired. People who figure out how to add value are valuable. It's easy to add value without getting paid. Try and demonstrate that. Its less about Open Source, and more about showing that you can add value. Find a charity and manage their IT for a year. Take a big OSS project, and work with their team to solve a hard problem they have. Doing hard things is more impressive than easy things.
E) learn sql. I mean learn it properly. There are databases everywhere, and in pretty much every job. Web dev is nice. Web dev with proper sql chops is much much nicer. Learn good design. Understand trade-offs - like when to use free or paid, when you add indexes, when to remove them. When to use in-database logic (triggers and stored procs) when to put logic in the program. Play with SQL Server Express. Contrast with Postgres. Contrast with Firebird.
Of course don't give up on just getting a job. You'll want that. But showing a track record of creating value, not just random programming projects, goes a long way.
Don't be disheartened. I say all this to encourage you. There's a lifetime of learning ahead of you. Getting good at learning is a huge advantage.
> D) people who add value get hired.
So this isn't actually true. People who make a good impression, that "connect" with the interviewer in the first 30 seconds, get hired. I mean, for dev work you do have to perform to some baseline in any coding exercise, but the real bar to clear is that first 30 seconds. I'm not just being dramatic. This has been studied to death. Your resume might play a part in being impressive in that first 30 seconds. If the interviewer has even looked at it. So you want your resume to make that intro, but then it's up to you in the opening seconds.
As a first time getting a dev job, it's impossible for the employer to know if you will add value. Even as a senior hire, this isn't really knowable.
Just look around at your coworkers. The value add part is random.
So this isn't actually true. People who make a good impression, that "connect" with the interviewer in the first 30 seconds, get hired. I mean, for dev work you do have to perform to some baseline in any coding exercise, but the real bar to clear is that first 30 seconds. I'm not just being dramatic. This has been studied to death. Your resume might play a part in being impressive in that first 30 seconds. If the interviewer has even looked at it. So you want your resume to make that intro, but then it's up to you in the opening seconds.
As a first time getting a dev job, it's impossible for the employer to know if you will add value. Even as a senior hire, this isn't really knowable.
Just look around at your coworkers. The value add part is random.
Possibly, click through the links on the wiki. That said, there probably isn't any money in open source web dev, outside of being a famous 10x dev of a framework used by millions or thousands of companies, then you might get donations or consulting.
Will it directly get you a job? No, not unless it's some hugely popular / widely used software, with obvious potential uses in a business/enterprise.
Will it help? Yes, it's a nice differentiator on a resume, if it comes down to two candidates who seem to have equivalent experience and interview performance, the one with a bunch of git repos that demonstrate actual hands-on experience is likely to win.
Will it help? Yes, it's a nice differentiator on a resume, if it comes down to two candidates who seem to have equivalent experience and interview performance, the one with a bunch of git repos that demonstrate actual hands-on experience is likely to win.
Applying for jobs, and finding potential clients is what gets you a job.
A) Should I just manage this project as open source and will that get me a job? B) Should write it in a more popular language/framework(React/Go/..)? C) My efforts are futile and I should just get a degree?
Bonus question: Where do I apply with my github?