How to Learn Software Engineering: Bootcamp vs. College vs. Self-Learning
It’s all well and good to say that you’re going to be a software engineer someday. But actually doing it? That’s another prospect entirely.
Figuring out how to learn software engineering — and launch your career — can be hard. Generally speaking, there are three academic routes a coding-savvy hopeful can take: bootcamp learning, college or self-directed study. All have their merits; all have their drawbacks. The question is, which is right for you?
In this article, we’ll cover the pros, cons and considerations of all three paths to help you figure out which will suit you best. Make no mistake; every route requires effort. Aspiring software engineers need to learn a lot of in-demand programming languages and coding skills.
Now, you probably have many questions, such as: Do I need a software engineering degree? How do I get an online software engineering degree? What is the best software engineer bootcamp? Can I learn software engineering on my own?
We’ll answer all of those, but before we get started, let’s take a moment for introspection. Every learner needs to candidly assess their situation and set realistic expectations for their upskilling journey. Before moving on, ask yourself the following questions:
- What do you expect from the career?
- How much time do you need to get there?
- What pre-existing programming knowledge do you have?
- How much money do you want to spend on your education?
Your answers to these questions will help you develop a timeline, budget and learning approach. Keep them in mind as we cover the three ways you can learn software engineering!
Learning Software Engineering at a Bootcamp: Pros and Cons
Web development or Software engineering bootcamps have been preparing students to successfully enter the job market for more than a decade. Bootcamps offer newcomers and career changers the opportunity to reboot their skills in a structured learning environment.
These intensive programs equip learners with practical professional skills in just three to six months and offer a tremendous degree of flexibility; learners can attend classes virtually, full time or part-time. Bootcamps provide many more advantages: tested curricula, flexible schedules and real-world practice. Many bootcamps cover the skills for web development specifically, which can help create an ideal foundation of overlapping skills for those hoping to pursue software development. While some coding knowledge is undoubtedly helpful for students looking to attend a bootcamp, experience isn’t required to begin a program.
With that background in mind, let’s consider a few of the pros associated with attending a software engineering bootcamp online.
Software Engineering at a Bootcamp: Pros
Full- and part-time bootcamps are conducted online through live classes that allow students to connect with skilled, experienced instructors. Classes are not one-way lectures. Rather, they’re collaborative experiences that encourage students to engage not only with their instructors but also among their peers. You can consider a web development or software engineering bootcamp as more of a laboratory than an impersonal lecture hall.
At most bootcamps, qualified students have access to individual tutoring sessions for up to an hour per week. These sessions can cover curriculum questions, coding problems or job-seeking advice. Not to mention, the sessions are free.
Students often have access to a career director and profile coach to begin turning their new skills into job opportunities. The career services team can also assist with resume and interview preparation, portfolio development and connecting learners with industry professionals and leaders.
Real-World Projects for Your Portfolio
Students leave their bootcamp experience with more than industry knowledge and skills. They also carry completed project builds to showcase their skills to potential employers. That’s one of the benefits of studying at a bootcamp: everything you learn translates to the professional world.
Flexible, Accountable Schedules
Ready to make a commitment to full-time study and complete a bootcamp in 12 weeks? You can do that. Need a longer-term, part-time program to fit around your work schedule? Consider a 24-week option. Either way, your options are flexible — and with weekly course challenges to keep you accountable, you’ll make progress toward your career goals no matter which timetable you choose.
You’ll be attending classes alongside like-minded coders and aspiring software engineers with whom you can collaborate and innovate on projects. Moreover, since many of your fellow students will likely come from professional backgrounds, the classes themselves offer networking opportunities both during the bootcamp and potentially beyond.
Whether conducted full- or part-time, a bootcamp curriculum divides disciplines into multi-week phases, beginning with fundamental coding concepts. From there, course work grows more technical, concluding with a performance phase to test not only the efficiency of the web application you’ve built but also your readiness to enter the workforce as a software engineer.
Software Engineering at a Bootcamp: Cons
Though certainly not as expensive as a four-year degree, bootcamps require a financial investment. According to Career Karma, the average online program costs $14,623. That said, this is substantially cheaper than the bill posed by a four-year degree. Students concerned about costs should talk to their bootcamp provider about potential payment plans or scholarships.
These programs are called bootcamps for a reason. Sure, they might be significantly faster than college programs, but make no mistake — they require time and discipline. Between class and take-home work, a full-time curriculum can easily encompass 50 hours or more per week.
While part-time students won’t face the same daily concentration of in-class time, they must nevertheless be willing to commit 25+ hours per week to homework and projects. Both paths are demanding — though many students argue that the result of completing a software engineering bootcamp (a career in software engineering) is well worth the up-front effort.
How Long Does a Bootcamp Take to Complete?
If you’re wondering how long it takes to become a full stack developer, you’re in for a complicated answer. A rough guide would be 25 hours per week for part-time students and 50 hours per week in a full-time program; however, exact hours vary between students.
Before choosing a program, you need to ask yourself this: What’s my starting point?
Let’s say, for example, that you’re employed with a company, have some coding experience and want to advance your career. The six-month, part-time program might be your best option since it allows you to keep working while attending a software engineer bootcamp online.
Or, if you’re trying to enter the field soon and have a schedule that allows for it, you might be better served attending classes full-time. These three-month bootcamps are rigorous programs, to be sure — but those who commit themselves to the intense curriculum will learn a great deal in a short period and return to the job pool quickly.
Let’s also take a closer look at how part-time and full-time bootcamps compare.
This 24-week curriculum centers on four hours of class time per week. Scheduled, instructor-led online classes take place two days per week and combine with independent self-study. The bootcamp curriculum recommends that students spend a minimum of 20 hours per week on their independent projects.
The part-time program progresses through three eight-week phases. The first phase introduces students to coding languages such as HTML and CSS, teaches them how to create web pages and covers how to use tools to update those pages.
In Phase 2, the curriculum dives into the technical skills required to build a full stack web application and work with back end tools. Phase 3 focuses on the process of making web pages work quickly and efficiently. Students also have the option of becoming proficient in other languages, such as Python and Java, through online continuation coursework.
This 12-week curriculum is concentrated and exacting, requiring 40 or more hours per week between lessons and project work. The framework consists of 20 hours of live online classes every week, conducted daily within regularly scheduled hours. Students can expect homework and projects to take up a minimum of 25 hours per week.
Similar to the part-time curriculum, the full-time program is conducted in three phases. Each lasts four weeks instead of eight, however, since online classes are held daily. The optional continuation phase of online courses is available to full-timers, as well.
Does This Guarantee a Job?
No, a bootcamp — like any college or trade school — can not guarantee a job. It can, however, put learners in an excellent position to land one.
In 2020, a HackerRank survey (PDF, 2.8 MB) reported that about 32 percent of hiring managers had hired students who completed a bootcamp. Further, 72 percent of hiring managers said they consider bootcamp students as qualified as other professionals. What’s more, 33 percent of those hiring managers said they consider bootcamp students more qualified than degree-trained candidates.
Why? The report showed that bootcamp students have proven that they can learn quickly, are willing to work in a new environment and have gained practical experience. In other words, accruing one (or more) coding languages through a bootcamp can be as important to employers as the languages themselves.
All those factors result in solid employment prospects. In a survey conducted by Course Report, 79 percent of bootcamp graduates say they have been hired because of the skills they acquired during their program. That said, factors such as industry knowledge, previous experience and regional job markets will affect your hiring potential. But as this research shows, students who bring bootcamp credentials into the workforce stack up competitively against those with four-year degrees.
It’s worth noting, too, that software engineering bootcamps offer a variety of career services with practical benefits. As we discussed earlier, career counseling comes with access to a career director and profile coach who can make the job market more approachable. They will advise learners on resume and cover letter design, as well as offer tips for building a marketable online presence at networking sites like LinkedIn. Students may also have access to talks and events featuring industry leaders.
As writers for Career Karma concluded in their 2020 market report, “Bootcamps have learned that they cannot just teach technical skills, but that they have to get involved with placement in order to help their students transition into the labor market.”
What Prerequisites Do I Need to Have to Enroll in a Bootcamp?
Bootcamps do not require prior coding experience, though having some background knowledge doesn’t hurt. Bootcamps’ primary selling point is that they can turn relative coding newcomers into work-ready professionals. Think of it as a vocational program for software engineering!
That said, some more specialized bootcamps — not software engineering — may pose a few prerequisites. Bootcamps in financial technology (FinTech) and data analytics, for example, may recommend that applicants hold a bachelor’s degree or have equivalent experience in business management, finance, statistics or similar fields.
But don’t be dissuaded! If you’re a coding newcomer and want to upskill into software engineering, you can do so via a bootcamp.
How Much Does a Bootcamp for Software Engineering Cost?
As mentioned earlier, the average cost for a coding bootcamp is $14,623. However, the exact price you pay will vary depending on your educational provider. According to Career Karma’s 2020 market report, around 71 percent of bootcamps cost $15,000 or less. One in five programs set their tuition at a price between $15,000 and $20,000, and fewer than one in ten charged over $20,000.
Compared to the total cost of a four-year college education, bootcamps are fairly economical. However, if you need help paying, you can talk to your program’s organizer to see if they have payment plans, grants or other tuition flexibilities that can make your education more financially feasible.
Learning Software Engineering in College
Bootcamps have become increasingly popular and accepted in the coding sector. However, conventional software engineering degrees remain far and away the most popular means of gaining the coding skills necessary to thrive as a software developer.
Students enrolling in a four-year degree program can expect a broader education than they would from a bootcamp. Some schools offer computer science degrees through their colleges of engineering or arts and sciences, thereby allowing students to choose between pursuing a BS or BA.
Yet, the time and financial investment required might not work for everyone seeking to learn software engineering. Is getting a software developer degree in college the right path for you? Below, we’ve listed a few pros and cons for you to weigh.
Software Engineering in College: Pros
Employers still value a software engineering degree. According to Stack Overflow’s worldwide developer survey, nearly 75 percent of professional programmers hold at least a bachelor’s degree, and more than 25 percent hold some form of a postgraduate degree. Studied majors skew heavily toward the technical: more than 60 percent hold degrees in computer science, computer engineering or software engineering. Another 9 percent have engineering degrees.
For some tech companies, a Bachelor’s degree remains a condition of employment. At large companies, 91 percent of the employees hold a Bachelor’s degree, HackerRank reports (PDF, 2.8MB). That said, smaller companies (those with fewer than 50 employees) report less adherence to the degree rule, with 32 percent of their developers working without degrees. Several Big Tech companies such as Apple, IBM and Google have also repealed their undergraduate degree requirements.
A traditional four- or five-year college program affords students time to study multiple interests and disciplines. Yes, you’ll get a comprehensive software engineering education, but you might also be able to explore classes in communications, finance or other fields that could constructively complement your primary area of study.
As noted above, according to the Stack Overflow survey, most professional software developers studied some form of computer science or engineering as undergraduates. Still, a modest few made their way from majors such as humanities (2 percent) or social science (1.8 percent).
Universities and companies tend to forge connections. Such relationships benefit both parties; universities get to promote their job placement statistics, and companies get access to deep pools of qualified candidates.
Students can certainly take advantage of these bonds by participating in college-run hiring events, seminars and career fairs. These events can be enormously beneficial for students, as they facilitate professional network expansion and highlight potential job placement.
Software Engineering in College: Cons
The cost — and subsequent debt — involved in completing a four-year degree program will likely be your most significant consideration.
A four-year software engineering degree is unquestionably expensive. According to U.S. News, the average private college costs $35,087 to attend per year, including tuition and fees. Public universities average $21,184 for out-of-state students and $9,687 for in-state students.
That said, those are sticker prices. Scholarships, grants and other forms of financial assistance can lower the net cost of attendance. Be sure to gather as much information as possible about tuition and potential payment methods before deciding to invest in an undergraduate degree.
Let’s be honest here — not every person can devote four years to full-time study. Money is a factor to consider, too; if you’re a mid-career professional whose family is dependent on your income, dropping out of the workforce for several years might not be financially feasible. Similarly, if you’ve already earned a degree in a non-technical field, you may not want to double your investment by returning to college.
Attending college is an excellent option for many people. But for those who already hold a Bachelor’s degree or don’t want to commit to a four-year educational process, it may not be the best path.
Learning Software Engineering On Your Own
If you’re a highly motivated, self-starting student, you can teach yourself how to become a software engineer.
The internet is well-stocked with coding tutorials, videos and lessons that can help you upskill. Even those with no programming experience can turn themselves into employable software engineers with time and dedication.
But before you start, you should understand what you’re signing up for. It’s easy to get lost in a warren of how-to guides and tutorial playlists. The self-guided process isn’t easy, and low-quality material or subpar motivation can readily derail it. But for those who are willing to commit themselves, becoming a self-taught software engineer can be rewarding.
Self-Directed Learning: Pros
By taking the self-study route, you can make the process cost as much (or as little!) as you want. Performing a search for “self-taught software engineer” returns hundreds of pages of tips for upskilling independently. YouTube is awash with videos from people celebrating how they became coders or engineers without a degree. Further, like-minded students have built communities dedicated to group learning.
Essentially, you’re just paying for your internet connection — and any textbooks or paid courses you decide to pick up along the way.
You set the speed and curve of your learning experience. Start where you’re comfortable! That could be as simple as performing the search, “What is a software engineer?” Or maybe you’re entering at a more advanced level and want to ask, “How do I learn Python?” Freshening up your math skills is always a good jumping-off point, too.
The schedule will also move at your stride and comfort level. It conforms to your day, not the other way around. It also allows you to linger on topics you find more exciting and discard those that hold less value or appeal.
Only Learn the Skills You Want to Learn
By building your own curriculum, you can study what you want, when you want. Your studies don’t need to include any of the additional, non-major courses that naturally come bundled with a four-year degree program.
Self-Directed Learning: Cons
Lacks Interactive Instruction
Books, step-by-step online tutorials and YouTube videos can help you get a handle on the basics of software development. But the street is one-way; if you don’t understand something or want to bounce ideas off an instructor or fellow students, your options are limited. Without interactive instruction, you may find yourself struggling to grasp the material.
No Networking Opportunities
The ability to network with employers, students and professionals in various fields is a significant perk of attending a traditional college or bootcamp. Unfortunately, you don’t have those baked-in opportunities as a self-taught learner.
In this respect, self-study requires more proactive effort than other routes. To be professionally successful, you need to generate your own networking opportunities, whether by joining online forums, attending marketing events or proactively reaching out to software engineering groups.
Yes, by self-directing the curriculum, you learn exactly what you want, when you want. But first, you have to find the best material. That could mean endless hours searching books, videos, manuals, tutorials, guides and anything else pertaining to your field.
The process can be disruptive as well as ineffective. Unfortunately, not all online tutorials are valuable, current or even correct. Self-directed study requires a careful vetting process, so be critical of the information you’re taking so much time to learn.
No Career Support
Counseling goes beyond suggested career routes and job fairs. Counselors can provide resume and interview guidance, as well as help construct portfolios and get students in front of hiring managers. But as a self-directed learner, you don’t have counselors to help alleviate the pressure of finding a job.
Self-directed learning can be rewarding — but it’s also a lot of lonely work. Unless you’re an intrinsically motivated student who can build their own curriculum and stay accountable to it, you may be better off attending a college program or software engineering bootcamp online.
Which Learning Path Should I Take?
Software engineers have bright futures. The job market is robust, the median annual wage is substantial and coding opportunities are available in nearly every field. It’s little wonder, then, that people want to enter the coding sector.
But the path you take is personal. It depends on your educational background, your job status, your financial situation and your short-term as well as long-term plans. One of the three options — getting a degree, attending a bootcamp or going solo — discussed here could be the right choice for you.
In deciding, be honest about your goals and expectations. You’ll confront challenges on each route. Understand the difference between those you’re willing to accept and those that make you uncomfortable.
If a bootcamp looks like your best option, check out Berkeley Coding Boot Camp! You can learn software developer skills, build a portfolio and be ready to hit the job market in as little as 12 weeks. Contact us today for further information on what a software engineering bootcamp can do to kickstart your career.