I don’t want to go into a lot of personal detail, but I will say that software was not my first career. I did not study computer science or programming in college. I studied math, and I taught math at universities for about 10 years. I’ve had many, many interviews. Eventually I got my first job as a software developer at LendingTree. They brought me on as a frontend developer. I had been doing my own software projects for a long time, but that was my first professional job, and it was 2017, not very long ago. Since LendingTree, I did some freelance work for a while, and as of this writing I’m about to begin another corporate job with an insurance company called Kemper.
Here are some of my thoughts on getting to the first job, because the first one is definitely the hardest. Specifically today I want to talk about the kind of public persona you can build to help you get the attention of a hiring manager enough to interview you. If you are having trouble even getting an interview, this post is for you.
You need to focus on getting the attention of a hiring manager—and not in some gimmicky way like stalking him or sending him weird things in the mail. (I’ve actually seen people recommend crap like that.) No, I’m talking about how to make yourself an applicant that will get some attention, even a phone call.
Get on GitHub
If you aren’t on GitHub yet, do it now, right now. Go sign up for GitHub and be prepared from day one for GitHub to be part of your public persona. People don’t really care about your bio there. Just pick some decently professional face picture to represent yourself, and if you haven’t already done so then install Git on your local computer and connect with with your GitHub account.
If you are unfamiliar with any part of getting Git and setting it up with GitHub, then just Google it and figure it out. It’s very important. From now on, every one of your little coding projects goes on GitHub, publicly. Most likely nobody will ever re-use your code, but that isn’t the point. Committing code to GitHub regularly will show up on your profile page as activity. A recruiter can see how active you have been over the past year at a glance, and they like people who have been active.
This is not in any way a hack. You are not trying to fool anybody. This daily coding activity will make you a better coder, and all I’m suggesting is that it helps if you have a way to show people that you have been practicing for a long time. GitHub helps with exactly that. It helps you show people you’ve been busy.
If you have previous projects that have so far only existed in folders on your own computer, go ahead and put them on GitHub now. And when you do new stuff in the future, put it on GitHub right from the start, and add new commits early and often as you build and refine the project.
None of this is just my personal opinion. I’ve had several recruiters comment on my GitHub activity as a reason why they chose to contact me in the first place rather than just tossing my file and moving to the next guy.
See, you have to think in terms of the steps it takes to get a job. The first step is just getting a human being to actually look at your file and maybe even call you. GitHub helps with that.
Create an Online Portfolio
I am a web developer, and that lends itself particularly well to creating a website that is a portfolio of my work as a developer. My own personal portfolio is at https://widgetwonk.azurewebsites.net/. I try to make it decent-looking, but it is a one-man project, and I’m not personally a master of every individual element of web design and development. The point here is not to say, “Hey look at my portfolio. It’s great. You should do what I do.” Rather, the point is just that I have a portfolio, and you should too.
If you are a developer in some other kind of medium different from web development, you are probably able to translate this advice into what makes sense for your medium better than I could. So I’m just going to talk about a web dev portfolio.
The portfolio is a curated list of hosted, functional examples of my work. It’s not everything I’ve ever done. I chose some favorites. They are not all super-cool apps that would impress an average user. I chose the ones you see on my portfolio based on the code I used to write them, the specific tools and techniques, and libraries and such. Also, each example on my portfolio has a link to the source code on my GitHub. If a hiring manager looks at one of them that I claim is a React widget, he can look at the source and see if he thinks I write clean, correct React code.
Your portfolio should have a single entry point. It may just be a list of links to other things, but there should be one single link you can share. In my case I actually bought the domain name. It might be helpful to buy a custom domain name for yourself. It’s not as expensive as you might think.
I want to emphasize an important point here. The portfolio is not just a list of code examples. That’s what your GitHub is. If you are a software engineer, your portfolio should demonstrate that you can make actual software that works, that does something.
Hiring managers and other decision makers have specifically mentioned my portfolio on phone calls and during interviews. One time during an interview the interviewer brought up my portfolio on a big TV screen in the meeting room right in front of me and he told me that he had looked at it and played with some of the apps a little before we met.
Putting Together the Public Persona
My resume contains links to my portfolio, my LinkedIn, and my GitHub specifically. Using GitHub in exactly the way I suggest here is a well understood device. If you include a GitHub, recruiters and hiring managers understand that they can look at that to see how active you are. I make all this stuff available on my LinkedIn profile also, and I get numerous unsolicited messages from recruiters every week through LinkedIn. That is how I found my next job that I’m starting in a few weeks.
This public persona, properly built up over time, will help you to actually get an interview. It will help you get to the interview stage reliably, so you can get lots of interviews and then, maybe, one of them proves a good fit. Typically you start with one or two phone screen interviews. If those go well, then they will invite you in for an in-person interview. I’ll talk more about the interview phase another time. Good luck!