Do you need a university degree to get a coder job? Is a generic Computer Science degree best or are there more specific programs?

I got this email with Python career questions from newsletter reader Brad:

First, with regards to your Python Tricks book, I thought it was well-written and well-priced. I got good use out of, I’d say, 4 or 5 sections. I’ve been writing in Python for a little under a year now. I’m entirely self-taught and had 0 programming experience prior. I’ve picked it up pretty quickly though just by devouring any book I can get my hands on. (McKinney, Hilpisch, Shaw, Sargent/Stachurski, yours, etc.) Here is my question: If I’m thinking about making Python the core of my career/job rather than just a smaller part of it, is formally going back to school necessary in your opinion? If so, where do I start looking—at general comp sci degrees or are there more specific programs out there? How many self-taught guys do you know who have done very well for themselves?

Alright, I counted at least three questions in there 🙂

Let’s tackle them one by one. I’ll get on the “is formally going back to school necessary to get a coder job” question first:

Getting a formal computer science degree is the “classical” option (it’s the path that I went down.) And I think it’s a thorough and helpful option if you love doing a deep dive on CompSci theory.

I would not do this and get a CS degree purely for career options, however. Do it if you love and enjoy computer science and want to focus a few years on building your skills with a solid theoretical foundation. Don’t do it if your biggest goal is to “get a job” as a dev—

Here’s the reason why:

In my experience most schools don’t teach very many practical skills or help you build up a portfolio as part of their CS programs. So that’s something you’d have to figure out on your own and do it on the side. (Brad sounds really proactive so this might not be a problem.) Also, getting a formal degree can be quite expensive—and, as I said, it’s probably not the fastest route to “employability.”

Let’s talk about the alternatives to general Computer Science degrees that Brad asked about in his email:

If you don’t want to go down the formal education route and your main goal is to get a coder job, another option would be joining a development bootcamp.

That’s a practical, hands-on experience lasting several weeks (and up to around 3 months) where you meet, code, and learn with peers and mentors. The greatest benefit of doing a bootcamp is that you’ll end up with some example projects and code in your portfolio that you can show in an interview.

You know, for employers the biggest challenge in hiring junior/entry-level developers is that there’s little or no data about their past performance. So if someone who’s still early in their career looking for their first job it helps a lot if they can share some example code (on their GitHub profile etc.)

These programs can work well for someone who’s committed. I’ve worked with people who had entered the dev industry that way and who are now well on their path towards building a programming career.

So, attending a dev bootcamp might be an option worth exploring for you. It’s also a smaller commitment that a CS degree from a time and money perspective. Plus, you can pair it with online training classes to get up to speed on the theoretical fundamentals and to ensure you keep improving after the bootcamp is over.

But just to be clear:

A 3 month coding bootcamp is never going to replace the breadth and depth of a 4 year bachelor’s Computer Science program. There’s a lot of material to cover and it takes time and long-term effort to absorb it all. But if your goal is to get a paid job as a coder as quickly as possible they can be a valid option.

Something else you want to keep in mind is that it can be challenging to find a high-quality Python bootcamp with a good curriculum and engaging teachers—especially if you live outside the United States.

[Got another Python career question? I’m covering more of them in my “Python Q&A” videos on my YouTube channel → Click here to check out the full list of episodes.]