4 ms·
> The best developers I worked with are the self-taught guys/girls who learn on their own before they even hit the college I think this is the crux of the issu
by curun1r 9y ago
> The best developers I worked with are the self-taught guys/girls who learn on their own before they even hit the college
I think this is the crux of the issues I had with bootcamp candidates. They were reasonably strong in the areas that they'd been taught, but there were gaping holes in their knowledge wherever they hadn't been taught. They could explain how to build a site with a Node backend and an Angular front end, but they couldn't explain why any of the decisions they'd been taught were good ones. And there were fairly basic concepts that were completely alien to them...of the 20 or so I interviewed, not one had even heard the term 'load balancer', let alone could tell me why I might need to use one. They had no notion of 'threading' or what it meant for a piece of code to be 'thread-safe' because they were only taught Node and its concurrency model. Even then, not one of them had heard of 'nextTick' or understood the event loop beyond the fact that it would call their callback function with the results. Their experience felt like a facade that was designed to seem impressive than it actually was. And all the areas where a developer with a traditional background would have thought, 'huh...I wonder how that works?' and then spent 2 hours figuring it out were completely unexplored.
This is why I think developers coming out of college are significantly more likely to be better at software development...not necessarily because the education they got in school was better, though I do believe an education starting with first principles and teaching you to figure out the solution from there is a better approach, but because the people that choose to study that in school are self-selecting for curiosity in the subject. They're the ones that hit something they don't know and go learn it rather being told what to learn. And they're the ones that spent at least 2 years following those tangents to get a more well-rounded education. Because any developer who only knows what they've been taught in courses, be they bootcamp or a traditional CS degree, is not going to have what it takes to learn on the job.
- arenaninja 9y agoI recently wrapped up teaching a bootcamp course. In the timeframe for teaching bootcamp students, there's no realistic way to cover load balancers or teach the event loop holistically You underestimate the time a self-taught developer would spent figuring these things out. I'm self taught, and though I think nothing of it I easily spend 4 hours on trivial things -- it had never mattered until family obligations made it obvious that I needed to cut down since I was also teaching on top of my full time job. I started teaching the bootcamp precisely because I disagree with the mentality that junior web developers need to understand load balancers or the event loop or any number of other things. These things WILL come to experience, and all you need to get started is grasp the basic syntax and be able to follow the execution path of anything you write. It's a job, as much as people like to believe that it's a craft, and many other people are fully capable of doing this job even if their decisions look different from our own. Most of my students are at the same place I was when I landed my first Jr role, a handful (about 20% of the class) are far ahead of that point.
- curun1r 9y agoSee my reply (https://news.ycombinator.com/item?id=15104346 https://news.ycombinator.com/item?id=15104346) to another comment for a fuller answer, but briefly... I'm not impugning bootcamps or claiming you should be teaching those concepts. I'm claiming that it takes years of independently exploring and learning concepts to be qualified for this kind of work. Most of the developers I hire and work with have been doing this kind of exploration since they were teenagers, if not before that. By the time Node, Angular or most of the technologies taught in these bootcamps came out, they would be comfortable reading docs and just figuring it out and wouldn't need a bootcamp to teach it to them. It's an unrealistic expectation to think that people can go from zero to professional in such a short time. I honestly don't care if a junior developer knows those concepts. What I care about is that they know something other than what they were taught in the bootcamp. Show me some independent exploration that you did that wasn't required for the bootcamp which leads me to believe you can do more of it. I can pair a junior up with a more senior developer some of the time, but most of the time they're going to have to flail around and try to figure it out by themselves and I want to know that they can do it based on nothing other than documentation, trial and error rather than needing their hand held.
- JBlue42 9y agoI agree with this somewhat. The technology is the tool but the principles should be the first step. This was said over on /r/sysadmin when people were discussing where to start with Powershell scripting and the top answer was to get a basic grasp of OOP first as a foundation.
- dcole2929 9y agoExcept most university cs programs don't teach any of those things either. I went to an excellent school for CS and we covered basically zero web concepts in our core CS classes. Sure we learned threading, but not any model that someone would actually use in real life making it at best primer for future learning and at worse worthless. I think it's an unreal expectation to think new devs from either Bootcamps or college are going to have a solid foundation on anything more than how to use a language and a few other domain concepts. CS grads don't know anything about the web or mobile generally but can learn. Bootcamp devs probably are missing database, and algo knowledge, but I don't think that stuff is any more difficult to learn either.
- curun1r 9y agoI think you misunderstood my meaning. Of course CS classes don't teach you that stuff. The point isn't that CS classes prepare you for the workplace any better than a bootcamp. The point is that the intellectual curiosity necessary to go learn things on your own is the only thing that prepares you for coming into the industry and staying relevant once you're working in the industry. And those that are curious about computers from an early age are the ones that end up in CS classes or getting jobs in the industry without a degree from a university or bootcamp. The education CS grads receive in school is mostly bonus principles that help them make sense of what they learn on their own and isn't really necessary. I guess my point is that the people going into these bootcamps, from the ones I interviewed, didn't seem to be people with that curiosity who had taken the time to learn a bunch of stuff on their own. They seemed to be people that wanted to quickly learn to be a developer. And it's perhaps possible to cover the part of a CS degree that's actually applicable in the workplace and a few technologies in the months that students participate in these bootcamps. But it isn't possible to cover the years of independent exploration that most CS graduates did both before, during and after their degrees. That's the bulk of what makes someone qualified to work in the industry. And there aren't really shortcuts around that learning process.