5 ms·
How are bootcamps any different than vocational schools?
by velodrome 10y ago
How are bootcamps any different than vocational schools?
- coderzach 10y agoThe name.
- morgante 10y agoThe lack of regulation.
- diafygi 10y agoAre there vocational schools that offer good programming programs. We were trying to find community colleges in the bay area that had good programming programs where we could post jobs, but didn't really find much.
- mikehollinger 10y agoThey're not. I've said this before [1], but bootcamps are training programming's equivalent to the technician. Techs have a very needed place. A technician can become a master of a trade, and with experience design something that's awesome (see motorcycle craftsman). However, a technician will likely not design a Turbofan engine from scratch. Code camps are (in my opinion) a sign that programming is bifurcating into software engineers, and software technicians (or whatever we choose to call someone who can apply a science, but not necessarily understand the science). [1] https://news.ycombinator.com/item?id=10797765 https://news.ycombinator.com/item?id=10797765
- littleweep 10y agoI'm not sure what this means. Do you think there are smart people who would or could be good developers who did not major in computer science and later went on to attend a 'bootcamp'? Do you think it's possible that developers who are not good could graduate from college with CS degrees?
- akubera 10y agoAre you implying that being a programming "technician" is equivalent to being a bad programmer? Nobody has said "good developer" before you did. I think the point is not to base the "goodness" of the developer on the person themselves - of course there will be people who 'get it' and excel at programming whether they go to bootcamp or college (or are self-taught for that matter), just as there will be people who don't get it, and they can just squeak through either program. The point is to recognize that they are taught different (but overlapping) skill sets; skills that are hard to differentiate and could - from a business perspective - yield the same final product (user clicks button, correct things happen).
- jon-wood 10y agoI interpreted it not as good/bad programmers, but as the level of project you might ask each person to complete. A technician might be incredibly good at doing things like hooking a mobile app up to a REST API, building database frontends, and building on top of an established system. The engineer on the other hand is able to do all of the above, but is also someone you could trust to give a high level overview of the system as a whole and expect to come back with a considered approach to implementing it, taking into consideration things like fault tolerance, how an operations team would interact with and monitor it, and where to make tradeoffs between an ideal implementation and time/money limitations. At least in my mind there's nothing to stop a sufficiently motivated technician learning the necessary skills to be considered an engineer - its not about credentialing, but about having experience that could come either from a college course, or just from working in the field for long enough to have picked it up.
- larzang 10y agoExactly. I'm a self-taught mostly-backend web developer and so I know a variety of related languages, I know the standard tooling and best practices for both front and back end, I know things like OO patterns and project architecture so that I can create sensible structures when writing a new system, and I know enough about the ops side of things to be able to do a lot of that when needed. All these things are practical and necessary to my day to day work. On the other hand, I do not know basic things CS BS-havers learned, like how to implement a bubble sort from scratch, because that is not something that has ever been relevant or is likely to ever be relevant to my day to day work (outside of one-off interview questions from companies I likely don't want to work for anyway if that's their interview process). Algorithm design and high level math is the foundation of CS as a science and as a degree, but it just doesn't factor that much into writing code in a high level language for an established platform like the web. And having a CS degree is no guarantee that you won't put an expensive call inside a loop or write monolithic functions or any of the other terrible practices I've had to train out of junior devs.
- pandler 10y agoI came to the comments to see if anyone had already commented on the engineer vs technician aspect of this. My experience is that the divide is much more established in the Mechanical Engineering world, where the difference in what you learn in school and the role that you play in industry is much more pronounced as a result of having e.g. a B.S. in ME vs an associates degree in something like Engineering Tech. My understanding of the divide is roughly, "I may not understand all of the theory, but I have a practical understanding of the formulas and how/where to use them to get the job done" vs "I can design a Turbofan engine from scratch". Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers, for better or for worse. Personally, since my programming skills are all self-taught, I feel like a technician in my day-to-day work, but I also feel the pressure to present myself as a software engineer for cultural and professional reasons. Unfortunately, it seems the closest term we seem have to describe something like a "software technician" is the pejorative "code monkey", which doesn't do justice to the actual role of technician.
- pnathan 10y agowell said. I fully support the development of a "software tech" career that isn't - at least at the start - "software engineer".
- pjmlp 10y ago> Since moving to software, it seems there's little preventing anyone who can sling some code from calling themselves Software Engineers In many countries to do that, you need to have a certified degree by the Engineers association (or whatever is called), otherwise you can be charged for doing so.
- PhasmaFelis 10y agoSo where does one go to train as a software engineer? Many four-year computer science programs train you to become a CS professor, not to work in industry, which would be fine (most "soft" degrees do the same) if they didn't pitch their CS degrees as preparing you for an exciting and lucrative career, more like a law or medicine degree than an art or philosophy degree. I made some really valuable networking connections in college that helped me get my first several industry jobs--which is good, because I sure as hell didn't have any practical skills to sell myself with. Fortunately I was able to learn up on the job and get the skills I needed (at the expense of my first job's production schedule, sadly), but I was pretty unhappy once I realized how little I'd bought with all that tuition money.
- pjmlp 10y agoTo the university, of course. In Portugal, our CS degrees are called "Degree in Software Engineering" and have a mix of everything that is relevant to the world of computers. If you want pure CS style math, then you need to take a degree in Mathematics with computing branch. Also we do have an Engineers association that validates which degrees are allowed to call themselves as such. We are not alone, most European degrees are like that.
- mikehollinger 10y agoI personally like Computer Engineering as a degree for this reason. I didn't take some of the higher end theory classes, and spent time in a lab making a chip do what I wanted, when I connected it to some device. I still remember the day that "multithreading" suddenly made sense to me, after spending a night trying to debug why i couldn't properly take characters off of a serial port and do stuff with completed strings on a network port. :-)