Hacker News new | ask | show | jobs
by memorydial 495 days ago
The decline of entry-level roles is worrying. Companies are optimizing for immediate productivity but forgetting that juniors grow into seniors. No training, no pipeline, no future talent...
3 comments

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)
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.
Isn't the end result exclusive?
Possibly
As it has always been, at least since I am on the job market, early 1990's.

In the little Iberian Penisula, you would seldom get a training, and being hired as junior without experience in what folks were already doing, was through connections as it usually happens in more "flexible" cultures.

And better have a degree on thee field, either technical school, or higher education.

Trainings? That is for us to do at home instead of watching TV, lets not diminish company profits, someone has to keep their audis, volvos and bmws for management roles.

It is not only due salaries that so many emigrate.

<< Trainings? That is for us to do at home instead of watching TV, lets not diminish company profits, someone has to keep their audis, volvos and bmws for management roles.

The 2nd hand expression of this I heard was along the lines of: you should already have a portfolio of projects to show, github with stars and/or significant FOSS contributions.

I read the article and it made me realize how far we moved from that model. Apart from everything else, my own company's training is generic training intended to check the box..

as an employer, it's not about us being unwilling to hire juniors. it's that juniors these days demand too much salary for their position. especially for a small startup like ours, we can't afford to match FAANG company salaries. if juniors want a chance, they should be ready to accept low salaries.
Every senior developer is still a junior developer depending on the domain at hand. If you want a lateral move into another job, imho it is ok to take a pay cut and become a junior again, e.g. webdev into C++ games. I don't see why people are scared of temporarily taking pay cuts but it has always been the nature of being a dev.
I'll work for minimum wage if you're going to offer me the kind of training described in this article