How to Become a Software Developer

Tristan Holaday
6 min readOct 20, 2022

--

Photo by Fotis Fotopoulos on Unsplash

There are several major paths to becoming a software developer, and inside each there are many possible minor versions (software joke😁 ). Should you go to a university, do a bootcamp, teach yourself? That’s the first critical question.

Once you’ve answered that one, a hundred more will follow — ‘what school?’, ‘which bootcamp’, ‘full-stack?’, ‘what’s DevOps?’, ‘internship or freelance work?’, ‘where do I apply?’ — and on they go. Everyone’s situation, personality, and goals will of course ultimately determine the answers. However, here is my general guideline for successfully going from whatever you’re doing to becoming a paid dev.

Bootcamp > Self-Taught > University

In my experience, if you’re not a recent high school grad, you’ve got bills to pay, and don’t want to spend years transitioning into this field you should find a solid bootcamp. Before I get crucified for saying that, here is my disclaimer:

There are definite benefits to attending a more formal accredited program. You’ll learn a lot more of the ‘sciencey’ part of computer science, including data structures and algorithms (these are important). You’ll get more in depth math and lower-level programming concepts like how languages are created or how to code a compiler etc… These are helpful and good to know things. They’re just not absolutely necessary for becoming an entry level web developer. If you want to do machine learning and AI or something similar, though, then going back to school could be a better option. The degree can also buy you more points on a resume.

I’m not alone in my views. A lot of people I work with have computer science degrees and many of them will tell you that university does not prepare you to actually program in the real-world on a team. I’ve also seen juniors come in from universities and have no greater ability to jump in and work in a code base than I did when I was a junior fresh from bootcamp. So why not take the relatively shorter and cheaper route?!

Next question, why bootcamp over self-taught? It’s definitely possible to break into software after only self-learning, but for the majority of people there’s more benefit in attending a good bootcamp. Here’s why:

  • A bootcamp offers focus. There are so many different things to learn in software and many different applications of similar skills or concepts. Having a designed curriculum that focuses your learning, especially on what’s essential for employment, can save you a lot of time. It can also help keep you from getting overwhelmed.
  • Networking and Partnerships. If it’s a good bootcamp, then it will have a strong plan for helping you build your network and meet businesses looking to hire developers. By the time I graduated from the Lubbock Coding Academy, I’d met several heads of engineering departments, received teaching / mentorship from a couple CTOs, and had been tutored by senior devs working at major software shops.
  • Interview Prep. Not only can your bootcamp connect you with businesses, hopefully brokering internships after your graduation, but they can also help prepare you for applying via resume and interview prep. We had several rounds of mock phone and in-person interviews with volunteers from real HR departments and development managers.

Which Bootcamp?

I can’t tell you which coding academy you should choose, but you should look for one that delivers on the previous benefits mentioned. In your search, though, don’t only go off what a bootcamp’s website or videos say but read as many reviews as possible to get a balanced perspective. What’s really great is if you can speak directly with a graduate about her or his experience. A few other things to check for would be:

  • Flipped classroom — This is when instructors help but leave most of the learning to the students. This is typically the case with online curriculums, and that’s a good thing. As a developer, it’s not that you will never have access to help but you’ve got to be able to learn and problem solve on your own.
  • Full-time devs as instructors — It’s nice if your instructors are actually currently working as developers. Not only can they tell you more of the truth of what’s happening in software teams, but they also become good networking agents. One of my instructors recommended me to his boss for an open position in his department.
  • Part-time or Self-Paced — This is based more on life circumstances and learning style, but I think that doing a self-paced or part-time bootcamp can be better for absorbing concepts because it gives you more time. It also affords the opportunity to work in the tech industry while going to school. For example, I was a level 1 support agent at a local IT company while I was attending my 10 month part-time academy. Another example, one of my best friends is doing an online self-paced curriculum while working for a major university as an application admin of sorts. Even though it’s not coding, any time in the tech world is good for the resume.

Beyond Bootcamp

Just going to a bootcamp, even a good one, will not guarantee your entry into software. Getting an entry-level job can still be difficult. So these are my tips to increase your chances of success.

  1. Find developer meetups and go make friends! These people can be invaluable in landing your first gig.
  2. Do freelance work or open source. Contributing to open source can be a big leg up. Also, getting experience working on actual projects, even if they’re just static websites can help. I worked on sites for a drone business, a ministry in Madagascar, a running coach, and my mom all for free.
  3. Work on talking out loud about the code / problem. This will help you get better for technical interviews. It also just helps for coding in general.
  4. Research companies and apply only for ones you actually want to work for. It’s hard, at least for me, to come across as excited for something I don’t actually care about.
  5. Craft your resume for each job posting you apply to. This will help in getting past programs that weed out less relevant resumes.
  6. Look for events, virtual or in person, the companies you’re applying to might be holding. After a couple months of applying to jobs out of state (I was tired of living in my hometown), and seeing meager results I saw on LinkedIn a virtual open house that my current employer was throwing. I had just applied for a position I had little hope of getting, but I jumped on, asked some questions, and afterward asked the moderator who I could talk to if I just applied. She directed me to a program lead and I had an interview the next day and a job offer the next week.
  7. Keep learning after you graduate, especially things that bootcamp might not cover deeply. i.e. data structures, algorithms, Docker, Kubernetes, TLS/SSL, basic linux, CI/CD, bash or shell scripting, different agile methodologies, and so on….
  8. Watch videos and read books that teach the craft of writing software, not just the technicalities. Some of my favorite people to learn from are Sandy Metz, Martin Fowler and Bot Martin.
  9. Create a full-stack application and host it somewhere. Usually this will occur as your bootcamp capstone. But if it doesn’t, you need to do this and put it on your resume.
  10. Create blog articles. I started writing on Medium as part of my bootcamp activities and then kept it going after I graduated. Documenting your solutions to problems is a great way to show companies what you know.

Keep Your Chin Up

Becoming a software developer is not the hardest thing in the world, but it’s also not the easiest. Programming alone has it’s roller coaster of moments, alternating between extreme frustration and elated joy. On top of that, finding an employer who will embrace your unorthodox education can be a challenge at times, but don’t give up! It is entirely possible! Since transitioning into software, I have woken up more excited for work on Monday mornings than ever before in my lifetime.

--

--