DEV Community

JTK
JTK

Posted on • Edited on

What everyone's getting wrong about bootcamps vs degrees

Considering how much I tweet, bootcamps and degrees are something I haven't spent extensive energy on. Compared to the numbers of tweets about animals, hiking, food, or just making terrible jokes I've been next to silent on this matter (comparatively).

But I did recently have this to say and I meant it.

For the better part of a decade spent in tech, I've had to hear the endless choir of people pontificating about bootcamps and degrees and self-learning, each acting as if they were bringing down the word from the mountaintop. I've worked places where they assumed I had a degree and even repeatedly degraded people without them in front of me and I functioned as a “degreed engineer” with Schrodinger's credentials, you might say.

But now I am done, I have the degree, and I'm ready to talk.

Part I: No Degree Days

Why I don't/didn't have a degree

I'm writing this on February 21, 2022. Saying "I don't have a degree" will be accurate for about two more weeks, ish. I mean that's when my classes are done. I guess it gets conferred in May. But honestly, who gives a s@#$. The second that last assignment is turned in, in my mind it is done. (Updating this writing March 11th 2022 and I received two As, yay!)

https://media.giphy.com/media/3og0IuE1EjI5ZQzr3i/giphy.gif

For anyone wondering why I didn't manage to get a degree until now, there are many reasons. I didn't know for sure what I wanted to do. While in college, my dad got very sick and it became extremely difficult to manage his constant hospitalizations and keep up with the coursework. The teachers were not understanding. Also, I was poor and it was not clear that I would make enough money even with a degree to pay back student loans, and thus was hesitant to take them out (my sister had just gone through finishing a degree that she couldn't find work in, and her example was informative to me).

I'll pause here. For anyone whose thinking is so rigid that they don't understand that any one of those reasons by itself is good enough to not get a degree, you may as well stop reading.

It is a fool's errand to pressure people into getting degrees when they don't know what they want to do. It is harmful that we make students feel like they must go on when they are facing life and death family crises. It is irresponsible, honestly, it is like a pyramid scheme that we bully people into taking on debt to buy their way into a middle-class life when increasingly a degree does not guarantee it.

What it was like without a degree

As a developer, I have led a surprisingly charmed life. I made senior rapidly. Dev Lead early too. Money, equity, and what now comes easy once seemed like a distant fantasy. Early into my life, it at one point seemed impossible that I'd ever be able to get an office job at all or anything out of service/manual work.

It is not an exaggeration to say that doors were rudely slammed in my face, over and over and over again during that time of trying to find a first office job, over not having the degree. After the recession, there were enough job seekers that you could get rejected for $10/hr administrative jobs for not having a degree. (Nothing about that work requires one, for what it's worth).

There's a study I came across about how poverty lowers IQ, and I absolutely believe it. What I remember from this time were multiple prolonged cold wars waged between me and being poor and being an undesirable worker.

So bleak was my path in getting into any office role that I could leverage into a career that I found myself over and over again looking at online degree mills. When I say "degree mill" I do not mean some online college people turn their noses up at - I mean a literal degree mill where you mail them a check for a fake diploma. It was made so crystal clear to me that the degree was the problem, I really almost did it even though it would certainly have been grounds to be fired if I did and it came to light, it might have counted as actual fraud. Things looked that grim. 

That's probably the most distinct memory I have of this time that I'll never forget: sitting in front of my computer with the degree mill website in front of me. I imagine if I could have looked at myself, I would have seen an eerie animation borne out of raw longing written all over my face. The lack of a degree was a black cloud trailing me, constantly.

That, and my credit score. Simultaneously I schemed and stewed and plotted as if in a long, arduous chess match. How do I get a job, any job where I'll build marketable skills? How do I budge my credit card up from 500-something? I can only imagine my IQ was lower. It felt like being haunted. I was always preoccupied.

Whatever forward momentum I now enjoy as someone with assets, the opposite was true as someone without them. To clean up my credit I paid additional fees for a debt consolidation service and high-cost, high-fee credit cards to begin to have a history. It was pay to play. But still, a far lower entry fee than what it would take to attend school.

I still feel strange sometimes saying that I was “poor” but I don't know what else to call it when they were at various points chasing me around trying to repossess my car, or that when living in Baltimore we kept the heat inside to 50 in the winter and used space heaters because me and my roommates were all broke. When I finally got a first office job, I volunteered at every opportunity to travel because I got a daily per-diem for it, but was constantly at risk of embarrassing myself on these trips with colleagues if we ever had to spend money because, with one wrong move, I would easily hit my credit limit or overdraw my bank account. I once volunteered for an extra two weeks away because I was too broke to pay rent and it gave me a pretext for the check to be late (ahh simpler times without Venmo). So, yeah. Plenty of people had it worse than me but I was pretty broke.

And yeah, it was miserably hard to live that way. When eventually I got a low-paying job but where I was taught transferable skills, there were no limits to my tenacity (for those of you who think people don't finish degrees out of "laziness"). I was a recruiter, and so had no reason to get tech certs or a security clearance but I saw a pathway. I was opportunistic to the extreme.

Anything I saw that would give me a foothold, give me legitimacy, give me something to propel me to a better life I grabbed on as hard as I could and didn't let go. I had no fixed plan of what I would be, I would have taken anything available to me that moved me forwards. The one exception to this remained school, infuriatingly. As a white-collar worker, I began to have tuition benefits at work, up to $5000 or so dollars which is the limit the company can use it as a tax write-off.

Here's the catch: you typically had to pay up-front and then be reimbursed. I never had the money. You also had to repay the money if you left, and I was constantly expecting the sky to fall and to be laid off. It's amazing when you don't have money how much you have to worry about it, constantly, to not be caught off guard by the next disaster. The tech certs, though, the company paid up front. So that's what I did.

Although this tenacity launched me out of being poor and into a stable enough career, the lack of degree continued to embarrass and dog me.

Fun things people have said to me about not having a degree

I would be remiss to not give my mom a shoutout here. I’m not in touch with her anymore but at the point of me struggling so hard to get into any office role, I was. At the point that I told her how frustrated I was by my job search and how little luck I was having, I once said something like “I'm so disappointed I didn't get that one, I know I would have been great at it,” and she replied something to the effect of “You aren't qualified for it, you are qualified to work at Target”. I'd be lying if I said that line won't be burned onto my brain forever, although it's pretty funny in hindsight. (Maybe I SHOULD work at Target, I shop there enough – could use the discount). But at the time, I knew it would do nothing to advance me towards something where I could use my brain and actually build a career.

Of course, there were other places where I got dinged over the lack of degree. In the screening call for what would wind up being my first programming job, they were so abjectly horrified when I answered that I didn't have a degree that I felt like an untouchable, like I might as well have had cartoon stink lines coming off of me. I finally just blurted out (having never done so before) that my dad had gotten very sick up until his death that year and I'd dropped out for family reasons but was trying to go back. After a stunned and uncomfortable silence, they apologized and moved on.

When hired, it was clear that because of my lack of degree they perceived me only suited to be sort of a code plumber, an unrefined hand who could do basic tasks (unlike the music major they also hired at the same time with no experience, which makes sense how?). My boss made his disdain for my unfinished degree known, he brought it up in our 1:1s frequently. And with great, great irony that job was in the Education unit of a research institute. So, I had the dubious honor of being the least educated person IN THE EDUCATION GROUP. Fun times.

It has actually been fun and funny at times to observe all the different reactions people have to the information. Stuff like, “But you are so smart!”, which.... thanks I guess?

My all-time funniest/favorite is when I have been in situations and realized that even with a degree there was a higher level of arbitrary gatekeeping that would have kept me out anyway. If my life had gone differently in a couple of spots I would probably be the proud owner of a Graphic Design degree from a state school. I've been in a small number of interviews where they led with “Well, we hire engineers from elite colleges but someone from other schools could start in tech support and potentially work their way up but it isn't a guarantee”. Cool!

At some point working in tech though, it stopped mattering. Actually, I guess I can pinpoint when: 2 years in. With two years of experience, it seems like no one gave a lick whether I went or not. Either that or people are exceptionally bad at reading. I put my field of study under a deliberately ambiguously titled Education/Training section on my resume. I never lied. I listed the field of study with no degree or graduation date. Having been burned over and over and over again for not having the degree, I suppose at that point I decided “if you don't care enough to ask, I don't care enough to tell you”.

It was always very hilariously clear when people assumed I had it and I didn't. A colleague once guffawed over me not knowing what Conway's Game of Life was and exclaimed “Did you even TAKE computer science!?”. In the moment I answered “Nope, they must have saved that for the fancy kids doing the Master's program” but internally I felt like shit. This colleague was a friend and I know only ribbed me that way because of the assumption that we were peers and it was in no way punching down. Little did they know, they had hit me where it hurt. Although having now finished a degree, I can tell you I STILL would never have learned about Conway's Game of Life! I have since of course looked it up. I do not feel as if it made me a better engineer to know it, lmao.

The other truly, truly funny one was a boss I had. I forget what level of education he had but a degree for sure, and he definitely assumed I had mine as well. He used to say benevolently rude things like, “You know JT, we could hire someone with occupational training and they could string code together but they wouldn't be able to write algorithms like you or (other teammate).”

Reader, I s@#$ you not, this man's code was THE WORST I'VE EVER SEEN. I WOULD GLADLY HAVE HIRED SOMEONE WHO “JUST STRUNG CODE TOGETHER” OVER HIM. He wrote API endpoints that were concatenated together in what sounds like a joke of a SQL-injection nightmare. He wrote all his joins in what would have been cartesian products/cross joins without the database engine cleaning up his misdeeds under the hood. He wrote a new-ass-application in Python 2 the year it was to be sunsetted when the maintainers had said they wouldn't even patch security bugs going forward, just because he didn't know about system python. He sure liked me though! He made me Tech Lead. I had an even more talented colleague at that job who switched teams to get away from this boss, and with great irony I later found out it was because the boss was giving him a hard time about having an unrelated Construction Management degree. (This dude was amazingly talented, and could code circles around the boss. Eeesh).

A lot to unpack there but I'm going to throw away the whole suitcase.

https://media.giphy.com/media/S8Bnf6KByXDly5VCzq/giphy.gif

What someone without a degree would want you to know

The only thing I will ever say no one can accuse me of is a lack of work ethic or ambition. Whatever you want to say about me not having a degree, you could chalk it up to just about anything in the world but there is no credible case to be made that laziness or lack of tenacity were in play. I'm not unique.

I didn't write the first half of this post to be "woe is me", I'm obviously very lucky and have enjoyed a drastic change in circumstances. Honestly, it's been so drastic that for all I know I'm just part of a bubble about to pop and my fortunes will all reverse the next economic downturn. The reason I mention it is, that I was always the person capable of having the degree I'm about to earn. I mean heck, I used to work harder without it, I had to exercise such a high level of showmanship and boldness to compensate, I was probably a better worker.

So please take away from this that education != intelligence, education != work ethic, and in many cases, it is just a reflection of someone's luck. When you judge people harshly on it, that is in fact what you are judging and it is frankly crappy.

Part II: Bootcamps

What brought me to bootcamps

When in 2015 my father died, he had some miscellaneous life insurance policies that resulted in me inheriting something like $40,000. That might have paid for school. Unfortunately, the price I had paid to get to the fringes of the middle class was to work jobs with ridiculous hours. I felt extreme concern that I could keep it up if I added school.

At this point, my recruiting background had taken me into recruiting for technical roles in government contracting, most often for Network Engineers and Cybersecurity professionals. My claim to fame in recruiting was that I was very good at boolean searches, which was fortunate since government contracts often had roles with complex mixtures of security clearance and technical certification requirements.

There is an entire DoD regulatory proviso code for the Security+ exam by CompTIA (DoD 8750), so invested are government agencies in these various tech certs. Some jobs had requirements with a complex mix of certification combinations, where you would need one or more certifications from group A, one or more certifications from group B, and then a security clearance.

Point being, I come from a world where ongoing professional development was very respected and in-demand.

(One thing it's funny to note here. Probably based on what I said about being so broke, you would think I got into tech for financial security. Nope! I took a 16k pay cut for my first programming job. My dad's death was really hard on me and I felt like I just couldn't talk to people for a living anymore. It felt unbearable. At the end of my recruiting career, I made 70k which was a fine living in 2016 and if I had liked it, could have pursued management if all I wanted was more money. Along the way of trying to be a good recruiter and learn tech terms, I crossed over to the dark side. It was so much more fascinating than having the same intro candidate call dozens of times a week. Although there is nothing wrong with getting into tech for money, I actually have done it out of love from day one. And that's the only reason someone with so little natural talent at coding became so successful. I just happily plugged away at it in most of my free moments until I got suddenly shockingly good).

After my dad died and I debated using the inheritance for school vs getting more technical certifications, somehow strategically placed advertisements for bootcamps found their way to me. I immediately liked the idea. It sounded like a combination of instruction and apprenticeship, I would actually be BUILDING things not just memorizing and regurgitating things. I bought in completely.

It is worth pointing out that although I wasn't recruiting developers heavily, I was in the tech industry and had no idea that bootcamps were widely criticized and considered by many totally illegitimate. I want to pause on that.

If me, a white-collar worker actually already working with these types of roles and around tech people, wouldn't know the baggage that came with that path, how do you expect someone working at Mcdonald's and dreaming of a better life to know it? Part of the hate on bootcamps honestly in effect s@#$s on people who risked a lot and put their neck on the line trying to do the really hard work of building a career. So, consider that.

The mixed bag that is bootcamps

Here's where it gets dicey. I just finished telling you that you need to show people who attend bootcamps some respect. I can't and don't necessarily say the same for the people running them.

I attended General Assembly's first remote Web Development Immersive program in 2016 (since rebranded). I very clearly remember that the marketing was emphatic that the program could take you from zero to sixty, even with no experience. I even had some experience! I had been doing Coursera, CodeAcademy, and technical certs, I thought I'd be coming in from a good starting position.

I was very wrong.

About half the people in my bootcamp were technical. One did tech support, one had a CS degree and had freelanced, one was a graphic designer who did some code, on and on. By the end of the first unit, about half of the cohort's projects did not pass, a condition that could cause us to fail out of the program without a refund. As you may guess, the entire "almost failing half" were me and the other people not working in technical roles before joining the program. (I remember now and laugh that on the day we were supposed to present our projects I said something like “This is my project and spoiler alert it doesn’t work”).

The Rocks shrugs saying this doesn't work

With that large of a group failing, it was impossible to make us individually shoulder the blame - it was too blatant. The bootcamp split us up into groups, with mine to repeat our first unit. As time went on, myself and one other woman in the program realized how screwed up it was that we were missing instruction and content that we paid for (at the time, on MEAN stack, all the rage). We raised hell. We made them agree to extra workshops after and other conciliatory measures.

As a sidebar, I felt such stress and desperation that I had thrown all my eggs in this basket (quit my job, spent all that $) and then let down by the system I'd pinned all my hopes on, my brain got mean and focused and steely. After the first unit I moved, up-up-up towards the top of the pack in my group. I was stressed, I was angry, and I was scared but I channeled it and I liked code, even as bad as I was back then.

Since then, bootcamps have arguably only gotten worse. Parasitic income sharing agreements are a Faustian bargain. Bootcamps are functionally unregulated, and cherry-pick statistics to give the reporting body CIRR, or just stop doing so altogether. The inexperienced instructors and recycled recent graduate TAs don't know what they're doing. As the market is flooded with junior candidates many of whom are all trained in the same things, bootcamps have to pivot wildly and come up with new curriculum. I could go on and on and on, and often do.

Some of them have gotten better. I have seen B-Corps, free bootcamps, bootcamps to get former convicts into coding, schools free to disabled people. Some of the programs are now two years long. In response to critiques that bootcamp graduates don't know data structures well, some have added things like that. There are also orgs like Code The Dream that give me a lot of hope in the nonprofit model, they follow the bootcamp with an apprenticeship period building sites for nonprofits to give the students real experience.

Least favorite takes on this topic and rebuttals

“Bootcamp people are ok as programmers but will never be software engineers”

As someone who just finished four years of schooling largely debugging and learning alone, you can f@#$ right off with this. Nothing magical happened in my degree that transformed me. There was little new in my coursework and I could plow right through on code alone. Most of our books were open-source resources.

“People who join bootcamps need hand-holding and structure, but if you don't you can self-teach”

Yes, I hear this, not always this clear but I hear comments reeking of it often. You know why I wanted instructors? I had worked around software engineers and the field seemed hard. I wanted to do it right, I wanted to give it my all. I trusted that people in the field might have something to teach me. I trusted that learning these skills would be difficult and I wanted to give myself the best possible chance of success. Wanting instructors came from a place of humility. It was a lot of money and a lot of risk, but it was a representation of my commitment to choose active instruction – I wanted to do it right, I was giving this challenging material respect by wanting a guide.

What someone who attended a bootcamp would want you to know

It is possible to be critical of bootcamps but still respect the people who attended them and treat them as people who took a huge risk out of willingness that they could build a better life for themselves and their family. Doing a bootcamp is PAYING to work extremely hard. These people don't deserve your scorn or your in-group out-group blanket dismissal.

What does it say about you if you are someone that enjoys deriding people for trying to learn something? What did it ever do to hurt you? What makes you the authority on high to pass judgment on someone else just trying to be compensated for their labor and make a living? The more you unpack it, the more appalling it sounds.

But the number one, super-duper incredibly important thing I need you to remember is this. Yes, you, you who secretly has a low opinion of bootcamp people: there is also a lot of bias at play here, and I don't mean credentialism.

It is a known fact that bootcamp graduates are far more diverse across multiple categories than CS degree students. In-group/out-group bias is a real thing and no matter how nice of a person you are, the human brain was built to categorize and we all must contend with that. It is not a coincidence that this group of people who is maybe queerer, browner, and more female than you and all your CS cohort peers show up and the initial brain reaction is mistrust or disbelief. As one study of in-group/out-group bias puts it, “Experiments […] have been repeated time and time again, demonstrating that the favoritism people show for their own group doesn’t need to founded in anything particularly meaningful.” The same linked article goes on to say:

Another basic truth about people: we have a need to feel positive about ourselves, and we are frequently overly optimistic about how exceptional we are compared to other people. These processes of self-enhancement guide our categorizations of ourselves and others and lead us to rely on stereotypes that demean the out-group and favor our in-group. In short, because our identities are so heavily reliant on the groups we belong to, a simple way to enhance our image of ourselves is by giving a shiny veneer of goodness to our in-group—and doing the opposite for our out-group.

In this sense, I feel for people with skepticism about bootcamps. Your brain is really not set up to like this concept. It is invalidating to people to have spent ~2 years of a Bachelor's Degree on Computer Science concepts and have someone who spent a fraction of that be competing at your level.

I recently saw a tweet that was a pretty terrible take tbh but the comments were illuminating in one way.

You went to a three month boot camp. I spent six and a half years getting my computer science degree. We are not the same

Above ^ this the poster had a video of them saying “I took six years to get my degree, you went to a three month bootcamp. We are not the same”. I laughed a little at this because the “no one is better” at the end clearly is tacked on to avoid criticism. This person riffing on the “we are not the same” meme makes it clear they think one is better than the other. Some of the replies were:

I did both and to be honest I learned more by myself. At school I had to follow the rules and do what the instructor wanted. Pretty old way to do things and the coding BootCamp care only about the money. To be honest it doesn’t make you any different.

And another, that most closely supports my point about in-group/out-group bias:

I feel this way about design...when canva was released and everyone became a “designer” my feathers were ruffled as my degree and experience seemed invalidated overnight.

While I'm skeptical that anyone who knew Canva alone was off finding work as a designer, this person recognizes what's happening in their own cognition: they feel invalidated by people from other paths. It feels invalidating to the work they did and that's upsetting to them. I appreciate that they had the clarity to recognize it that way because at the end of the day I think that's part of what is going on with a lot of people.

One final thought to leave you with: if like the poster above you find yourself thinking “a few months can't compare with years”, I want to reframe that a bit for you. An average college student goes two semesters a year with a 12-credit workload. The average semester is 15 weeks, with 2.5 hours of classroom time per course. So, 10 hours a week over 15 weeks, x2, or 300 hours of instruction time per year. Using General Assembly, my own bootcamp as an example, the schedule was 10-6 with an hour break at lunch. (That is not including time alone coding afterwards for homework). So that's 7 hours a day for 12 weeks, although I'm going to subtract that last week because I think we spend it on the final project. Let’s call it 11 weeks x 35 hours = 385 hours of instruction. Draw from that what you will.

Part III: The Degree

What made me decide to finish the degree

This is a question I get asked A LOT by bootcamp people - “Why did you go back, did you feel like you needed it?” and it isn't that easy to answer. People in this field feel all the time like they are “imposters” regardless of background and experience, and I wasn't immune. Being a woman in a male-dominated field, it would be a lie to say that I never felt the need to be unimpeachable in my track record, credentials, and output. Having seen the fate of people without degrees in the last economic downturn, it also seemed like a way to protect myself. If the job market ever got bad again to where employers just needed to filter out some arbitrary number of people, degree requirements are a very easy way to do it.

I also just wanted to know. To know what it was exactly that I was missing by not going. What exact things I wasn't aware of that seemed to make this whole industry think people with my background were a joke (in the abstract anyway, individually people treated me well and I was obviously very successful even before finishing the degree). What exact topics a degree would cover that would take me from the fringe to being a Real Programmer :Tm:. You might say, I wanted the degree just so I could tell everyone to STFU up about this all. (That is literally what I tell people who want to talk about this topic, as I showed in the tweet included in Part I. There are a very very small number of topics where my mentality is “you can't tell me s@#$ about this”, but this is one of them. I have the complete perspective. At this point I have done a degree, done a bootcamp, and have professional certifications. I have tried it all).

But was it worth it?

The mixed bag that is degrees

Ok so. You've already heard that I was not super impressed by my bootcamp and it would probably be more satisfying to end this arc by me saying the degree was far superior.

Meh.

Some of the stuff was pretty cool. I think my favorite courses included one where I got to use JavaScript and Flask to make demos of different software vulnerabilities. I came up with behavior with VueJS to imitate a bot doing a brute force attack on a login page for instance. By far the HARDEST courses I took were actually during a brief time when I was doing a Network Engineering major and had to do coursework aligned with the CompTIA A+ and Network+ certifications. I don't know how hard the certifications were, but the classes relied on all these virtual labs and they were incredibly time consuming and finicky, if you did things correctly but in the wrong order you wouldn't get points, that kind of thing.

Most of the coding, I could just show up and code without much paying attention to anything else. Ironically, some of the things I was best at (SQL) were some of my worst grades, just because I would do things the “industry way” not the “textbook way” or use techniques that accomplished what was needed but weren't what the book was trying to highlight, etc. There were some more relevant things (like AWS) and some less relevant things, like assignments so old that they were dependent on Java tools that could no longer be installed on modern machines. At the end of it all, it was probably equal parts Python, Java, JavaScript (used in classes where I was allowed to pick), and SQL. Not a bad mix for employability.

I will say that neither the types of tasks we were assigned nor the way content was presented were particularly engaging. A lot of “build a desktop Java app to do payroll”, “build a Java app to look up semester grades”, “build a Java calculator”. As someone who didn't like Java, I definitely had the realization that if college HAD been my first introduction to code, I would have abandoned it. I would have switched majors I'm almost certain. If I thought all coding was was building dull apps with Java, where it takes a bazillion lines of code to do the simplest thing, I would have noped out hard.

The degree also pointedly side stepped a lot of extremely relevant industry concepts. There was one class where a classmate managed to bork his code irreparably and I was trying to help on the class forum. I was curious if anyone would tell this person about version control to save them from similar issues in the future. Knowing the professor would respond I said something like, “It would be great if there was a way to go back in time with code”, wondering if they would mention git at all. Nope!

We also got assignments where to follow the instructions the cyclomatic complexity of the end result was horrendous. To get an A, you had to follow the arbitrary instructions even if the resultant code was poor. We also spent an honestly, somewhat embarrassing amount of time on things that are decidedly not industry standard anymore, like drag and drop UI builders in Java, incredibly old versions of Oracle, etc. Some of the more relevant things we learned were approached in very weird ways, like having to use spool files (???) for SQL, and topics like types of software testing or code efficiency were entirely skipped while instead, we spent a mind-numbing amount of time on things like the Software Development Lifecycle.

Least favorite takes related to this topic and rebuttals

“Degrees are pointless”

Look, while ultimately mine may not be worth it you’ve seen from my experiences listed earlier how rudely the world may treat you for not having one. That’s not to mention that for groups that aren’t well-represented in tech there is often additional pressure to “prove” ourselves, and it is not always possible to be taken seriously without credentials. People might do it to advance themselves, just out of the curiosity to learn, or a multitude of other reasons. Same as we aren’t going to s@#$ on bootcampers for the act of learning, we are not going to s@#$ on people getting degrees. Why even would you? What is scorn worthy about someone wanting to work and learn?

“People who get degrees are fools, a bootcamp is enough”

Nothing is enough. Truly.

Our society has increasingly moved to requiring degrees even when they are only nominally of benefit for the role or even irrelevant. Automated hiring is filtering people out in bizarre ways like screening nurses who need data entry skills for computer programming.

And yet...

I don't know if I know ANYONE who walks onto their first programming job and doesn't feel kind of lost. In mine, I was able to immediately make contributions with bug fixes but even so was in way over my head on other things. Most schools still teach Java or C, most workplaces use a variety of things. If I extrapolate where I'd be starting from with the degree alone, my whole atrocious learning curve with git would have had to happen at work, I would have known little to nothing about CSS or HTML much less accessibility. It would still have been a steep, STEEP learning curve.

If someone feels like going to college because they want to feel prepared for the workplace, good for them! Just as it doesn't invalidate people from college for bootcampers to exist, it is pretty iffy to completely disregard any time spent learning period.

Also: this statement is clearly wrong, there is a reason people continue to find CS grads more prepared although it is not the reason people think and I'll elaborate in the next sections. Whenever I hear someone so self-satisfied with their conclusion, I can't help but think of the saying, trust those who seek answers not those who claim to have found them. Anyone too gung-ho with no nuance, I do not trust your conclusions.

What someone with a degree would want you to know

The reason I’m so sick of how people talk about this subject is the complete lack of nuance brought to it. And yes, you are hearing me correctly that my view that IMO does have sufficient nuance boils down to, people may be leaving degree programs slightly better prepared than bootcamps but there is also a lot of bias impacting how we evaluate people in these two groups, and the difference has absolutely nothing to do with degrees being superior or the people who get them being superior.

At the end of the day, despite everything I've said, me with a degree may still be a little better than the version of me existing in some alternate universe without it. Not because the degree itself was special, but simply through the act of having to engage with the material and the extra hours put in. That didn't need to occur in school and I don't know that school was even the right place for it. ALL of the more advanced things I have learned or done in my career have been learned on the job, period. But attending school of course didn't make me any worse.

As time has gone on, as I've worked with people with and without degrees, as I'm now on a team that is made up largely of career changers with degrees (but unrelated) who are among the smartest colleagues I've ever had, my views on this entire thing remain hard to put into words. While I DON'T think the act of attending college is magical, I am comfortable roughly saying that college does seem to generally be producing more prepared entry-level programmers than bootcamps are.

As time goes on, the more I see though, I am increasingly sure that it is not because these two forms of training are so fundamentally different or that one is inherently better. The longer I go on, I think the benefits of college are simply that it goes on longer. There is evidence that we retain more when concepts are explored slowly. Something called the spacing effect has studied that our brain holds on to more and benefits from superior long-term memory performance when the time spent learning is spread out. At the end of the day, I am of the opinion that that is the only difference that matters in this debate.

Part IV: Where does this leave us?

If everything sucks, what's the point then? What's the solution?

Well, okay, so I know I was critical of my bootcamp and now critical of my degree. That being said, I wouldn't change either experience. When prospective career changers ask me which they should do, or ask what language they should learn, or how they should spend their time, I often tell them something like “any time spent learning will be valuable”. Pick what interests you, or what you think is the direction you want to take your career. It doesn't matter. I have a suspicion if you pick something enjoyable to you it will enable you to spend more time learning and overall have the biggest ROI.

The real takeaway I would like people to have from this post is that bootcamp vs degree training is not a valid premise for evaluating programmers. Period.

If your brain has a sticky attachment to the idea of this hierarchy, ask yourself why. What benefit HAS ever really come from broadly profiling a huge group of people without any nuance? What benefit does it really give you?

An alternate framework

With that said, we reach a conundrum: if concrete credentials are not the way to evaluate programmers, how do we? We all know everyone hates whiteboarding and take-home projects. Although I will say, certainly me feeling stupid for an hour while live coding is less trouble than getting a whole ass degree.

At the end of the day if a company wants to have an entrance test and uses those in lieu of specific years of experience or degree requirements, I don't think that's the worst thing in the world. It at least would be something consistent. And while yes, it's a time commitment, again, less so of one than either a bootcamp or school to prove yourself.

But really, I don't even think that's a necessary alternative if degree requirements were scrapped.

One philosophy in hiring that I like is the competency-based approach, described here as being the solution for hiring challenges where people were coming in with the right backgrounds, degrees, etc, and still having issues on the job. This approach relies on job profiles and structured interviews, and as discussed in the article above has also been linked with facilitating more diverse hires. It is also an excellent way to account for the fact that not all years of experience are equivalent and some people progress faster than others to the same level of mastery. This article goes on to say that naturally there are numerous ways of doing this for software engineers, whether it be assessments, technical questions, whiteboarding, etc.

I think we'd be better off even with some combination of measures. Like a degree requirement OR you can do a take home OR you can whiteboard to demonstrate whatever level of mastery. Ultimately, my opinion is that you can assess an engineer without the whiteboarding but if it moves places away from arbitrary degree requirements then fine.

Also worth considering

It is also worth noting that both bootcamps and colleges have numerous other issues I didn't even get to cover here. My personal opinion is that the bootcamp model is not worth throwing away despite the issues with poorly run and disorganized ones, but it is screaming for legislation. Some of the things I've heard go on are borderline fraudulent, like ISA repayment being triggered by jobs that are barely tech-adjacent.

It is valid to have specific issues with the way bootcamps are run, but it is also valid to have extremely real concerns that stop you from wanting to go to college. When colleges shut down due to the COVID-19 crisis students were displaced from housing and meals that they were still on the hook for financially, and many are now suing. This excellent episode of Patriot Act addresses that increasingly schools cost is only half related to genuine fees, and schools are using atrociously paid adjunct professors to keep their own costs low while institution president salaries and investment trusts have exploded. The number of administrators at schools has increased in some cases 135% while adjunct pay has gone down 50% but executive level salaries are up 35%.

That's not to mention, that for cases like mine with a sick parent, it isn't like in return for all that money you are getting any kind of understanding. Even in the recent invasion of Ukraine by Russia, students requesting deadlines to account for the fact that they are literally in a war zone are being refused. I'm not even going to touch the ongoing embarrassment of sexual assault on college campuses and its abysmal handling. So with all that said: even if college might send you into the world SLIGHTLY more prepared for an entry level programming job, is it worth it? At the end of the day? For some people the answer is no, and for others it’s a moot point: they don’t have the money, they don’t have the time, and it was never in the cards for them.

In closing

Where does this leave us? The prospect of learning challenging material with no direction is somewhat bleak.

If I had it all to do again and had known about these options, I might have turned to something like the Open Source Software Degree or a new development, one I have my eye on as potentially the most promising revolution in software engineering education that I've heard of: the Free Code Camp accredited, free(!) computer science degree. I think if supplemented with learning groups like I've found on Slack communities, an option like this when combined with community could likely do as good of a job as the path I wound up taking.

If I can ask anything of anyone, after this absurdly long diatribe on this topic, it would be to realize that people's lives are messy and unpredictable. The same options are not realistically available to everyone. When compared side by side, the amount of instruction in a bootcamp vs a degree is not actually all that different, and there is nothing about degrees or the people who get them that is inherently superior. I truly believe that if CS grads are coming out slightly ahead, it is a function of the degree having a longer duration and nothing else.

Take a moment to examine why you might feel so strongly about someone else's educational background when it doesn't hurt you either way. And overall, realize that people's capabilities are not neatly assessable through the lens of bootcamp vs degree vs self-taught.

Top comments (29)

Collapse
 
tardisgallifrey profile image
Dave

Very well written. Very long, but you had a lot to tell us. Kudos on your journey, your success, and even your failures.

I am no longer old-er, just old. But, I love to code. I started self teaching my self code when BASIC was king and the IBM PC was the edge. 640K went a long ways then. Learned C and tried some others. But, my needs to take care of my family put those things on the back burner. Done a lot of programming over the years, just all in industrial situations.

Finally decided to make myself a goal of being able to sit down and write what I want to as a coder. Started when the pandemic hit. Now, I can say that I can code in JavaScript, React, C/C++ (my goto), and C#.

My motto is "Dave does not do pretty", which is why front end for me is likely a stretch. I can manipulate CSS, but have no idea how to choose the right things.

So, maybe some day I'll get to work in what I like. I did earn two degrees on the way to here, but I will agree with you. It's more about initiative, determination, and stick-to-it-iveness than anything that makes us good at what we do.

Collapse
 
heyjtk profile image
JTK

Really agree! And I am with you on CSS, which was a surprise to me. Definitely agree the mental model/determination and extended exposure and practice are the critical pieces for success in this field

Collapse
 
nyambol profile image
Michael Powe

Excellent article.

A main reason that this situation has come about is that companies will no longer bring employees "up the ladder" by OTJ training. There was a time - lo, these many years ago - when you could start out as a tech support guy, talking on the phones all day, and work your way up to a dev job. You just had to show your interest and some initiative to learn.

Today's managers don't look around for candidates in-house. They get approval for a new seat, the paperwork is processed by HR, the ad goes up on the job board, that's that. Imagine - I once worked at a company where all positions were advertised first internally, and only pushed out if no suitable candidates were found there. Wut? My wife worked over 25 years at the same company, making the machines that make silicon wafers for computer chips, for companies like Intel. She went from assembly line worker to QA manager. She had to get ISO certified to run a cleanroom.

The world o' work today is truly f'ed. Tech is ruled by young white guys pumped on their own innate superiority, claiming that it's a "meritocracy." Pfft. It's good to see stories told from the other side of the room.

Collapse
 
heyjtk profile image
JTK

My dad did this! He worked for Bell Atlantic then Verizon as a telecom technician and then later they sent him to "cable college" (name always makes me laugh for some reason but it was this, honestly pretty good internal training program they had) and eventually he crossed over from blue-collar, going up in bucket trucks, to being titled as an engineer and was very involved in the rollout of fiberoptic cable to residential areas that Verizon pushed in the 2000s. I would have more sympathy with companies not wanting to train if it weren't the case that all of them have special snowflake tech stacks for the most part, and while you CAN get transferrable knowledge some of the larger companies are honestly frankly very invested in massive legacy systems that you really aren't going to be 100% prepared for unless you are in that company receiving training (my first programming job was like that, they had entire made up programming languages running gigantic internal systems. Around the time I left they were training me to learn a proprietary language they used with no name, lol). Anyway now just rambling but thank you for your comments really appreciate it

Collapse
 
athifbinu profile image
Athif binu

Hello Madam Tanks for The valuable Information becuace iam Self Learn developer in india after In my Higher seconder education iam very confused becuace i am not Sattsfy in Our education System Becuce They sytem a re not iDea about the future
and i will started Self Education .To day iam happy becuace i will find in my passion

Collapse
 
heyjtk profile image
JTK

I know it can be very hard to take that route but I have a lot of respect for it and wish you all the best!

Collapse
 
athifbinu profile image
Athif binu

Tanks madam.
Madam I want To Talk Withe becuce I want to your Information Your Contact Number Or any Chat application

Collapse
 
annaspies profile image
Anna

Such a great article and a unique perspective that's frankly not shared enough!

I wanted to make one more point in favor of bootcamp grads that I think should be expanded on, and it's the fact that most bootcamp grads I've met had full-on careers before starting a bootcamp, whereas CS graduates typically enter tech right after school, and that remains their only frame of reference. All of that initial, usually non-tech experience means that bootcamp grads are often more mature and empathetic coworkers, are more flexible in their thinking, and are great at putting themselves in users' or customers' shoes, having been non-tech customers of software themselves.

I am a bootcamp grad myself, and worked as a writer for over a decade before switching careers. I got my first engineering job primarily based on the fact that the startup sorely needed documentation and had no one to do it, and my writing background was a huge asset in that regard. Now when I've mentored bootcamp students, I've stressed that they should regard their previous experience as an asset and find ways to make themselves stand out because of it. Worked as a nurse before going to bootcamp? Awesome! You will be far more valuable to a medical startup than a CS graduate without any context of that world and its customers' pain points. And so on.

This post also made me feel very good about my bootcamp (PDX Code Guild in Portland), which I actually found gave me a solid understanding of CS principles and some of the processes involved in working on a software team (git, deploying software, etc.), but I still learned probably 80% of the skills I use every day at that first job. On the job training would be incredibly valuable, and I wish more companies that can afford to do that (cough, FAANG, cough) would.

Collapse
 
harryhorton profile image
Harry Horton

This is an incredibly well written and insightful article! As someone self-taught, who struggled hard to learn what I needed to get my first programming job, I struggled a long time with the idea of feeling like I was missing something.

This article should be the gold standard on this topic, and I'm certain it'll be helping people for years to come. Thanks so much for taking the time to write such an in-depth, honest, and balanced article.

  • just a guy in a @heyjtk dominated field.
Collapse
 
heyjtk profile image
JTK

ahaha this made me laugh out loud, so so nice of you! Thank you

Collapse
 
sgharms profile image
Steven G. Harms

Very thoughtful and well-reasoned

Collapse
 
nxmxgoldxx profile image
Calenté Cardwell

read that as 'Seasoned' <3

Collapse
 
quoll profile image
Paula Gearon

I've come from a vastly different background, and don't feel qualified to comment on your experiences, but some of your essay rings true for me nonetheless.

I did a Computer Engineering degree nearly 30 years, in Australia, where there was very little financial burden, so it was "easy" for me. During that degree, I had the option to enroll in a lot of CS subjects, but most of the course was about circuit design. Several years later, I did a physics degree, and picked up a few "easy" credit points by doing simple programming subjects. A few years later, I ended up in the USA, where I've worked ever since.

While I did learn a few useful things (like data modeling, SQL, and what recursion was), after graduating and getting into software development, I discovered that almost every useful thing I learned had come to me after university, learned in my own time. Languages? My own time. How to use bash properly? My own time. Hashtables, balanced trees, operating system memory management, how linkers worked, scripting languages, source code control (VSS, CVS, SVN, Mercurial, Git)? All learned in my own time.

Luckily, I often had colleagues who were able to instruct me, or point me at appropriate materials, so I could use my time valuably. I suppose that having a degree got me the job that then got me those colleagues. Also, there are some things that I learned that I doubt I could have learned without my degrees (e.g. Fourier Transforms)... but I don't use those things in my job. Almost everything I learned that makes me a software engineer came from my own time since leaving university.

I realize that I have immense privilege in having these degrees (especially since my son is about to start on his, and I'm horrified at the cost). I find it very odd that several companies in the USA have required me to have my qualifications before they would hire me, when the only things I've used in their employ was learned outside of a university. The same appears to be the case for many people I know, for people with and people without a degree.

So my experience has taught me that a degree confers the benefits of privilege. It also tells me that for any given person who is a software engineer, they could well have a far better education and skillset than I do, despite not having any formal education at all.

Collapse
 
carlosds profile image
Karel De Smet

Thanks for sharing. It was a long read, quite opinionated yet well-referenced and providing serious food for thought for anyone looking to become a software developer. I agree with your conclusion: if I had to do it over again (went from a bachelor degree in another field to a developer role), I would also opt for an 'open-source degree' such as CS50 or FreeCodeCamp. Then top that off with 2 or 3 small side projects in a field of (personal) interest or something related to a previous (non-development) role. A full degree seems too time and resource-consuming, bootcamp dives in too much without focussing on the basics and self-learning requires high levels of preparation and discipline while lacking guidance.

Collapse
 
tenshiemi profile image
Emily Chen

Great article. I fully agree that neither path tells you enough to know if a person is a good candidate or not.

I and many of my friends all maneuvered in to engineering jobs through coding bootcamps and our careers have been wildly successful. I would actually say that given the same individual, a strong bootcamp can do a better job preparing students for the real world than a university. I didn't pursue a degree when I was younger because there were no role models and CS represents itself as being only for egghead types. I also have ADHD and have never been a great student so the intensity of the bootcamp format worked way better for me. I was immediately productive when I started my first real job.

Unfortunately there are quite a few scammy programs that more about the money than whether the candidate would actually succeed in their program. I did a bootcamp in Spain where half my peers should not have been accepted in the program because they could barely use a computer. They were set up to fail (although some of those who really struggled still have managed to build a career for themselves as competent programmers). Meanwhile I've mentored CS grads who really struggle with problem solving skills and constantly need hand holding. Others are completely inflexible about the way they work and struggle to stay current. I guess what I would say is IME the people who succeed through the bootcamp path tend to make fantastic programmers. Unfortunately the cost is great for those that don't don't do well.

Collapse
 
heyjtk profile image
JTK

Some of the programs out there truly are infuriating, but yeah that's hardly unique to bootcamps: in the US we are still grappling with fraudulent for-profit colleges that were complete scams and ruined countless lives. I'm really glad for people like you and the peers you talk about that made it through these kind of programs and made it work and got to enjoy so much success! I currently work somewhere with people with all kinds of backgrounds (a lot of other STEM grads who then did bootcamps, educators who did, along with (naturally) CS grads and the whole group is awesome).

Collapse
 
thaynamenezes profile image
Thayna Santana • Edited

I can definitely relate to your article as someone who is in the process to complete the full circle of certificate, bootcamp and lastly start college during fall.
This discussion always left me with a sour taste, because people should do what works for them, without needing to invalidate anyone in the process. In the end of the day, the hours you put in will always be the best teacher.
Thank you for sharing your path!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.