So, you want to work as a web developer, but you don’t have a Bachelor’s degree. Does that mean you’re out of luck? No, it turns out, not at all.
I’m a new kid on the web development block. My first ever job as a developer is also my current job, at Tighten, where I’ve been working for about a year and a half. I completed my Bachelor’s degree in Computer Science in December 2017; since then I’ve had the opportunity to look back on my education and evaluate how my degree program prepared me (or didn't) for the real world of software development.
So, what was the result of my evaluation? Did my degree prepare me effectively? Yes... sort of. But, not as much as I would have liked.
It's important to note: many of the points I make in this post are specific to the U.S. educational system. Many countries outside of the U.S. have more direct, targeted educational systems that render many of my points moot. Also, the points below are drawn from personal experience, both as a student and as a professional who worked in the education field for several years.
If you are interested in different aspects of computer science, you’ll have the opportunity to dabble in much of what the field has to offer during your degree program (at least once you get into your higher level courses).
You see, the primary purpose of a Bachelor’s degree is to fill your brain with a lot of the basic theory behind a given field—to throw a bunch of background information at you and hope that some of it sticks. My degree, in particular, was a lot of theory—theory of software engineering, database management, computer architecture, operating systems, etc.
While the curriculum can sometimes seem random, it can be fascinating to learn about a brand new part of the field and you may even find a passion for something new!
The ability to learn is arguably the most important skill that you can hone, and it is especially important to be able to accept and learn from constructive criticism. A formal degree program will provide you with access to instructors, as well as other, more experienced students. As you work through your program and submit assignments, you’ll receive feedback which can help you grow as a developer. Additionally, for some people, the structure provided by a school is simply crucial to their learning process, so a formal degree program would serve them better than attempting self-study.
Like it or not, credentialing has an important place in our society. For a search committee with a large applicant pool, credentials are often the only way to winnow that pool down to a manageable number of applicants. These credentials give credence (ostensibly, anyway) to your competency in whatever said credential is supposed to certify. A university degree is just that—a credential, albeit a very fancy, very expensive one.
As with any credential, the goal of a degree is to demonstrate to others that you are capable in a given field, with the level of capability roughly equaling the level of credential. If you get a degree, you have a method of quickly indicating to employers that you are competent in your field; and, in fact, there are employers that will outright refuse to consider you for a position without a degree. If you wish to work for such an employer, or just want to ensure you're eligible to work for as many employers as possible, you would do well to obtain a degree.
Most institutions have established networking opportunities for their students to take advantage of. These opportunities can take the form of sponsored job fairs, internships, degree-to-employment pipeline programs, and more. This extra assistance can be invaluable once you've finished your degree program and are competing with other applicants for employment.
Much of a Bachelor’s degree curriculum is theory and concepts—teaching you a little bit about a wide variety of things. In my program, assignments were generally engineered to test if we understood the concept being taught, but were not always relevant to real-world application of the material. Often, we were instructed to use suboptimal practices for the sake of understanding theory. This approach can be problematic when you leave school and begin to seek employment as a programmer working on real-world projects. What I would've given for a class on Git as a student!
As I mentioned before, the purpose of a Bachelor’s degree is to expose you to many different aspects of a given field in the hope of making you a well-rounded individual. When you factor in general education requirements for most degree programs, you'll almost certainly be stuck taking a class (or several classes) that you have zero interest in. It can be hard for students to maintain enough interest to do well in a class that they have no interest in—or worse, that they don’t see the point of.
Unfortunately, general education classes are not optional and you’ll have to do them if you want your degree. P.S. If it’s any consolation, the ability to persevere and complete tasks you don’t want to do is an important life skill!
It's no secret that the world of web development is constantly changing. While frequent change can be exciting to those who like to experiment with the latest and greatest technologies, this pace makes it nearly impossible for the average degree program to keep up. To maintain accreditation (the documentation certifying that your degree is up to standard), colleges and universities must go through a long credentialing process whenever they wish to make changes to the curriculum, meaning that by the time something has been added, the professional world has likely moved on to something new.
At my school, web development courses were not eligible for credit for a computer science degree. The degree was set to prepare you for any field, except that web dev stuff—that’s "not rigorous enough" for a computer science student (yes, this is something I was told).
Despite any stigma that may be associated with web development, a good chunk of the theory you'll learn in a computer science program carries over into web development. Understanding the theory behind some universal concepts in programming will make learning the syntax of new languages relatively easy. This is where my education has come in handy; however, a degree is hardly necessary to learn these things. You can learn many of these concepts online for a fraction of the cost of a formal college course (or maybe even for free).
There are roughly one million articles out there about student loan debt—I think this horse has been beaten enough. If you’re in the position where you have to take out loans to pay for school or pay for it out of pocket, then it’s up to you to determine whether or not the benefit is worth the cost.
A degree program can potentially provide a lot of value for students, and not just for what can be learned in the classroom. However, school is a system, and as with any system, it can be gamed. Brilliant and wonderful individuals may crumble because they don’t know how to (or don’t care to) participate in the system, while there may be others that flourish simply by virtue of understanding that game. If the school system isn’t for you, that’s perfectly fine—there are other ways to gain the experience you need. Teach yourself web development: learn in your own way, make mistakes and fix them, and grow your skills as a developer.
The ability to teach yourself is the best skill you can have as a web developer; as I was told when I first started at Tighten, “Always make sure you’re a better developer than you were last month”. Is a degree required to be a web developer? Absolutely not. In the end, a degree is just a fancy, expensive tool—no more and no less.