Job postings are annoying because every job requires 3 years of experience and you can’t get that experience without having a job. What do!?
If you’re reading this post, I’m assuming you’re a complete newbie. You may have done some coding for fun or for school, but now you want to take it to the next level. This blog will share with you the steps I took to get my first software development job.
1. Own the Tech Interview
I’m jumping to the meat of the article because your long-term career success is likely going to come down to your performance on a (relatively) short interview. If you do all of the other things in this article perfectly, but do not have what it takes to impress a hiring manager, you will likely fail at becoming a software developer or software engineer.
I once did a technical interview and got totally and utterly slaughtered. I was really disappointed in my performance. When I was denied the job, I was not surprised, but at the same time, I felt the pride building up. “How dare they not hire me because I can’t code on a whiteboard!?” If only I had Pramp to save the day. Pramp is the website of choice to get unlimited interview experience. I could have used Pramp to do a real interview to get a position at a top-notch company! If only…
2. Start Small
The pressure for beginners to jump into distinguished lead senior software engineer at Google is outrageous. As I mentioned in my article on the imposter syndrome, expectations for software engineers are high, and at some point nearly every developer feels dumber than his or her peers. The imposter syndrome can be a humbling experience and is not always a bad thing. But if you want to avoid this, start with a position in your league.
Are you in school? Start with an internship.
Are you a new developer? Start with a Jr. software developer role.
Trying to transition into a coding role? Try starting with an automated testing role. This is a step closer to coding in that you’ll be writing tests, but it may be less code heavy.
All of these seem out of reach or not having any luck getting a position? Volunteer! Volunteer organizations are always hurting for workers. As a noob, this is a likely place to be given tasks you’re not trained for (that’s a good thing).
Go build a website for your local church. Build a flash card app for your high school. See if you can help out a local non-profit with their software needs. Why would you want to volunteer, exactly? This leads right into #3, building a portfolio.
3. Build a Portfolio (Living Resume)
There’s nothing more boring than a resume. Although useful at times, they are a very dry way to express your capabilities. Much more powerful is a portfolio. A portfolio is similar to a resume in that it records your capabilities, but it does so in a unique way. Here are some examples:
- A website that you’ve built showcasing some projects
- A YouTube channel with some tutorials
- A GitHub account showing some open source work
- An iPhone app that you’ve built and published in the marketplace
- A blog on LinkedIn
- Develop an influence on social media
This is something that should be actively worked on and should be an up-to-date representation of your programming work and skills.
4. Stand Out
Obviously the first 3 steps are going to help you stand out, but what else can you do? I received my first development job not because of my mad skillz, but because of my character and my YouTube channel. My boss knew that I didn’t have much experience in a particular language, but he knew from my portfolio (my early YouTube) that I’d be able to pick up the new language and be creative enough to use it for his purpose. Not to mention that I came from a minimum wage position, so $18 an hour was a huge promotion.
5. Make it Easy to Get a Hold of You
A recruiter or hiring manager sees your portfolio online, “Woah! This is the one! Let me just send her an email…” but to his disappointment, no contact form can be found. No links to social media, you don’t exist on LinkedIn, etc. You may have just passed up the opportunity of a lifetime, and you wouldn’t even know it. You can fix this with 3 easy steps:
1. Put a contact form on your website to send an email to your professional email address (firstname.lastname@example.org needs to go).
2. Have an up-to-date, public LinkedIn profile. I can’t even tell you how many recruiters message me on LinkedIn. “Hi, Caleb! I’ve reviewed your expertise in software engineering. You’d be perfect for our upcoming role: Senior custodial engineer. Fast growing company with lots of benefits!”
3. Consider social media a viable means for communication. Any wise employer will scan your social media prior to hiring you, so consider keeping your PG-13 filter turned on for public social posts. You may be scouted on these social channels, so consider allowing messages from strangers. One position I interviewed for originated with a Facebook page message. Another position that I ended up working for 18 months originated with a friend request and personal Facebook message. If I wasn’t careful, I could have missed out on these opportunities.
Understand that experience comes with time. I’m still in my early career and even I have noticed a huge improvement in my technical skills and important non-technical skills (soft skills). Now that you’ve seen the bird’s eye view on successfully getting your first coding job, go in depth with #1, owning the interview. Also, check out my video!