How to Use Github to Land your first software Job
No, I’m not going to tell you to build an amazing feature for a company.
To help me understand you fill out this survey (anonymous)
I had a very interesting conversation with somebody recently,
They loved my advice on LinkedIn Optimization and Networking. However, they brought up an interesting point. Someone like me meets a lot of people through the activities and is active on LinkedIn. Meeting people is easy. Many coders they interact with are a lot more introverted. The coders want to stay inside and code all day because that is what they enjoy. They don’t like talking to strangers, aren’t sure of how to network on LinkedIn, or do any of the other things I suggest. My advice of meeting people through networking and activities would not apply to these people.
The funny thing is that I’ve worked with these kinds of people. People that actually enjoy coding, and get back home and work on personal projects. The kinds that watch and attend tech conferences for fun. Yes, those kinds.
In this article, I will share how I helped these people network, using their Github. Believe me, you don’t want to miss this. This advice will be tailored more towards students and people towards the start of their careers. However many of these will also be useful to older…. ehmm more established developers.
- Who this is for- This kind of advice is for a very specific kind of person. If you’re someone who wants to highlight only their coding skills, then using Github as your primary platform makes sense. But this will be a lot of effort.
- The Great Github Lies- Most GitHub advice is wrong. You don’t need to contribute an amazing feature to be noticed. Your GitHub contribution chart doesn’t need more green than a mid-2000s rap video. This helps. But it’s not necessary.
- Github is a social network too- Sure it doesn’t function like your typical social media. But it is very much a way to connect with like-minded people interested in the same things. Which is the pitch of every social network. Using it in this way will help you a lot.
- There are no shortcuts- Ultimately, you will need to put in the work, even in this case. Sure you won’t have to spend as much on other things. And yes talking to people is mostly frustrating and leads to nowhere. So this approach largely skips that. However, you will still have to spend a lot of time coding and getting involved in such communities. Ultimately, this is not an easier path, just a different one.
Sound interesting? Let’s get into it.
Figuring out if this is for you
The first important thing to do is if this advice even applies to you. How do you do that? Try spending a meaningful amount of time (at least 6 months) contributing extensively to open source communities. That’s really the simplest way. If you end up enjoying the process, then very likely you at least like coding enough for this approach to make sense.
Here are some questions that can help you decide whether such an approach is valid for you.
- Do you feel interested in learning about the newest languages/frameworks?
- Do you enjoy working on coding projects for extended hours, even if they have no monetary gain for you?
- Is there a particular kind of development (Machine Learning, Mobile, Game, Web, etc. )that you like enough to devote extended hours to? Like digging into the intricacies of frameworks and architectures.
The last one is particularly important. I find Machine Learning interesting. I spend a lot of time going through AI research. But there’s no way I have the patience to look into the AI frameworks (TensorFlow, Keras, Scikit etc) to learn about the implementation details of these libraries. Are you someone who’s actually going to enjoy the implementation details, or are you just into the end result? If you’re going down the Github route, you will need to be the former.
If you’re unsure, just test it out. There’s nothing wrong with trying new things out, even if they don’t work out. Having more experience in your belt can only help. And you’ll know yourself better.
Assuming this is something you’d like to explore, let’s get into the next part- what most advice gets wrong about using Github well.
The GitHub Lies
Many well-meaning people will tell you that there are two ways you can get jobs through Github. Firstly, you find a thriving project, and you start contributing. Once you contribute something amazing, you will gain a lot of clout. Then all you have to do is pick the best offer made.
This is not untrue. It’s just not good advice for the majority of people. Think about how hard it is to actually build amazingly meaningful features. Sure if you can, you might gain a lot of attention and offers. But making this your strategy is like planning to win the lottery. Especially if you’re a beginner with limited skills and experience.
The second is a lot tamer. Have a great Github profile with lots of contributions. Link it in your resume. And when recruiters/hiring managers look at it, they will realize you’re coding Jesus. Your interviews (and jobs) are guaranteed. Just make your activity look like the ones below.
We’ve already been told that recruiters spend 6 seconds looking at your resume. Most won’t take the time to go through your links. Especially if they’re in the big tech firms, where they have millions of applicants.
Obviously to get good at coding you will have to code more. And contributing a lot increases your chances of making the right contributions, propelling you forward. However, this can turn a slippery slope. You’ll have to take breaks, whether to recharge or to learn and master new ideas/tools/frameworks. Contributing just for the sake of it (or just keep up the green) will lead to you doing a lot of dead work, and might stop you from making the most of your time on Github.
So what should you do? Let’s cover that next.
Using Github the right way
Many people get confused when I tell them that they should use Github as a social media site. What does it mean? Am I telling you to upload selfies and pictures of your dogs on Github?
Don’t worry, you won’t need to do that. What I mean is simple. You want to use Github to connect with like-minded people interested in the same things/ideas as you. If these people are further along in their careers than you, then they might be able to guide you.
Let me give you a small example. Imagine you’re very into game development and you start contributing to a really cool open source game dev community on Github. As you do make changes to the project, you will have to submit a pull request to merge those changes into the main projects. So far, so good.
Here is where things get interesting. Someone more established in the project will typically review your PR and approve/deny it. With this, they might give you some feedback (if they deny your PR, you will definitely receive feedback).
Now I want you to look at the feedback, and learn from it. Nothing revolutionary so far. But get back to the reviewer, thanking them for the feedback. Tell them which part of the feedback you found most impactful. The more specific and detailed, the better. Be genuine as you reach out. Just like that, you’ve made a connection with someone involved in the same things as you.
Aside from this, get involved in the community. The online community will no doubt have a lot of interactions going on. Start participating in the groups, activities, etc. If there is a Discord/Slack/GC, join it. If there isn’t, create one. That will be a great way to add value to the project community. This way, as you start looking for work, the people in the community will be happy to help you.
Notice, in the end, you’re merely using Github as a way to meet more people. It’s just a different way to do the same. Humans are social creatures. They will always be more likely to help someone they have a connection with. Not leveraging that is fighting the millions of years of Human Evolution. You’re not going to win a fight against biology.
However, there is one final thing that you have to keep in mind before you decide to adopt this strategy. Let’s cover that now.
There are no shortcuts, only tradeoffs
Should you go this route, building a rapport with people/establishing yourself in a community will be much harder. When I was in Memphis, it took only 1.5 months to become friends with most of the people in our BJJ gym. In my different fighting gyms, I was offered referrals/help by people when I met them the first time. All I did was mention that I was in AI, and they offered me referrals or introduced me to friends in the space. Some of these were in big names like Meta, Palantir, BNY-Mellon, and Microsoft. They didn’t even have to see my coding skills to want to help me. Just a 5-minute conversation as we were hanging out after training.
This won’t happen if you go the Github Route. You’ll have to spend a lot more time getting to know people in the community. For example, with the PR reviewer connection, you will probably have to have multiple interactions with him before you have that rapport to ask for help. In fact, in many online communities, if you start asking for help/referrals right away, you will be blacklisted/kicked out. And chances are that your coding skills will have to be sharp in order for people to start forwarding your profile around.
Keep this in mind. Sure you can spend all your time coding. If you love that and hate traditional networking then Github is a powerful alternative. No silly small talk and arbitrary conversations. But in many ways, your path to getting referrals and job offers will require more time and patience. You only get to choose your fight, not avoid fighting.
Above was a piece from my newsletter Coding Interviews Made Simple. For more such high-level analysis for free, check it out. The newsletter needs no names, no personal information. Just your email. And there is no spam. Ever.
For Machine Learning a base combining Software Engineering, Math, and Computer Science is crucial. It will help you conceptualize, build, and optimize your ML. My daily newsletter, Coding Interviews Made Simple covers topics in Algorithm Design, Math, Recent Events in Tech, Software Engineering, and much more to make you a better developer. I am currently running a 20% discount for a WHOLE YEAR, so make sure to check it out.
I created Coding Interviews Made Simple using new techniques discovered through tutoring multiple people into top tech firms. The newsletter is designed to help you succeed, saving you from hours wasted on the Leetcode grind. I have a 100% satisfaction policy, so you can try it out at no risk to you. You can read the FAQs and find out more here
Feel free to reach out if you have any interesting jobs/projects/ideas for me as well. Always happy to hear you out.
For monetary support of my work following are my Venmo and Paypal. Any amount is appreciated and helps a lot. Donations unlock exclusive content such as paper analysis, special code, consultations, and specific coaching:
Reach out to me
Use the links below to check out my other content, learn more about tutoring, or just to say hi. Also, check out the free Robinhood referral link. We both get a free stock (you don’t have to put any money), and there is no risk to you. So not using it is just losing free money.
Check out my other articles on Medium. : https://rb.gy/zn1aiu
My YouTube: https://rb.gy/88iwdd
Reach out to me on LinkedIn. Let’s connect: https://rb.gy/m5ok2y
My Instagram: https://rb.gy/gmvuy9
My Twitter: https://twitter.com/Machine01776819
If you’re preparing for coding/technical interviews: https://codinginterviewsmadesimple.substack.com/
Get a free stock on Robinhood: https://join.robinhood.com/fnud75