Better Developer

Corey Prak

Github’s Heatmap: Track your Learning, Build Your Portfolio, and Advertise your Hard Work

Dat Green Heat Map Tho

GitHub’s Heat Map is a summary of activity. It can be viewed from a person’s Github profile. Here’s a brief look at Linus Torvald’s profile:

Each day’s activity is represented by a green square and ranges from the day that the Heat Map is viewed to a year prior.

Generally, each git ‘commit’ towards any repository in which your Github username is linked as an author counts towards a contribution on the square of the Heat Map that represents that particular day. If you visit a profile page and hover over a square, you can click it and view more information about activity made on that day.

I’d like to spend a few minutes to hover and look at this to see what someone’s been up to. I can review the recent projects and follow the commit through to see actual code. What’s more, I can view code made most recently and up to a year before to review growth. That’s pretty powerful.

The image above describes what happens when you click on a square. As you can see, the number of contributions made and the repositories they’ve been made to is shown. Also note the years on the right which enables manual inspection of a heat map beyond the default setting (all activity within a year).

The deeper shade of green on a heat map square reflects the abundance of contributions. In my experience, dark green is really nice to see on a Heat Map but difficult to maintain. A single contribution is not the size of a commit, but a single commit; 10,000 lines of code in one commit will count as one contribution, while 10,000 lines of code in multiple commits counts as more than one contribution and has a square that’s a darker shade of green.

I’m sure you’ve done what I have, spending weekends upon weekends trying to do ‘stuff’ that just ends up on your computer somewhere. So much time passes that you sometimes even forget the knowledge that you retained.

You might have fallen into a downward spiral, spending so much time trying to build something, not sure if it’ll really go towards anything or count towards you ultimately getting that job.

Or maybe you’re doing just fine and chugging along through a course on Udemy or some book. Even better! Either way, make the most of the investment of time you’ll never get back count as much as possible. Use a Heat Map to your advantage.

Spend a weekend coding? Make a commit of content, notes, etc, and push it to your account so that you get some green on that Heat Map of yours.

Didn’t code but took notes? That’s okay too! You just need something to commit, preferably content used/created in learning and references or notes so that you have something to reflect on.

This is why I’ve repeatedly mentioned keeping track of your learning and creating some kind of content to accompany it like notes and code. You now have a ton of content (hopefully) to start adding to your Heat Map and making it dark green!

Story time: one person I’ve worked with in the past learned to use Git and create commits soon after we started working together. Her goal was to be accepted into a Bootcamp program which oftentimes requires you to start learning or brush up on learning as a prerequisite to the interview/application process.

Check out Jess’ Heatmap, we’ve been working together for over a year: https://github.com/jcat1504 https://github.com/jcat1504

I’ve recommended this to everyone that I’ve worked with. Look at all this green:

Are’s heatmap: https://github.com/Ar3Tea https://github.com/Ar3Tea

Shan’s heatmap: https://github.com/shan5742 https://github.com/shan5742

Nomad’s heatmap: https://github.com/Arbalest007 https://github.com/Arbalest007

Ken’s heatmap: https://github.com/kenSandoval https://github.com/kenSandoval

John’s Heatmap: https://github.com/jmc90 https://github.com/jmc90

Sneakzz’s heatmap: https://github.com/Sneakzz https://github.com/Sneakzz

) From this alone, you know everyone is working hard. You can tell how consistent everyone has been. Another important detail is that this demonstrates competency with Git – a version control tool that is widely used in the field.

Jess made commits of her work about 7 months before the interview happened. The interviewer was able to see the projects she’s created, the dedication and consistency demonstrated on her own time, and just as importantly, review her competency from actual code.

Evaluating whether she was ready for the bootcamp and able to make the most of the program was a no brainer. Her application was directly referred by the interviewer to prioritize her as one of the top applicants, and she was approved in a few days, whereas her friend who applied at the same time and did none of what I recommended waited three weeks for his answer.

From a structured way of organization your content in learning, utilizing Git, which is some form of version control, to even just motivation in making your squares dark green, a heat map is one of the best ways to market yourself and learn. It’s a great way to give yourself motivation to keep that green streak going and hold yourself accountable.

For people just starting out, I always recommend creating a notes repository. It’s a great and easy way to get introduced to using Git and building a nice Github profile, which is oftentimes used as a portfolio.

You could start a journal with your learning, files with notes, links, and summaries, anything. While you may be concerned about whether to use git from the command line or to use Github’s desktop application, what matters most is that you start. I’ve seen too may people fuss making decisions to the point of paralysis. Some things do need to be decided on carefully. Git Vs Github’s Desktop Application is not one of them.

Don’t Be Scared; Code is NEVER Perfect

Lastly, DON’T BE SCARED TO PUT YOURSELF OUT THERE! Seriously. Putting yourself out there and posting what you’re doing with the skills you have now is fine. Nobody expects you to have perfect code, you’re learning!

Also, code is NEVER perfect. Don’t wait to show the world watcha got.

I’ve been in that position of waiting until things are ‘perfect’ and I’ve lost out on opportunities to market myself. SO MANY TIMES.

By putting yourself out there early on, you meet what I believe is a bare minimum of having code on the internet for people to evaluate. Having your code reviewed for a shot at a job rather than having your application passed because of a lack of portfolio content is horrible. I’m not stressing this detail because I feel that it happens a lot, but the fact that it CAN happen is enough.

What’s that saying? There’s no such thing as bad publicity.