Hacker News new | ask | show | jobs
by relistan 495 days ago
Agreed. Boot camps tried to fill the void. Some were great, some were not, like anything. Most of the boot camp grads I worked with were good juniors with real world experience to bring to the table (designers, writers, etc). But, in general, the disdain boot camps were met with by many engineering orgs spoke volumes for how little value people place on junior engineers. If you won’t train people, and you won’t accept graduates of job training programs, it’s hard to see how you can ever have a sustainable pipeline. Many people would seemingly rather spend billions training AI than training junior engineers. (For the record, I don’t view these two options as exclusive)
2 comments

I agree that many engineering orgs did not give boot camps proper chance, but I do think it is important to be realistic regarding them. Generally speaking, Someone coming with a computer science degree is going to be a lot more well-rounded with much more breath and depth then someone coming from a boot camp.

It's not really a great comparison though in my experience. Typically, a good boot camp graduate will come away with a better ability to build real apps, but has a serious lacking in understanding algorithms, OS fundamentals, and many other things That important for Back-End development, especially.

I'm not sure what the solution is to the junior engineer crisis, but I don't think the solution is boot camps. Those have a great place, but if anything a junior coming from a boot camp is generally even more Junior than a junior coming from a computer science degree.

My hypothesis is that The computer science degree route is what will be most useful for juniors in the future. In a world where AI can do the basic coding and build the apps, I see the qualities in appreciating overall design and architecture, especially with regards to scalability. There could definitely be boot camps that teach that sort of stuff, but I am not aware of any that exists currently.

Many of the best engineers I have worked with don’t have a computer science or engineering degree. The business we’re in is writing software to support the company. Most of that is stuff they don’t teach in computer science: inter-personal communication, project planning, coordinating, gathering requirements, writing. Learning computer science fundamentals helps but is in no way required to get started. This is a trainable job like any other. Many boot camp grads bring a lot of those skills to the table already.
It just depends on the job at hand. If the engineering is very easy, and most of the work is gathering requirements and coordinating, then it's as you say. This is what Java was invented for, and I've been that person. But it's not the same as being a really good engineer (which I'm not).
You are assuming that you can't learn that stuff on the job. There is nothing in a computer science education that is not available to learn on the job and in reading and experimenting on your own over some years.

By contrast, a not insignificant number of graduates of computer science and engineering programs struggle to excel outside of writing code. That is only a small part of the job.

I'm not assuming that, but I'd argue that learning theory on the job is much harder than learning interpersonal on the job, as being on the job biases in both of those directions.
I agree with everything you said, but I do think there is a difference betwee "required" and "optimal." I worked with a guy who went to boot camp after switching career fields and had absolutely no CS background. After starting the job (and excelling), he started reading text books from a CS degree plan. He learned more about CS in a year than many people with 4-year degrees, and he became a formidable dev. However, most people aren't that dedicated/willing to learn.
> Generally speaking, Someone coming with a computer science degree is going to be a lot more well-rounded with much more breath and depth then someone coming from a boot camp.

In my two decades in the industry I've used my computer science education maybe twice.

Interesting, I use stuff I learned from my computer science frequently, especially regarding algorithms, data structures, and OS fundamentals. Granted I'm much more on the backend/infra side, but those things still come up regularly. Just yesterday I faced an issue regarding the way threads operate that a basic understanding of processes and threads in the OS made a lot easier.

It's nothing that a person can't learn outside of a CS degree of course, but most people won't spend the time to dig into the formal and often abstract principles to really understand how different algorithms perform and how choice of data structure impacts performance. I've reviewed code many times that really should be using a linked list or tree but ends up thrown into a hash because that's basically the only data structure the person knows. Not uncommon is a reply "Premature optimization is the root of all evil" which drives me crazy. It doesn't take much effort to just use the right data structure in the first place if you understand their pros and cons.

I don't think I'd go around telling people that. My education has been very helpful, and knowledge sticks to knowledge your whole career. To think you learned nothing applicable in a 4-year CS program honestly tells me more about you than industry.
It's almost like... there are many different projects developers work on, and you've somehow "specced" into a sub-profession where your undergraduate degree was helpful (whatcha doin' over there, reinventing hash tables? Haha I joke. But seriously. .... Reinventing heaps, right? ;) )

Don't diminish people for arriving at software from a different "angle", or doing different things. We're in a highly intellectual field, and the implication that doing "pure CS" is somehow a higher or more valid form of software development is just ridiculous.

I'm a web developer. I've never written a hash table, heap or bubble sort. I just use tools provided by the platform. But I've found it helpful to understand the tools that I'm using, and can't really imagine any programmer who wouldn't, unless they've never connected the dots between the theoretical knowledge they obtained and the tools they use every day to do their job.
Well, I think you're taking the other poster too literally. They probably mean "I've used the knowledge I gained in my computer science degree, MINUS the knowledge the average developer who doesn't have a CS degree, maybe twice".
Isn't the end result exclusive?
Possibly