Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This just isn't how software is built in practice. Engineers make dozens of architectural decisions every day. They may feel like small ones, but over time they add up to a whole lot of surface area. The skills you learn in Computer Science provide a whole lot more context for your decision making when actually building things. Bootcamps, at least from the folks I've interviewed so far, simply don't prepare their graduates to do real work. This is particularly true when it comes to data structures and basic algorithms. Two really key fundamental knowledge areas if you're goal is to build actually reliable and relatively efficient software.

This isn't to say that all CompSci graduates are good programmers (clearly they are not). It also isn't to say that everyone coming out of a bootcamp is bad (they are not, I recently hired my first). But when painting with a broad brush bootcamp's right now seem to mostly churn out students who are sort of comfortable with syntax and very basic logic, but not much else.

I'd be interested to see this article go farther. What do these cohorts look like in two years? Does that fundamental knowledge gap hold those bootcamp graduates back? I suspect it does, but I have very little proof but my own intuition. I'd love to be wrong.



> Engineers make dozens of architectural decisions every day.

> Two really key fundamental knowledge areas if you're goal is to build actually reliable and relatively efficient software.

I would challenge you on this, and suspect that you're looking at a relatively thin slice of developers: can you clarify why you believe this to be the case. As a counter-example, a lot of modern web development is building frontends (mobile or JS), where good code organization matters, but systems architecture doesn't matter so much.


I've been building web-based frontends for my entire professional career, and my systems architecture skills have been invaluable throughout. Web frontends don't stand alone; they run on server, they make use of networks and networking hardware, they talk to other services on the same server and other server, and they interact with the operating system. Being able to understand all of those moving parts is crucial to producing a high-quality frontend that's not going to fall apart as soon as it gets put under stress, and that will be maintainable and extensible over time.


Can you clarify why CS skills are necessary, vs the ones you learn in bootcamps (which I would guess are much more specific to this use case)? I agree they do all these things, but in a way that can be taught quickly and is mostly learned through experience, no?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: