How You can Get a Job In Software 👨🏼‍💻

Feb 18, 2023 4:01 pm

Read Time: 8.0 minutes


"How do I get a job as a software engineer?"


It's the most common question I get asked during 1-on-1 calls with software developers, and I think it's obvious why.


It's the first step to making your skill a real profession:


Provide concrete value (software) -> Get abstract value (money)


Then you can convert the money into whatever you want.

That's the beauty of the abstraction of money.


Everybody's situation will be different, but let's break down this idea of "how to get a job" into something that anybody can apply to their scenario.


I've broken it down into the three steps that will take you from getting noticed by an employer to successfully onboarding to a new position.


Let's get into it:


Getting Noticed

The first step to any of this is getting noticed This is the part that most people struggle with.


It's ridiculous to suggest that anybody shells out $60,0000 to $100,000 for a 4-year degree just to get a job in software.


Luckily you don't need one.


In every job I've worked at, I've worked alongside people who did not have 4-year degrees. I've also worked alongside people who had 4-year degrees from Ivy League schools. The difference in skill is negligible. I've seen no obvious difference.


University is a business directly tied to the global employment system and the internet is forcing the illusion to be broken. Employers are starting to ease up.


You are perfectly capable of working at Google, Netflix, NASA, SpaceX, Tesla, or that hot new startup you've been eyeing – without a degree.


Employers are looking for one of two things on your resume. If either of these is compelling enough you can snag an interview


1. Proof of Competence

This comes in different forms. Think of it as tangible proof of your skill. Anything that is a result of your skills qualifies:


Small Projects – Anything that you created to show what you're capable of. Keep it simple. Visualize some data, make a small game, or build a data parser. My advice for projects is to think small, then think even smaller.  


Research – Try making a blog post similar to this one where you investigate the workings of a language.


Tutorials – If you ever solve something while working on your projects make a blog post about it! My favorite way is to combine two tools you use and make a unique article on how to use them together. Check out How to set up React with VS Code


Live Products – A live product is the pinnacle of proof of competence. This shows that you can launch a product at scale and maintain it on your own. Any company is looking for you to do this anyways, so they will be excited to see you have done it by yourself already.


2. Certification of Competence

In the cases that you don't have proof of competence, certification of competence also works.


This comes in a few different forms:


Degree – If you have one leverage it. If you don't then consider an alternative route if you already know coding is what you want to do.


Bootcamp – A much cheaper alternative to getting a degree. Instead of 60-100K and 4 years on a degree, you can spend 10-20K and 1 year on a boot camp. There are good ones out there that teach you plenty and even have job guarantees. A solid investment if you ask me.


Work experience – The best one if you have it. Focus on anything where you wrote software and delivered results. If you are really hurting for work experience I think the best way to get some is to take on freelance work on a website like Upwork. I've done this in the past.


Getting Accepted

Landing the interview is the first step. Once you have the interview you need to step up and prove that you have chops.


Here's what you need to understand.


Programming basics - How to use a language

Applied programming - How to use programming to solve a problem


For programming basics just pick a language, learn it, and understand how the basics of programming work.


For applied programming, you need to understand data structures and be able to solve LeetCode problems. Most interviews require whiteboard coding and it sucks, but we all have to do it.  


To learn data structures check out this video and take notes.

Then check out this course on LeetCode that goes over how to use them. 


To learn LeetCode problems I recommend starting with their easy collection until you get the hang of it, then step up to medium until you can complete 10 of those on your own.


Keep in mind that this should be hard. Most people hate doing these LeetCode problems. Every time I go back to do them I struggle at first. Be patient with yourself.


Meeting Expectations

What should you expect with your first junior developer position? Are they expecting you to nail it out of the park?


This is something that varies. Definitions of roles are loose. What one business expects from a junior developer is not the same as what another one does.


Clarify early on before you start the position what they are expecting, and be sure you can do what they need.


A couple of questions I like to ask are

  • What does success look like in this role at 30, 60, and 90 days?
  • What does the typical day of work look like in this role?


After these questions, you should have a decent idea of what to expect. Be ready to take on challenges, and don't be afraid to step up into something you feel almost ready for. Odds are you will learn a ton and get paid to do it.


_________________________________________


That's all for today.


It's not a walk in the park, but it's not rocket science either.

I hope this provides enough clarity for you to take action.


If you have any questions shoot me an email at swdlodonnell@gmail.com and I will get back to you.


Until next week 👋


Take care and stay foolish.

Comments