@profoundlynerdy 1/ On the compic of #CS vs #programming boot camps. First, what follows are generalizations; not everyone in either camp is an "A" student.

So let's start with focus. CS is to boot camps like physics is to engineering. CS is about understand the machine, the theory behind it, and how it works. Boot camps are focused on building a particular kind of thing. The world needs both.

@profoundlynerdy 2/ #ComputerScience isn't there to teach programming; programming is a tool to reach understanding. To get my CS degree, I also had to take philosophical logic, discrete math, etc. I had to program in C, C++, Lisp, Prolog, and Assembly, across three fairly different operating systems, etc.
@profoundlynerdy 3/ I have never written any Prolog since college. But simply knowing that such a different approach _exists_ was valuable, and the concepts I learned there have found their way into other languages and contexts since.
@profoundlynerdy 4/ Many CS degrees these days are combined with electrical engineering in some way. These #EECS degrees also provide greater coverage of hardware, which, believe it or not, is still relevant and will be for a long time.
@profoundlynerdy 5/ So let's say, you read a release about #ROWHAMMER. If you've been trained only on Ruby, how will your understanding compare to if you have been trained in how memory works electrically? How will it inform your response?
@profoundlynerdy 6/ So a #CS degree is a foundation. From that foundation, you can pursue research (corporate or academic), security, systems admin/devops/SRE, programming, etc. A boot camp is an instant specialization. You will probably come out of it with better knowledge about the current hotness, but will lack the foundation to understand at a more deep level, and moving to different/newer tech will therefore be more difficult (though I want to say "all things are possible" for all!)
@profoundlynerdy 7/ A bootcamp will let you hit the ground running, next week, across a lot of open jobs. A CS degree will give a person the foundation to help design or build something that scales to a billion users, or to Mars.
@profoundlynerdy 8/ The company I work for has many, many engineers. Only a small portion of those positions could be filled by someone straight out of bootcamp. Most are CS backgrounds, but some did come from bootcamps (and worked their way over to something else themselves) or other background (support, IT, etc). People can adapt in either case.
@profoundlynerdy 9/ There are a lot of jobs outside of web also. For instance, enterprise ERP integration work, etc. Neither CS nor bootcamps will do a great job of preparing people for managing a fleet of 10,000 machines, for example. Other degrees (say, MIS) or certifications may target that better.
@profoundlynerdy 10/ So to answer the question directly, "what did my CS degree give me that boot camps wouldn't?" Let's start with C. C or C-adjacent languages are at the heart of almost every modern system, from embedded to massive servers. With a C background, I can instantly comprehend what strace means, what a use-after-free bug is, what a stack overflow or a memory leak is. I can be exposed to eBPF or perf and understand what its instrumenting and its value intuitively.
@profoundlynerdy 11/ I have lost track of how many programming languages I have seriously used. Probably a dozen or so. It is easy for me to pick up a new language, and having a background in procedural, OOP, functional, and logic languages means that there are fewer new concepts to learn with each language. Learning #Rust was easier because I knew #Haskell; that was easier because I knew #OCaml and #Lisp; #OCaml was easier because I already knew Lisp, etc.
@profoundlynerdy 12/ Is it POSSIBLE to acquire all this knowledge without a CS program? Today, the answer is "of course." Is it EASIER for most people to get it through a CS program? "Of course." /end