Getting your first Software Development Job

gaffleck

gaffleck

Posted on January 30, 2023

Getting your first Software Development Job

I've been asked in the past by recent grads or people trying to get into the tech industry how to get their first job as a developer. I've given them various versions of the following advice enough times that I thought I'd summarize it here for a wider audience. Here goes:

You already have it! 
Enter fullscreen mode Exit fullscreen mode

See the thing about being a developer that's different from almost all other jobs is that you can just do it any time, any where and with almost no materials required. If you're studying to be a dental hygienist or electrician or project manager or pretty much anything, you can't really do the thing you're training for until you've completed your training AND (crucially) found someone to hire you to work. Software development is different. You can do it right now, at home, with the same device you're using to read this article, for free. If you want to be a Software developer, start developing something right now.

Just start!

A chicken bus in Guatemala

To help illustrate my point, here's a short rendition of my personal career trajectory. I started out studying Marine Biology. Then taught ESL. Then worked in non-profits in Mexico and Central America. Then became really interested in building online businesses to related to the travel industry. So while living in a small jungle community in Honduras, I decided to teach myself how to make websites. I chose PHP as my first programming language to learn (with CSS and HTML) using the Joomla framework. Living in a small town, which just received dialup internet and lacked running water, I wasn't exactly in tech-hub. But I dedicated the hours and spent many long days (and nights) wrestling with the concepts of a CMS, learning CSS (for IE6 no less) and figuring out how to make a really ugly website. Then an amazing thing happened. Word got out in the town I was living in that I knew how to make websites, and suddenly owner of the internet cafe I had been living at for the past 4 weeks asked me to make them a website. So I did! Then they referred me to others in the town who needed websites and soon I had a side hustle that was allowing me to learn and earn at the same time.

Learn while you go

After about a year, I moved back to Canada and applied to every entry level job that was remotely close to software development that I could find. Eventually someone gave me a role as a part-time web master for a gaming company on a 3 month, minimum wage contract. Unlike many other fresh-grads applying for their first role, I was able to show a portfolio of things I'd built for real companies and speak to the innumerable challenges I'd faced in getting to where'd I'd already achieved. I was already a talking like a grizzled veteran about sprites, shims and that f&*king rounded corners bug that I spend 2 days trying to fix. I spent the next 5 years studying at night and working during the day. I moved into progressively more senior roles. I'd definitely recommend the work and study in parallel approach as it allowed me to tailor my studies to the work I was doing during my day jobs. I took detours through iOS, Java, C#, DB systems, Project Management and PHP and was able to practice the things I was studying at my day job. I also managed to get most of my studies paid for by my employers which was a huge bonus!

Programmers write code

Team work makes the dream work

During this period of my life, I developed a few habits that I think really helped me. One of them was coding on the bus. I was working full time and taking 2 or 3 courses at night school, so my schedule would look like 9-5 (work) 6-9PM (lecture) 3 nights per week. I didn't have much time in the day to get homework done and I still wanted to have a life outside of this grind, so I needed to find time to do my homework and programming assignments. My solution to this, which I still use, is public transit. I would ride the bus about 3 hours per day (home->work, work->school, school->home). By bringing my laptop and headphones and diving right into it as soon as I sat down, I was able to get most of my homework done during my commutes leaving weekends open for non-digital pursuits. This habit helped me to prioritize the most important thing for each 1 hour block, to avoid procrastination and to block out distractions. You'd be surprised how much you can get done in a focused hour with a very clear stop up ahead (pun). So during this time of my career, I was probably spending 11 hours per day coding during the week and taking the weekends off. And I enjoyed it. The school assignments were fun and novel and the day jobs were more nuanced and filled with real world complexity that school work just can't teach.

Find the why

The reason why I got into technology in the first place was that it combined some of my interests:

  • Seeing small and medium businesses from the inside
  • Solving problems and learning
  • Building things
  • Working with smart people

I was fascinated with how complex systems are built and maintained, I loved the dopamine hit of seeing something new come to life and I loved seeing and working with business owners in the early stages of their journey.

I've been working in the field for nearly 20 years now and my roles have evolved over time, but I've never lost the passion and interest for using technology to solve real word business problems and to build cool things with smart people, that is what drives me.

Your first year as a Software Dev

So, if I were to give myself some advice on day 1, it would be this:

  • Find a project: solve a problem that you care about using technology, solve 1 problem deeply, don't just do 100 hello world tutorials
  • Develop a work habit that allows you to have at least 8 hours of focused time per work day on your project
  • Learn how to test and instrument your code in an many ways as you can
  • Ask for guidance from mentors in the field
  • Enlist others to help you in whatever way they can (do you have friends in the same position as you, sign them up as collaborators)
  • Try to find a customer who'll use what you're building (even if they can't or won't pay for it yet)
  • Work out loud: blog about it, tell your friends, go to conferences, meetups etc.

Do this for 1 year. Try to dedicate the best hours of your day to this project. By the end of 1 year, 1 of 3 things will have happened:

  1. You'll have created a startup! Congrats!
  2. Someone will have hired you to do this full time on salary. Congrats!
  3. You'll have realized that you don't find the work as engaging as you thought. Congrats, it's not for everyone and you've failed fast as we say in the biz. On to your next adventure.

A nearly empty Github Timeline

(If you find your Github profile looking like this, you might need to ask yourself if this is actually something you enjoy doing.)

If you've followed my advice for 1 year and haven't found a full time job yet, reach out to me. I might have a job for you.

Photo Credits

Photo of chicken bus by Javier Ortiz on Unsplash

Cover Photo by Guido Coppa on Unsplash

Photo of a group of programmers by Hello I'm Nik on Unsplash

💖 💪 🙅 🚩
gaffleck
gaffleck

Posted on January 30, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related