Recently I gave some tips for one of my hardworking and skillful friend on how to find a job in Europe/US. Although I have little if any practical experience in this field, but by living here and being in the ecosystem, seeing how my friends are applying and getting jobs to give me more hints on how to do it correctly.
Note: I will maintain interesting jobs at the end of this posts and update them frequently. Don’t forget to have a look here if you are looking for a position.
To summarize the following is your tools for getting a job:
- CV of max 2 pages.
- Well-grounded GitHub repositories
- Good Stackoverflow contributions (recommended)
- Personal blog (Programming and to some extent personal life-related stuff) (recommended)
Now I’ll dig a bit each of them and what should you do for each one:
CV
I don’t want to explain a lot here. Just keep it simple and minimal. There are tons of materials and templates out there. Just keep in mind to include the projects you have worked on, one line description for each one and how you helped that project, your skillset, and link to your blog, GitHub and StackOverflow.
Github account
This is the most important part in your portfolio and building a great GitHub account will take time, so be patient.
- Include any open source project you have or work on. Translation: If you don’t have any, start one :)
- Build a library around the area you are working on. A library that you wish it was there or has better features than others. For example, I created Imageflow a simple wrapper for reading images for Tensorflow. Although currently in hibernate mode I did it more than 1 year ago because reading images in Tensoflow really sucks and you can validate the problem by a number of stars in the GitHub repo.
- If you don’t have any idea about for a library, don’t panic, you can still contribute to your favorite libraries by scrolling through their issues and find an issue you can solve. After that you clone the repo, fix the issue and create a pull request. Even if you can’t fix the issue alone by yourself you can still participate in the comments, express your solutions and learn more about the deep architecture of the library.
StackOverflow
Almost the same comments for GitHub and GitHub issues. Search for tags of your favorite library and try helping other developers. Mostly target for unanswered questions but you may have a better solution than someone else, so propose it there. My answer for a question around Google Ads on Android got me a few thousands of reputations and a few dozen badges. The same for few Tensorflow questions, resulted in me being in the top 5% of developers in Android and Tensorflow.
Pro tip 1: Stackoverflow also is a good source of ideas for creating libraries I mentioned in Github point, for finding pain in the ass of the developers and solving them.
Pro tip 2: After implementing your library, you can promote it by pasting some code-snippets and link to your library’s repo, so you got more visitors.
Personal Blog
This is exactly what I’m doing now in this page (and what I used to do before on medium)). All of us know programming is about “debugging” and part of it is just “googling”. When you google your problem you either find a blog post around it, a GitHub repo or last but not least Stackoverflow questions with hopefully good answers. So if we are learning to program this way, we should consider giving back to the community by these 3 types. But the limits are looser for blogs. It shouldn’t be just about hardcore engineering topics. (Like my favorite blog or my post about exporting tensorflow models to c++ which got more than 13K visitors). Part of the recruiting process is trying to know you and it’s better to put some bits of your personal life, like the books you are reading, your hobbies in your free time (e.g. I wrote about my half-marathon experience).
I will post more about how to prepare for interviews, how you can improve your portfolio with freelancing (while earning money too) and how to plan your startup job hunting process.
Open Positions
Now the list of interesting open positions I see here and there:
- Hacker news jobs
If you believe in yourself, here’s the list of most challenging and most rewarding positions in the world which can make you wealthier than most of the founders themselves. - Angel.co jobs
Another good place with lots of filtering options like role, location, visa sponsorship, … - Serena Capital portfolio companies job list
A little bit old but a good list of positions, mostly in Paris. Still, you can check the companies for new positions.
Companies that I love to work with because of their culture are:
Very interesting Internship offer from Shopify
Yesterday I found this internship position in different location form Shopify. For applying, one step you need to do is to solve the challenges they posted here. I would apply myself if I wouldn’t need to go to the 2nd year of my master. The deadline is May 10th, so hurry up!
Originally published at hamedmp.com on May 7, 2017.