Getting Your First Tech Job
This blog post is what I call micro-focused. A friend of a friend emailed me about his concerns about breaking into the tech field and rather than solve his issues on a 1:1 basis, I'm writing it here because I suspect this is useful to more people than just him (or her).
Let's start with his email:
Hope everything is going well. Have gotten real discouraged on the app project I had told you about. The initial meeting has been postponed twice, nothing on the books now either. The person I have been talking to about it just gives me the impression those in charge are real disorganized and this isn't exactly a high priority in their busy lives. So I am thinking just letting them come to me if they want but otherwise taking a passive approach. With that being said, I am taking 9 credit hours, all 400 level CS classes, this semester. The dream is to find some part time work in the IT field, but am trying to be cautious in how much I take on, have definitely over burdened myself in the past and it was horrible. So that's where I am at now. I was hoping you could give my some guidance on the whole process. I have been lucky and able to find work generically and by word of mouth, but am absolutely horrible with the normalized resume and application process. Not sure even where to start asking questions but I image you could provide some great guidance. As always I know you are a busy guy, but appreciate any time and help ya can give. Eager to hear back from ya!
So let's begin with an understanding of the goal in high tech hiring:
The goal is to keep bad people out. This is a dramatic change from tech hiring in years past; it really has shifted to keeping people out not getting them in. And the corollary to this is that good people fall by the wayside -- in droves.
That's the goal of high tech hiring circa 2019. I don't care what any HR department tells you, the goal is simply risk avoidance. No one wants to take a chance on a bad decision because bad people in an engineering context leave a terrifying legacy (sometime ask me in person about def run and I'll tell you a terrifying tale about someone I hired once for 1/2 day and how that broke deploy on our code base for 3 damn days; sigh).
What you have to keep in mind is that if no one wants to take a chance then you really need to stand out, particularly to get past the f*cking wall that is automated resume scanners, keyword matchers, etc. Getting a tech job these days is hard for anyone -- hell the second to last time I was in the market for a job, I had to write Job Hound just to manage the damn process; sigh.
Now, all that said, there are definitely things that you can do to stand out and here's what I would recommend to this individual:
- Know what you want. There is no such thing as a "IT Job"; you might be a developer, you might be a tester, you might be QA, but figure out what you actually want to do because passion, trite as it sounds, is really, really important.
- Make Sure Your Resume Works. For my new gig, I trusted enough to let a friend take a swing at radically changing my resume and, what do you know, employment (ok consulting but still).
- Network / Meetups. Getting hired via a resume over the transom is a suck ass process. You will find things work much better if you network and while that sounds intimidating, there is an easy way -- Meetup. There are meetups in virtually every technology and if you go there you can find the people in your area who really care about what you do. Let's say you are in the Indianapolis area and you care about Python and Data Science. Well here is the search for Python and here is the search for Data Science. And if you're intimidated going by yourself the first time, well, bring a friend. Also if you think that "I won't be accepted", well, keep in mind that Meetups do tend to be pretty inclusive and are often micro focused -- there is even a "La Femme Pythonista" meetup here in Indianapolis.
- Practice Coding Tests. It is pretty common nowadays for new people in particular to have to take coding tests. This is a skill that you can practice like anything else. Personally I'd start with TripleByte but there are lots of them. As a side note, I HATE coding tests and find them to be a crap ass metric that only tells an HR department that this person can pass (or cheat) a test but no one ever asks me ...
- Read / Learn. If you are entering the tech world then a continuous focus on learning is highly recommended. I follow tech news in two ways, I read Hacker News religiously for the big picture and then I follow Ruby Weekly for stuff about my environment of choice.
- Side Project. As a noob, it is easy to hear "start a side project" but that is intimidating as hell. A simpler approach is to approach someone with a side project and say "Hey - can I help?". As an example, JobHound is dying for some love and it is definitely a way to learn. But there are literally tens of thousands of side projects that need some help. And once you start helping on a side project that goes on your damn resume.
- Github Profile. If you don't have a Github profile in 2019, run, don't walk and get one. And then do something with it -- write docs for some open source project, find a tool you can contribute to, etc. One of the best guys I ever hired, I did so not for the code he wrote on Github but for the docs he contributed to Ruby. No one writes docs and someone that does is a damn precious resource.
- Answer Stack Overflow Questions. Stack Overflow is an absolutely precious resource and one that always needs help. Find the question stream on your technology of choice and start answering.
- Read Josh Doody. Josh Doody is the author of Fearless Salary Negotiation and Fearless is the single best book I've ever read on salary negotiation. I recommended it to a friend recently who got a 38% boost in her comp when she changed jobs. She then pushed me to follow it and I got a 45% boost in my comp. I cannot recommend this book strongly enough. Even if you don't negotiate on your first job (which you might not because you lack power, you want to know this for your future).
- Manage the Process. This last item is a plug for one of my current side projects, JobHound. JobHound makes the process of getting a tech job, well, suck less.
In closing there are a lot of things that you can do to make yourself more marketable and I'm not saying that you have to (or even can) do all of them but there are definitely steps to take.