On a side note, I don’t agree with bootcamps as they don’t teach the core principles of computer engineering and software design. Coding is just a skill, and you need some fundamental knowledge behind it in order to execute it safely and robustly.
> On a side note, I don’t agree with bootcamps as they don’t teach the core principles of computer engineering and software design.
I did both. I studied CS and happened to work as a teacher at a coding bootcamp while studying CS.
> Coding is just a skill, and you need some fundamental knowledge behind it in order to execute it safely and robustly.
Emphasis mine.
I disagree with this. I've seen many experienced software engineers knowing nothing about how to hack (important for safe code execution), I've had a couple of courses in it and did some hackthebox.eu after that. So I know as much about hacking as I know about software engineering, I'm a junior in both cases. Nevertheless, I am the one that finds major security vulnerabilities in the code of the company I work for.
A lot of security issues isn't fundamental as the "fundamentals" are things like: "look for configuration errors" or "look for hardware bugs that hardware vendors haven't looked deeply enough yet" or "look for a place where humans are careless" (e.g. the suidbash vulnerability is an example of the last one). That's a lot fuzzier and vague than CS fundamentals.
Sure
> After a University degree, you only really know what page in your textbook to turn to when you recognise a problem.
No.
My first job during college was to create an iOS app for a researcher (an extensive multimedia questionnaire). What I did: take Hegarthy's course, and understand it. After that, I simply could create the app by thinking logically. I didn't refer back to the course while I created the app.
My first job out of college was upgrading some Java CRUD app. I had the fortune of teaching at a coding bootcamp (as I self-taught NodeJS and then taught it). That NodeJS experience, including with having familiarity with the Java syntax was enough to edit files for a Spring Boot application. Simply by reading the code, I understood what happened and how they wanted me to design things.
No textbook required.
> don’t harm someone with your shitty design.
It's possible that might've happened.