It's been a long ongoing debate. With the prevalence of widely available information online, many wonder if a degree is still worth it for getting into the tech industry. My programming journey started self taught but I am a CS graduate and currently teach CS Courses at the University level. Here's my take on the matter.
The most obvious disadvantage of a degree is the cost. Cost in terms of time and finances. Tuition in US based Universities appear to be on the constant rise. For many people, finding the time to do a 3 or 4 year degree may simply be infeasible especially when trying for a career change.
There will always be a gap between the cutting edge developments of industry and academic curriculum. A common concern is undergoing the sacrifices of pursuing a degree only to learn irrelevant or outdated material.
We live at a great time for dev, there's so much free content, communities and mentors that can be of great help. However, the caveat is that the sheer amount of content can be overwhelming. Often, it's hard to know where to start or what to learn as there are so many differing opinions in web development.
Secondly, many traditional firms still require a degree programme for even entry level tech jobs. Even when a degree is not required, you often hear stories of self taught devs being condescended by their formally educated colleagues. The good news things like this seem to be on decline as the industry focuses more on outcomes and portfolios rather than just grades.
Boot Camps, nano degrees and courses are a great way to seek focused shorter term education dedicated to mastering a specific subject. Unfortunately, there are some predatory boot camps out there offering poor quality education or making false promises.
I've seen Boot Camps that rush content and you end up learning a specific framework as opposed to programming and web development in general. A web developer should have other skills like communication, project management and software design. A boot camp typically focuses on the technical skillset.
Good self taught developers will always have my respect. It takes so much motivation, discipline and courage to take on web dev like that. The self taught devs I've worked with are passionate people and are generally happy to help others as they can empathize with newbies.
The only advice I'd give to self taught devs is to look into some computer science and software engineering concepts to round off their knowledge. Things such as algorithms, data structures, requirements gathering, agile, design patterns and SOLID principles.
When it comes to the degree discussion I think people often undermine some of its value. Yes, you will get a paper at the end, but the university experience offers much more. The life-long colleagues you will make, networking, internships and other student opportunities that offer profound personal growth and development also await. People don't describe college as the 'best time of their life' for no reason. For those who can do college, it's ultimately up to you to make the best of your time there.
New tech comes and goes all the time but a good degree programme instils a balance of solid, immutable foundational concepts and modern methodologies & technologies. Additionally, a Computer Science degree will cover more than just web development, you get alorithms & data structures, operating systems, databases, devops, software engineering, cloud, networking, AI, cyber security etc so there are other career options as well.
When it comes to cost, you may want to consider Universities based outside of the US where tuition can be as much as 50% cheaper!
Like a degree, boot camps provide a set curriculum and ensures you cover content via lectures, labs and assessments. For many, it's easier to rely on this structure a rather than finding the motivation for self study. A good boot camp can get you up to speed without the commitment of a degree. I know some talented devs who have transitioned into tech via a Boot Camp.
If you are doing a Boot Camp, try to go for one recommended by an experienced dev, ideally one without ties to the camp itself. Additionally, you may also want to seek out online courses or Nano degrees to cover Computer Science and Software Engineering concepts to compliment your technical knowledge.
At the end of the day, no matter what the path, learning never ends as that is the nature of Technology. This stuff can be intimidating but that's what your community is for!
Please feel free to @me on twitter if you have questions on career guidance or just need of general advice, I'd be happy to help out!
I promise you, if you really want it you can make it no matter the path, you just need to keep striding. What path are you on or have taken? What advice would you give for that path? Please share in the comments!