It's been a few years since I started receiving salary for my programming efforts. For the greater part of those years, I also took an active part in hiring other devs for companies I worked at. That involved interviewing itself, but also designing challenges to be solved during the interview, and sometimes screening candidates based on their resume and other aspects.

And there is one thing I want to focus on today: your online presence in the professional space. Or its lack, and why it might be better not to have it in some cases. I'm basing my words on my experience in the software engineering world, but I'm fairly sure it applies to most (if not all) other creative professions.

So why exactly is it important?

I meet your online persona before meeting you

If you've heard of or used GitHub, you can go to the next paragraph. GitHub is an online platform primarily for hosting and managing source code. It can also go beyond that and deeper into the software engineering world—for example, you can do simple project management using its built-in issue tracking system. But predominantly it's a place where teams store their source code and collaboratively develop it.

Since its creation in 2008, GitHub incorporated some aspects of a social network on top of simply hosting. Your profile page is definitely something that can showcase your activity: repositories, contributions, pull requests, comments... It even has this fancy radar chart (shown below on the right), showing where you spend your time and focus. And the activity graph (shown below at the top) also displays contributions to private repositiories—even those that you no longer have access to. Even though an outsider will not be able to see exactly what you worked on, they will see that you were actively contributing. It might be important if you're changing jobs, and you lose access to your former employer's repositories—it'll still show your past activity there.

Screen-Shot-2019-09-04-at-07.52.12
You can clearly see when I was away on holidays.

Nowadays, it's common for candidates to provide a resume (or a CV) with links to their online profiles (apart from GitHub, LinkedIn is another popular one). I tend to follow them up while preparing for the interview.

If I see a candidate with a rich online presence, that's a small positive signal in their favour. They're passionate! Or working hard. Or really interested in software engineering. It doesn't mean that they'll automatically get the job—far from it. I've had candidates like that fail the interview. I also had a lot of candidates without any online presence that rocked the interview, and continued to rock after being hired.

A lot of activity is great. Lack of account is fine as well. But what if the GitHub account, which I found in the resume that you provided with your application, is empty? No repositories, no commits, no activity...

Screen-Shot-2019-07-19-at-09.55.02
Sorry, BLAH, nothing against you personally. It was simply the first word that came to my mind.

In cases like that I force myself to ignore such a profile and focus on other, more positive aspects of the candidate. (I learnt a very insightful thought recently: "hire for excellence, not for lack of weakness".) But every now and then, before that reflex kicks in, I wonder for a minute: why would someone link to their empty profile? It's like introducing yourself as a professional painter, and showing off an empty room as your "workshop".

abandoned-room-7007
"Here you can find all my projects, as well as tools I used to work on them." Image by SnapwireSnaps from Pixabay

Or a room with some canvases. Unfortunately, all of them are blank, and there's no sight of tools in the vicinity. In a case of a GitHub account, that would be the equivalent of an account with nothing, but empty repositories. Why would anyone create empty repositories? It happens more often than you think.

Consider this: in a split second, you have a brilliant idea. Something amazing, revolutionary that will change the world. Or at least bring you and potential strangers on the internet enormous value: a new toolset, a new app, a new approach, a new something. Since it's something you will have to write code for, you start in the usual way: you create a new repository, open up your IDE of choice, maybe you write three sentences in the README.md file, maybe you even create the first commit with scaffolding code... and then you get distracted. Or your inner procrastinator takes over. You promise yourself to get back to your revolutionary idea soon. After you get past this writer's block. After you see the next episode of that TV show. Or season. Either way, the freshly created repo stays empty.

Sounds familiar? I'll risk saying that everyone is guilty of this. Me included, of course:

Screen-Shot-2019-09-04-at-07.46.37
I have a vague recollection what that thing was supposed to do. It was supposed to be smart, easy, and, you know, just work. Also, normalizer.py almost doesn't contain any code.

Back in time, before all the cool kids discovered GitHub, I had my own personal blog. I had this one particular post, where I made an announcement to the entire world about my newest child: a PHP framework I just started to write. (I was 15 at that time, and surely writing frameworks can't be that complicated, right?) I presume that by this point I don't need to say that this one entry on my blog was the only mention of that framework in the entire history, never to be seen again by anyone, me included. Even though I didn't write any code for it, I spent some time creating a logo for that framework. Talk about bikeshedding.

Unfortunately, repositories like that only contribute to the emptiness. People won't be amazed every time you have a brilliant idea and you make the first step to make it come true; they will nod respectfully when you continue walking after the first few kilometres, and will clap when you make it into a marathon.

The lack of an online presence is better than an empty online profile. If you don't provide your GitHub account on your resume, you remain ambiguous. I (as an interviewer) pay more attention to things you have. If you do provide it, however, and it's empty, then that's a small signal that you did enough effort to create your account and put it in your resume (maybe even with a small icon and clickable link), but you didn't take another step to actually create content. Or you read on the Internet that everyone now links to their GitHub profile, so you followed the trend. Maybe just skip it and focus on highlighting your strong sides.

(All of the above applies to other creative professionals as well, not just software engineers. If you were a designer, you shouldn't really link to your empty Dribbble profile. An architect shouldn't really boast about their website with no sample projects on it. And so on, and so on.)

But what if you're just starting, and that's the reason why your profile is empty? Should you at least not show that you know your way around git and GitHub?

Write and share

Nobody is born with a perfect understanding of how software engineering works. Everyone starts with the most crappy code that will be laughed at a few months later. Even then, you will regularly come back to your code from the past, and realise all the mistakes you made, and how many things you'd do differently now.

I wouldn't dare to say that my bachelor's project showcases the best of my programming ability: it was my mediocre attempt at writing working Python code, back in the time before I used Python professionally. If I started again with all the knowledge I have now, I would have a pretty good idea of what not to do do this time. But all these years later, I can use this project to tell the tale of how I improved. Here's where I was then, and here's where I am now. (If you combine that with "and here's where I'm going", it will be a very powerful combo.)

If you're just at the beginning of your journey of programatically telling computers what to do, it's much more beneficial to highlight that you're interested and passionate, rather than perfect. All the mistakes you do while trying will work in your favour: they will be a proof that you learn. That you try. It's something great to chat about with your potential employer

A good interviewer will be less interested in hearing what you did perfectly; instead, they will want to hear about challenges you encountered, mistakes you did, and what you took away (learnt) from them.

Depending on your profession, you can use different online platforms to share your works and tell your story. Software developers can use GitHub, or other code hosting platforms (for example BitBucket). There are specialised platforms for designers as well to share their content, like Dribbble. Another option is to simply create a free blog (eg. at WordPress), which is flexible enough to let you structure your content in any way you want. Last but not least, you can use the power of social media, and simply create a Facebook or Instagram profile. There's always a way to start, and you can build from there at your own pace.

To summarise

If I were to recap everything above in a short list of things (not) to do, I would present it like this:

  • Create your online portfolio and start sharing your works, in order to improve your first impression. It will be useful while looking for your next dream job, but it may also come in handy in the most unexpected moment.
  • Find the most appropriate online tool for building your presence. But don't sweat too much on this, almost all of them are very flexible and can be adjusted to your needs.
  • Don't link to your empty profile only because everyone does it. Either fill it up, or skip it.

Now, have I motivated you to step up your online presence and share more? Let me know about your experiences in the comments!