Anyone interested in a career in web development or software engineering would love to be the next Mark Zuckerberg. Wouldn’t you love his millions? And wouldn’t you love to say you got there without graduating from an elite college – or from any college? Well, sure. But here’s the cold, hard, truth: He (and those like him) are not good representatives of the future of the average college drop out. Mark Zuckerberg is not the norm – he’s an outlier. But his story, and the stories of those of the same ilk – Bill Gates, for example – are so tempting. If they can do it – and do it in a big way, why can’t you? Their rags to riches, college drop out to zillionaire or tech genius stories are seductive and, therefore, dangerous.
Can you really follow in their footsteps? Yes. Absolutely. But it’s a hard slog – most definitely not an easy path. The reality is that there are thousands of open software engineering and web development jobs and a big skills gap, so there aren’t enough people to fill them, so if you make the right learning choices, apply yourself, and get the experience you need, yes, there’s a good chance you’ll land a decent job. One vital point to remember is that everyone’s circumstances differ, each of us learns better in different settings, and our financial situation and risk level varies. Therefore, there’s no one clear-cut answer to the question “which is better? A 4-year degree, a coding bootcamp, or self-learning.” But we’ve put together this guide to help you find out which is the best educational route for you.
A 4-year degree is a smart choice if you’ve got the time and the money. Most employers look favorably on applicants with a degree under their belts. It doesn’t have to be a computer science degree or software engineering degree, though. If you’ve already started college or obtained a degree, you’ve already proven that you’ve got the brains and the discipline necessary to succeed. Quincy Larson, founder of Free Code Camp, has this to say on the subject: “If you already have a 4-year degree, I would not recommend going back to school.”
Most employers will consider a degree in a related field, such as mathematics, a science, or engineering, as long as you’ve got a decent portfolio and some demonstrable experience. And there are plenty of other employers out there who don’t require a degree at all – but may look favorably on those who have a degree of some kind.
Computer Science vs. Software Engineering
Computer science degrees are more common than software engineering degrees, although more and more institutions are starting to offer software engineering programs as the job market continues to expand. Computer science degrees are more theoretical. They give you a really solid foundation in how a computer works and why it behaves in such a manner. You’ll spend a great deal of time working with algorithms and such and learning the theory and science behind development.
If you opt for a software engineering degree, you’ll obviously learn some theory, too, but you’ll be studying a much more applied program. You’ll focus less on the “why” and more on the “how,” and you’ll engage in builds and problem sets with varying degrees of difficulty.
Who is a 4-Year Degree Suitable For?
Both degrees are relevant and worthwhile – if you have four years of full-time study to commit and if you have the funds to pay for your degree and to support yourself while you learn. You’ll graduate pretty much job-ready (although you may want to get an internship and you should definitely have been tinkering with learning and perfecting your grasp of one or two programming languages and building an awesome portfolio while studying).
If you’re someone who likes structure and group study, a degree will benefit you, as the curriculum is tightly controlled and well-defined. A degree is a great choice for young people with no family (low risk) to support who are toward the beginning of their career or professionals with significant savings who want to leave the workplace to study and change careers. It’s not the best choice for those who have a family to support (high risk) or who simply don’t have the funds to pay for study and support themselves for four years.
Up Next: Coding Bootcamps
Coding bootcamp is an 8 to 12-week full-time study program. It’s fairly costly and very intensive. It’s not as expensive as a degree which, at an elite school, can cost $60,000 per academic year. Bootcamps generally range from $10,000 to $20,000. While this is a substantial sum, it’s clearly nowhere near as costly as an Ivy League degree from somewhere like MIT.
What You Can Expect From a Coding Bootcamp
Coding bootcamps are fast-paced, intense, and immersive. You’ll spend long hours in classrooms just “doing”. You won’t focus much on the theory. Instead, you’ll spend your time learning the practical application. Although each school varies, classes generally involve your tutor giving a brief introduction to the topic, then giving you problem sets and challenges to work through, alone or in pairs and groups. So you get very little background knowledge, but start to build the basic programming skills you need. Many focus entirely on just one language while others give you broader overviews of multiple languages.
Will You Be Job-Ready?
This is a hotly debated question, but the general consensus is, probably not. Or at least, not entirely. In 8 or 12 weeks, you code for 8 hours a day, 5 days a week. But the scope is limited. Your portfolio will be limited. And you won’t have much to put on your resume and wow potential employers. Even though most bootcamps promise you’ll be ready to walk into a super-duper high-flying, really well-paid job the day you finish your bootcamp, the reality is somewhat different. You’ll have basic knowledge and a pretty simple tutorial. What you won’t have is any real depth of knowledge. You’ll only acquire that through study and practice outside of the bootcamp. So, once you graduate, be prepared to dive into further self-study and coding practice while you build a portfolio that stands out from all the other bog-standard bootcamper ones.
There is another area where bootcamps really shine – interview and job search coaching. Computer science degrees don’t generally offer this as part of their curriculum, but it is invaluable. Searching for a job in tech and interviewing for a job in tech is unlike any other industry. It’s unique and, although there are thousands of open jobs with nobody qualified to fill them, it’s tough. If you manage to stand out enough from the crowd to be offered an interview, you’ll most likely undergo multiple rounds, including at least one technical interview, where you are given a problem set and are expected to code on a white board, are given access to a company’s code base and are asked to work on a real or fake “ticket”, or are paired with one of their existing developers and are given a real-world problem set to test your coding and teamwork skills. These are challenging and daunting for even the most experienced coder, so having coaching and practice sessions within the bootcamp can really help graduates prepare for the job market.
Who Is a Bootcamp Suitable For?
As we previously discussed in Coding Bootcamps as CS Degree Alternatives, bootcamps are a smart choice for experiential learners. They give you the basic programming skills and understanding you need to build further knowledge and get yourself a solid career. But they are costly, particularly those that require an upfront investment. Some offer an alternative, where you complete the course, then they garnish your salary, taking up to 20 percent of your earning in your first year of employment. These intensive study options are a good fit for mid-career professionals looking to change direction, such as those who have enough savings to focus exclusively on completing the course. Bootcamps aren’t great for those strapped for cash or who don’t have enough savings to pay for the course and support themselves for the two to three-month duration. Because they are so intensive, they also may not be suitable for people who have many other responsibilities and commitments, such as primary caregivers.
Up Next: Self-Learning
Self-learning is technically free. There are some brilliant resources, communities, and courses available online. You can spend as much or as little as you want on extra resources like books or spend nothing at all and consume all the free info you can find. Sounds great, right? But here’s the rub: There’s nobody to keep you moving forward, so you’ve got to be hugely dedicated and motivated to gain all the skills you need for a successful career as a coder.
Is it possible? Absolutely. But it’s a hard path. Just picture this…
You’re currently employed in a job that grinds you down, but it pays the bills. You’ve just finished a 12-hour shift. You get home, eat dinner, put the kids to bed. You know you’ve got yet another exhausting 12-hour day ahead of you tomorrow, and all you can think about is unwinding and going to bed. But instead, you’ve got to force yourself to devote an hour or two to learning how to code. Are you motivated enough to do that day in, day out until you’ve gained enough knowledge and experience to land yourself a job in tech? Because that’s the reality. There’s no tutor to worry about and there’s no motivation to avoid embarrassing yourself in front of your classmates. If you don’t do it, it doesn’t get done. And we all know how easy it is to lose motivation, particularly if we’re tired or down in the dumps or we encounter a problem that we just can’t figure out.
There are some free self-paced courses that have a solid community element to help you out and to keep you motivated. These include Free Code Camp and Code Academy. Some also provide remote group projects so you get to experience working with other coders and so you can push one another forward. This method also allows you to network, which is an important element of landing your dream job.
What Can You Expect From Self-Learning?
Well, as mentioned, it’s not an easy path, but all the resources are there for you to succeed. Let’s take a look at some of the key benefits you can expect from teaching yourself how to code:
- You set your own schedule. You can fit your learning around life and work commitments and go as fast or as slow as you need to.
- You choose your own topics. There’s no set curriculum, so you get to pick and choose what you learn. If you don’t need to learn C++, you can skip that class and move on to Python, for example. Or, if you’re struggling with the way in which algorithms are being explained, you can easily go and find an extra tutorial to improve your understanding.
- Some companies, particularly start-ups, are often impressed by self-taught coders. They feel that a comprehensive portfolio and demonstrable skills and a strong history of self-learning show far more tenacity, passion, and motivation than a bootcamp or a degree.
- A goal. Do you want to be a web developer? A software engineer? Have you got an idea for a mind-blowing app? Establish what you want to accomplish by learning to code.
- A clear path for how to get there. Without a learning path, you’ll be hopping around all over the place, and there’s a fair chance you’ll miss crucial knowledge that you can’t progress without.
Coders, as a general rule, are known for their willingness to help and their philanthropy. They are a huge part of the “give back” movement. You’ll even find some who go out of their way to help, like the person who created self-learning pathways for others to follow to help them achieve their coding goals. So do your research and take the time to set yourself a firm curriculum before you dive in. You can always shuffle things around or add extras as you go along, but get the foundation right.
Who is Self-Learning Suitable For?
Anybody with an interest in learning to code who is self-disciplined and well-motivated or who has the desire and determination to really be the master (or mistress) of their own fate. If you lack motivation or have a tendency not to finish things by yourself, teaching yourself to code is not your thing. It’s a great option for those who have to continue to work full (or part) time while studying and those who have family commitments that don’t allow them to go back to school or to immerse themselves in a bootcamp for three months. If you don’t have the funds for one of the other options or you just want to learn an additional programming language or brush up on a few out-of-practice skills, teaching yourself to code is the smart choice.