University, Bootcamp, or Self-taught? What's the best way to become a software developer?
For the longest time, universities have been the only source of getting into the tech industry but that has been changing over the last decade, Bootcamps are rising, people are learning on their own("self-taught") and there are more free resources online to learn and break into the tech industry than ever before. With that, the question arises, should one go to a university and get a CS degree or should one just enroll in a Bootcamp or even learn on their own?
In this article, I'll be going through things you should consider when going to university, Bootcamp, and being self-taught, as well as the pros and cons of all these methods.
Universities are still the most dominant means of getting into the tech industry and will still be for a while. Universities offer a wide range of sophisticated courses which are well-curated for students to go through and teachers to guide them through the learning process. An average university degree takes 4 years to complete and get a certificate. Also, in universities, you'll learn major computer science concepts and you'll dive deep into underlying programming principles and problem-solving skills. Universities also require huge time and financial commitments since you'll be paying monthly or yearly tuition and you'll be spending a minimum of 8hours a day on lectures, not to factor in your own self-study. So with all these in mind, below are some of the pros and cons of going to university.
Pros of University
- In a university, you get a well-rounded knowledge of the principles and concepts of computer science.
- In universities, you'll have a well-organized learning plan so you don't have to go through making as you know what you'll be learning already
- You explore a wide range of subjects, you might stumble upon some that pique your interest.
- You learn along with like-minded students with similar interests.
- Companies still value degree certificates so it's easier to get a job with one.
Cons of University
- It takes time - A CS degree on average takes 4 years to complete.
- It requires a huge time commitment - as a student, you have to attend lectures and other mandatory activities, not to factor in the time you'll commit for self-study.
- Some courses are deprecated or outdated because most universities can't keep up with the evolutionary speed of tech and some are even useless or not relevant to your field of study and might potentially be a waste of time.
- Universities also require a huge financial commitment which not everybody has the luxury to afford.
- No real-world experience with current tools and the actual day-to-day business of making software.
Bootcamps came about as a way to supercharge learning to code for people who want to get into the tech industry and keep up with the high demand of software developers in the industry. Bootcamps last an average of 3 to 6 months with some reaching up to 12months. Bootcamps mainly focus on teaching students a specific scope of computer science like web development, iOS, or Android development. Since Bootcamps last for an average of 6 months they require more time commitment in the short amount of time you'll be taking it and are more intense. So let's see some of the pros and cons of Bootcamps.
Pros of Bootcamps
- It keeps up with the rapid evolution of the tech industry.
- It is way cheaper than universities.
- It takes an average of 3-6 months to complete, far less than the 4 years it takes to complete a university degree.
- It teaches students the specific set of skills they need to get into the tech industry.
Cons of Bootcamps
- They are extremely intense with some requiring up to 80 hours of study per week.
- It's a bit harder to get a job with a Bootcamp certificate as opposed to a university degree.
- Some Bootcamps don't teach enough of the important theoretical knowledge that is the foundation and fundamentals of Computer Science.
This is the hardest route of all the 3 but it's at the same time the most fun. Many self-taught developers are making a good income, with some even starting their own companies and growing successful businesses. Below are some of the pros and cons of taking the self-taught route.
- You learn at your own pace.
- You learn skills that you have interests in.
- No financial commitment - there are several free resources on the internet.
- It's hard to know which resources are good or not.
- It's hard to get good feedback on whether you're going in the right direction.
- It's way harder to get a job.
- It's lonely.
There's obviously a lot more to these lists but these are some of the most important ones you should consider when trying to get a job or move into the tech industry.
Whether you're going looking to go to university, enroll in a Bootcamp or even learn on your own, the most important thing is to learn the skills to get into the industry, that's what really matters.
If you're new and want to know where to start, I have a comprehensive list of websites to learn to code for free here.
If you're reading this and you're already pursuing a career in software engineering, here's an article from the folks at Toptal to give you a bit of perspective on what hiring managers are looking for in a candidate.