I’ve been on the hunt for a full-time job since I graduated last year. Granted, the effort I’ve put in till recently has been.. less than ideal. We can talk about that later though. Short version is I’ve been doing contracted consulting work.
The thought I’m exploring in this post is…
Is a portfolio of code needed to get a job as a software engineer?
I’m just one person, and this is purely based on my opinion and experiences early on in my career. So take this post with that in mind. I’d love for a discussion to happen in the comments if you have similar or differing experiences with this.
I guess I’ll begin with stating the current advice being driven into the minds of recent college grads and aspiring developers across the world.
Post as much content to git repos as possible. Companies need to see examples of your work, and will not hire you without it.
Let me break down the different kinds of content you could be posting to a site like github, bitbucket, gitlab, etc..
It really breaks down into a few simple categories.
- Your own code. I will broadly define this as projects you’ve started on your own and need version control for. It may include your own unique software projects, tutorial implementations, software clones for learning, homework assignments, etc.. Stuff that you work on by yourself.
- Forked code you’re contributing to. These are OS (open source) projects that you find a bug in and try to fix. If you successfully get a PR (pull request) approved, you’ve successfully contributed to the open source community. Props.
Of these two very wide categories I believe there is a disproportionate emphasis placed on one when it shouldn’t.
This is where I’m going to offend someone.. probably even myself. Your personal projects mean nothing to the companies interviewing you.
I’ve only ever had one interviewer comment on my personal projects, and it wasn’t even about the code. They were more interested in the topics and reason I chose to do them.
Conversely, I’ve had many recruiters ask if I’ve ever submitted PR’s with OS projects. What makes a PR with a few lines of code more important than a multi-thousand line project that accomplishes something very big?
I believe the main reason for this is because I’m considered a junior dev, regardless of my 3 years of experience being paid to write software. Companies are more interested in how I interact with others, than how well I can write code myself.
A more traditional company will ignore your github entirely, and require you to perform a technical screen to see if they even want to begin the interviewing process.
Even after that, they’ll have at least one additional technical interview which will test your critical thinking and problem solving skills, in addition to your conceptual CS knowledge.
Q. Why is this the case when I have several projects on my github that show off these abilities and skill sets?
A. They don’t have time to analyze your code. The very most that these recruiters will do is see what kinds of projects you’re working on, what frameworks, which languages you prefer, etc…
So, do you need a github portfolio? Probably not, unless you don’t have a degree or significant experience as an engineer. Some of the jobs I’ve applied to auto-respond saying they have 2000-5000 applications for a single position. Taking that into consideration puts it into perspective that most of these companies don’t even look at your resume, let alone your repos.
Bottom line: Don’t worry about your profile. Use github to network with other engineers and contribute to projects you have a passion for. Don’t do things for the sake of having a portfolio.comments powered by Disqus