🎉 How an Open Source Project Can Get You Hired 🎉

Dear FCC Campers,

I would like to share some of my experiences that successfully led to my first job as a software developer. I hope that what I write can help you to find your dream job in the near future. Please feel free to contact me anytime for follow-up tips.

Yesterday, I had an interview with the CEO of my current company. I think one of the reasons why I got hired was my involvement in the Open Source project DevBlend, which I started with a bunch of FCC campers including @alayek @mtancoigne and many more for whom I am very grateful to be able to work with.

If you look at the code base: Zenias, you would notice that the main script is written in Bash. Well coincidentally, the company I was applying for is developing commercial software only on Linux with Python and Django. Furthermore, they would like to introduce the automation of DevOps by intelligent codes. This was exactly the aim of zenias at DevBlend.

So it would seem that the following is true:

Join an Open Source project in the field you are most interested in. Then become good at this particular field and apply for a company that needs those skills.

I don’t know if it is because of Karma or just simple common sense, but I find Open Source to be extremely powerful. The amount of time and effort contributors spend is fascinating considering that they are doing it voluntarily. However, what you give is not for nothing. For some reason, it returns to you with multiplier effects. For starters, you can say that you worked on this project for so many weeks and months, and you learned X and will be able to implement X in the company you apply for. After a few interviews, you would most likely be hired by a company doing X. These words are taken from my personal interview with the CEO of Mimo (getmimo.com), Johannes Berger, who basically said to focus on one single particular thing (Backend, Frontend, or Mobile), stick with it for a while, do lots of projects and then apply.

Mimo made it to TechStars just this month, was Number 1 on Product Hunt recently, and they are hiring for developers as content writers for their interactive tutorials on their brand new platform.

So please do apply and please do ask me any questions about it by replying to this article. I am happy to help you. (By the way, Johannes Berger is a really nice guy and you should check out his apps on the App and Google Play store. Javvy and Swifty are amazing freemium apps to learn how to code in Java and Swift, respectively).

So my second tip is the following:

Focus, focus and focus! Don’t do everything at once. Stick to one single stack that you like.

The reason why you might wish to stick to the stack you like are two-fold: First, you are much more motivated actually to learn it. Secondly, the tech industry is growing so fast, that you don’t have to worry that your stack is out of date. There is always someone who needs your skills, be it Angular or Python. (Please just don’t do Pascal, would you? - No offence to those Pascal lovers out there, I also did Pascal in high school; quite memorable.)

However, I think the most crucial point for which my company hired me is not only my technical abilities but more so how I presented myself to them (and as an inference, to their customers). As a developer, it is really important to socialise with people. Try out networking events. Really focus on quality instead of quantity. Instead of talking to 100s of people who will never remember you (since they also talk to 100s of other people), try to make a couple of lasting relationships. (Because if you talk a lot to one person, they cannot talk to more people at the same time, hehe, I call it Network Engineering).

While I was in London, UK, I went to a startup event in Shoreditch (The Tech City or Silicon Roundabout) and during the event, I got an interview invitation to become a Data Scientist right off from college. I think I was still at the beginning of my last year. I went to the second interview, and they were about to hire me, but I rejected because of my startup careerharbour.co.uk (You know, thought I would make a millionaire in a year, that sort of thing… somewhat missed it by about 95%…) As a retrospect, I don’t really regret it. First off, I gained so much experience as manager of a small team. I got to deal with more people than my whole life put together. I have seen all sorts of people and know how to deal with most in a comfortable way.

So here comes my third tip:

If you have a startup idea and you “Cannot not do it”, as Facebook co-founder Dustin Moskovitz put it, then go for it!

There is the only time that you might have to sacrifice. But the gain is absolutely irreplaceable. And you can show it to your future employers, and yes, it is a great thing to show on your CV.

Also, if you are wondering how I presented myself. Well, I made a semi-real-time CV in InDesign and put it online: John’s CV

As a matter of fact, this CV design was my startup’s commercial CH Designed CV. As you can see, I am using the produce of my own startup company to apply for a job. Something that you can think about doing as well, e.g. you can show off your products during the interview with your future employer.

But here comes the best part:

As of today, and as my gratitude for FCC and our community, I am making the source InDesign file for the CH Designed CV freely accessible and distributable via the MIT licence. If you wish to receive your free copy now, please reply to this post and I will give you the InDesign template so you can start making your most beautiful CV in no time.

Another thing I wish to point out: it might be a great idea to supplement your studies at FCC with other site’s resources. My tips that I gathered from several industrial experts on hackhands and CEOs of tech companies in the UK are:

a) Udacity Nanodegree
b) Treehouse Tech Degree (or just their pro version would be enough)
c) Codecademy Pro

I have to say as a personal review of codecademy that for $19 a month, you can ask developers about hands-on coding problems in real-time and with a convenient chat system by Intercom or per email. Say you get stuck with an FCC challenge and you tried every single possible way, but you just cannot get it to work. You can post your code on GitHub Gist and share the link together with FCC challenge’s link to the developer at Codecademy. In a few minutes, someone gets assigned to you and they will help you solve the problem. This is unlimited within your plan. (But please try it as a last resort, you really should push yourself to your limits with those coding challenges).

You can get a massive discount for Udacity Nanodegree if you apply for the GitHub Education Pack. In addition to that, you get lots of useful credits, such as AWS, DigitalOcean, or hackhands. (hackhands is amazing!)

GitHub Education pack is free for all people who have a valid university email account. (At least for those deemed eligible by GitHub.)

Please do feel free to contact me if you have any further questions. I am mostly available on FCC Gitter main chat under the name of byteknacker.

Edit: Changed the link to a hosted one, so it should work again. I have removed my own personal details for privacy reasons.

Happy Coding!
John

57 Likes

I really like your idea, but for a first developer job, do you think a specialized role is really feasible? I’m really into computer vision, machine learning and optimized algorithm development in general (back end, database performance, etc) but for personal reasons i’m only avaiable for remote working. I’ve yet to see a remote job opportunity for these fields, the only exception is back end but even that is rare and only seems to hire people with a few years of experience.

I’d love to study both of these fields and learn more about applied mathematics and computer science, but that just doesn’t seem like an option, it seems as if i’m playing around when i should be working towards financial stability. Front end development gives me the impression of being the only option for a remote worker, at least for a beginner.

By the way, you should write a medium article about your experience, i’m sure it’d be inspirational for a lot of people.

6 Likes

Well,… well done for the job !

2 Likes

Thank you! Very useful!! :smiley:

1 Like

Thanks for replying @Selhar1. To answer your questions:

I think there is a big distinction between companies and their true needs for hires. As Johannes Berger from Mimo mentioned, for startups who has a bit of funding, it is really important that they hire extremely experienced developers who don’t need any training. Those veni-vidi-vici type of developers. The reason is that they simply cannot afford the time and money to train new recruits who are junior. They would perhaps only hire junior people who are satisfied as unpaid or low paid interns, at least that is true in London, UK. Laws are more strict in Austria, so even interns here must get paid well. In Silicon Valley you get paid ridiculously well as intern if you land in those big tech companies.

Thanks a lot for your suggestion to write a Medium article. I think I will do that asap.

As regards to your current situation: may I ask you a simple question? Do you have a code repository in machine learning that you can put up on GitHub and make it open source? If so do it now and make a website about this to show cast it to employers. When you get the interview, you talk about it and how you can help the employer with your skills. As you said it might be the case that demand for remote backend developers are lower than front-end but I think if that is your strength and your passion, you still should choose this over learning something new that might or might not give you a job. At least now with your skills and passion about machine learning, you have fun and gain skills organically and willingly. I am sure that you can find a job. Please try out the following ways:

  1. Put all your work that you can publish on Github and make a website to show cast them
  2. Make a great general CV, this can take lots of time
  3. Adapt your general CV for each company, no exceptions allowed, really each company
  4. Adapt your cover letter for each company
  5. Follow this to the letter in [everything you say and write to your employer] (https://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action?language=en)
  6. Use multiple channels to get the attention of employers. Which country are you in? I can give you specific advice on the channels to use.
  7. Once you have multiple interviews, line them up in a sequence so you can go through them one by one and make a decision after a week or so. Don’t just go straight to the first offer if you have many interviews lined up. Also tell the employer that you have other interviews, they would raise their offer.
  8. This is the most important thing: during the interview, talk about them, not you only. Talk about how great their vision and products are and how you will be able to contribute to them to make it even better. Be very specific about what you can do for them. The old saying of Kennedy goes: “Ask what you can do for your country and not what your country can do for you.” Replace country with employer and you get a job.

In general the more you specialise, the more opportunities arise, paradoxically. It is better to be a master of one trade than a simpleton of many.

9 Likes

You are welcome! :slight_smile: Let me know if you would like to know more, I will bundle them into a new article for this specific topic.

Thanks a lot @mtancoigne, very grateful for your active involvement at DevBlend. You definitely pushed me lots of times haha.

haha ! I’ll be back someday :slight_smile:

2 Likes

Would love that, I try to make the repo as simple as possible so everyone can get started easily without much hassle. Currently it is still a bit messy.

congrats @byteknacker for securing the job! Excellent article!

2 Likes

Congrats @byteknacker!! Kudos on landing a job like that :slight_smile:

Currently we are doing some major rewrites on zenias, to make it more pallatable and easier for end-users to use that. But the zeal with which you lead that project, was something to learn from.

I have learned a lot from you, and hope we continue to have our gaffes when recording tutorials!

On that note, let me thank everyone who has ever contributed to Zenias. Notably, @koustuvs @zcassini @mtancoigne @atjonathan @waliahimangshu @raisedadead.

Thank you all, and happy coding!

4 Likes

Thanks @koustuvs hope it was helpful.

Congratulations @byteknacker you are the man!

1 Like

Great post. Would you mind to tell me somethings;

  1. Does Udacity that good?
  2. How can we get a discount for nanodegree?
  3. I paid for entire year tuition for CodeSchool, I’m not sure that it can help me for code review as code as codeacademy did for yours?
  4. I’m Thai senior dev. that want to get a remote job in US. It will be more challenge for me to have such a job here.

Thank you so much. You make me love this community more than ever.

1 Like

Dear @himaeng, thank you very much for your reply!

To answer your questions:

  1. I have not personally tried Udacity but I heard from an expert at Hackhands and from a Google employee that their Nanodegrees are respected amongst Silicon Valley based companies. So it is easier to get a job within the SF and Silicon Valley area with their Nanodegree according to some of my sources. I have not done extensive quantitative research about it yet. Personally, I will get one of their Nanodegrees and begin at the beginning of next year.

  2. Go to GitHub Education Pack and if you have a valid university email account (or if you are an alumni, then you should have access to an alumni academic email account, as soon as there is something like .ac. you should be able to get the discount), you can get a GitHub Student Pack which is amazing!

  3. I don’t know about CodeSchool, only Codecademy. The latter is very responsive when you chat to them and ask them questions.

  4. Did you checkout Remote Work ? That website is great to find remote jobs.

You are most welcome! I am really glad you like our community! How long have you been doing the FCC curriculum?

6 Likes

For everyone at FreeCodeCamp here comes your free copy of the source file for the CH Designed CV

Enjoy writing your perhaps best CV design so far. Please let me know how to improve upon this. You can also try on your own version of the design and upload here to share with everyone.

3 Likes

Wow, your answer make me have a clear decision for many thing.
For Udacity, the benefit of Nanodegrees is the real projects mentoring that give me both project building experience and my portfolio.

For github education pack, I will examine for my alumni email account. Thank you so much.

Remote jobs site is superb.

I just start the FCC curriculum for one week. Actually, I finish 264 challenge in 4 days but since I love to practice TDD, BDD and Agile at the first stage I need to go to learn in Agile Development Using Ruby on Rails and I found it’s great free course. The course content was pack of tools and information that require me to invest at least 8 hours per week to catch up for the pace of instructor. After I finish the basic course, I will return to continue the FCC path. So that’s mean I can achieve Agile, Ruby on Rail and Front End development at the same time.

In the mean time I will got the Rails jobs from my friend that will pay me the fee for Nanodegree for Full Stack course and wishing this will bring me to the next best thing in my life.

Great to got your care answer and I appreciated.

1 Like

I am glad that my answer helped you to make decisions. Just contact me any time if you have more questions and put them here to share with our fellow campers.

Happy coding!

This is the first time I’m hearing of the GitHub Education Pack, thanks for the info. I’d love a copy of your CV template as well. Congrats on the new position!

1 Like

@KingSlic you are most welcome and here is your link to the CH Designed CV

It is hosted on Google Drive, so you just have to download it, since there is no preview for InDesign files by default.