Who Killed The Junior Developer? (medium.com)
Melissa McEwen, writing on Medium: A few months ago I attended an event for women in tech. A lot of the attendees were new developers, graduates from code schools or computer science programs. Almost everyone told me they were having trouble getting their first job. I was lucky. My first "real" job out of college was "Junior Application developer" at Columbia University in 2010. These days it's a rare day to find even a job posting for a junior developer position. People who advertise these positions say they are inundated with resumes. But on the senior level companies complain they can't find good developers. Gee, I wonder why?
I'm not really sure the exact economics of this, because I don't run these companies. But I know what companies have told me: "we don't hire junior developers because we can't afford to have our senior developers mentor them." I've seen the rates for senior developers because I am one and I had project managers that had me allocate time for budgeting purposes. I know the rate is anywhere from $190-$300 an hour. That's what companies believe they are losing on junior devs.
I'm not really sure the exact economics of this, because I don't run these companies. But I know what companies have told me: "we don't hire junior developers because we can't afford to have our senior developers mentor them." I've seen the rates for senior developers because I am one and I had project managers that had me allocate time for budgeting purposes. I know the rate is anywhere from $190-$300 an hour. That's what companies believe they are losing on junior devs.
... of lack of experts. It's bullshit, as we all are aware of. Because companies don't plan long-term anymore, the lack innovation power in the short and mid-term. However, I see many positions for junior developers recently. This is the web field in Germany, so YMMV. Those companies that see the light and accept that you have to build a quality staff will remember junior and senior positoins. Those who don't will expect to hire magicians in an instant and fail miserably.
We suffer more in our imagination than in reality. - Seneca
Tata, Accenture, Cognizant, Infosys, IBM Global, and other firms have contributed greatly to the decline of junior developers.
"Forget the engineers." -Carly Fiorina, briber of MIT Technology Review.
at least in the States. The H1-B program requires companies try to hire a local employee first. The rules say they can only have an H1-B if no qualified applicants are available. So everybody becomes a "Senior" developer and since there aren't enough people with the necessary credentials (there never are) they can always apply for an H1-B. This is also why companies don't pay to train anymore.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
I personally stopped bothering with most corporate applications. Why bother? You rarely work for the company, generally you work for an agency that pimps you out to a company and parasitically leeches off your low pay. The sign up process demands you give them your personal information which is a loathsome thing. They will not let you work from home, they won't let you actually develop a project but rather just work within an antique system someone wrote long ago, upgrading or rebuilding with modern technology like nodejs is out of the question. Most of the time you will be in an very uncomfortable corporate culture and must alter your personality to be something your not to fit in. All in all, it is not worth it unless they pay, which they do not.
To top it all off they are the same people hiring out all the jobs overseas so the idea of working with such traitors is inherently disgusting on a moral level and to my patriotism to my country.
When I went out and started to look for the smaller projects, ones being offered by startups, or ones for a singular smaller business like car dealerships etc that is where I found gold. Hone your skills, be the leader (though generally only programmer) on each project and get a real grasp of elements and techniques to make things work. Giving such technological edge to local businesses, helping in such a way feels good and it is something I want to do for the rest of my life.
They should be so lucky to find someone like me who has been digging around searching and discovering for so long and with such passion, and they never will because I no longer would give them the time of day if they begged me.
HR did.
Captcha: massacre.... yeah, that matches the "HR"...
First of all, companies love outsourcing in this globalized world in that there are more variable expenses rather than fixed ones. MBAs can tweak numbers all day along and get maximum profit. That makes long term relationships tricky, including the hire of juniors.
Second, employee retention is hitting a very low mark these days. I read on slashdot that everyone should consider a job change every two years in order to get a nice pay rise (>20%). If you stay in the same company for a long time, you are getting screwed (pay rise 3%). Playing devil's advocate, who wants to train juniors that leave after one or two years for a higher pay?
HR is to blame because they have unrealistic standards. It's like a guy that is a "4" that will only date women who are a "9 or 10", shares all the same interests in Star Wars (but not Star Trek!) and is rich being caught off guard because "there are no women to date!"
Stop looking for developers that are willing to take a pay cut and know exactly all the things you are looking for in a candidate (especially the technically incorrect ones like 10 years with PHP 7) and surprise, you'll find there are lots of people that fit that category!
Anons need not reply. Questions end with a question mark.
Why even consider this 'Junior Developer' nonsense, they can't get jobs because they are women.
I don't see any shortage of them..
There are plenty of junior coders out there. When a market for talent becomes saturated why hire just anyone. And it's a global market for coding talent now. Hopefully you were interning or in a coop program or working summers, or you were working on open source projects or volunteering or training yourself on current technology - if you thought getting a degree was all you needed, think again.
Summer in SV is full of interns hardly paid a poo. Add to that a sprinkle of H1-B and its a bad moon rising.
Companies take interns, and after their internship period is over, decide to hire them. Now the company isn't taking any risks with a fake junior developer, they can hire one that has proven themselves.
... That's what companies believe they are losing on junior devs. ...
... but "investing in"
They want experienced developers just out of school. "Long-term planning" in these companies is equivalent to "What's for lunch?" Yeah... that'll go far.
HR works for management. They get the requirements for jobs from management.
Blaming HR is complete nonsense.
I know, I've heard managers blame HR but it's because they are too chicken shit to fess up to their incompetence.
Every manager wants to have people to "hit the ground running" so they can make the deadlines that were forced upon them by their managers or deadlines they over promised to get their bonuses at the end of the year.
See, most tech managers are former techies who went to some weekend classes taught by charlatans and therefore are completely incompetent. This desire for "rock star" programmers is to cover up for unskilled and incompetent management.
People like to pick on managers here, but a competent and skilled management team can do wonders.
I hate to break it to you, but all of you guys with less than 5 years of experience are Junior Developers. You guys just fell for a common industry trick where your employer gives you a better title instead of a raise.
They give a list of 10+ requirements that you are already supposed to know.
The problem is caused by a large number of applicants. They get 1000 applicants and need some way to winnow it down. So they give ridiculous exact requirements, trying to get someone with exactly what they need. But that person already has a job - probably paying more than what they offer - or is such a jerk no one would hire them.
It's the equivalent of saying "I want to hire a junior mechanic that has 5 years of working on a 2012 Porsche, a 2012 BMW, and a 2012 Jaguar."
The only people that meet the requirements either already have jobs or are shmucks.
Half the requirements and TRAIN THE PEOPLE to do the job. Any job that takes a smart person more than a week to learn how to do 90% of the work should be split into two jobs.
excitingthingstodo.blogspot.com
...they're just not called "junior" positions any more. I went to a coding bootcamp in 2016, and about 95% of my cohort got coding jobs within 6 months. The startup I'm at hired me, and then two more bootcamp grads over the following year. None of us were hired for positions that were labeled as "junior" positions. It seems there are still plenty of companies that need developers to do work that as technical, but not necessarily innovative or extremely challenging, and know how to take on a promising junior dev who needs some, but not tons, of mentoring. Yes, junior devs I talk to also feel they have a hard time finding a job. I usually remind them that searching for jobs is often a dispiriting endeavor, and that imposter syndrome is rampant among new coders. If they keep at it, many of them still do find jobs.
Yeah, they'll work you hard, maybe 60+ hrs/week. So what, you're in your early 20's, and you should learn a ton too.
The company I work for is _finally_ starting to take back work from offshore companies after realizing they were being left with an unmaintainable mess...and this took almost 10 years. Lots more companies are still addicted to cheap coders. That's where all the onshore junior developer jobs went when it comes to custom applications and software.
The other thing that's happening is software as a service applications that are good enough out of the box to not need as much dev work done on them Things like SharePoint Online and Salesforce.com are good examples of this...plus every single corporate niche application (travel, scheduling, etc.) are being targeted. The best a junior developer can do is get hired at one of those companies, but they tend to use offshoring or other cheap soiurces of labor.
It's not a good thing, because we really do need a bunch of new recruits in the pipeline who are capable of learning and don't mind spending time gaining experience. Companies want people to jump from freshly-printed CS degree to rockstar full-stack 10x developer, and it's just not possible without real-world, low-level experience.
Junior developers seem to all want to jump on the technology du jour they've heard about from Google or Facebook. The problem is: Google and Facebook have only a limited number of junior developer jobs available. Other companies have different technology needs, more often than not needs for projects operating at much smaller scales. These needs are poorly met by technologies designed to operate at Google or Facebook's scale.
Got a guy like that where I work now. Great guy but he just won't shut up about Kubernetes. We have 36 servers in the production environment, each of which does something different using different software. Kubernetes is the wrong tool for every job we have.
Until they get past the compulsion to use the Latest Greatest technology, developers limit their usefulness.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
they can also set an low pay rate the USC will not take say $50K in the bay area for an 50+ hour work week. to get an H1-B in as well.
Junior AutoCAD drafters are no longer required because the software automates many of the tasks that they used to perform. So, insufficiently-experienced juniors get "promoted" to more senior positions while the old farts get laid-off because why not? They're too expensive anyway.
Well, this is what happens if the work hasn't already been offshored to India or China in the first place.
Ever try mentoring someone who is 12 time zones away and asleep while you are working?
Interesting article, but I think my life exemplifies this particular problem, and highlights the reasons behind the problem itself.
Tools.
Imagine two plumbers. One master experienced plumber. One junior plumber. Maybe the junior helps speed up the master, maybe he doesn't. In either case, the master plumber can only do so much alone.
Then we add really good plumbing tools (welders, wrenches, et cetera) into the mix. Now the master can do a lot more. As a result, these advanced tools become justifiable. With the master using advanced tools, the gap to the junior is a) even bigger; and b) easier to close with the tools. Master teaches junior to use advanced tools, junior becomes much more valuable.
I'm not a plumber. I'm a senior (owner) web developer. Our industry is very different because our tools work very differently from welders and wrenches.
In programming, our tools consist of elements that are actually far more complicated than the programming itself. Simple programming has always been simple. But IDEs, APIs, version control systems, development mirrors, and the like are actually far more complicated than logo and javascript and html ever were.
A wrench makes turning a bolt easier. An API makes turning a thousand bolts easier than turning ten manually, but APIs are far more complicated than turning one bolt.
This leads to our senior developer's advanced experience being less about experience in programming, and more about experience in how to program. This has a few complications:
First, that kind of knowledge is much more difficult to transfer -- its conceptual, its layered, its abstract. While it's likely that any junior plumber can be taught to use a torch very quickly, it's unlikely that any junior programmer can be taught to use an IDE without months of practice.
Second, and this is back to that gap from before, the senior programmer with the senior experience is far too valuable using that experience to warrant the effort to teach it. A senior developer with senior tools and senior experience, properly motivated, might be more productive than a good team of a 100 good juniors, and that's if juniors can do the job at all. Asking a senior to teach a junior is basically like saying you have no work for the senior for the year it'll take to teach a junior anything worthwhile.
Third, and this is the problem that is especially my problem, I don't want to work that hard. It's easy for me to work as a senior programmer. It's easy for me to do the work and get paid and move on. It's easy for me to charge a lot, take a lot of responsibility, and take a lot of time off. I'm fast, I'm efficient. I really don't have any interest in teaching humans. I chose a career where I tell machines what to do, in part because I have zero interest in motivating humans. Over the years I've hired junior developers, I'm fired junior developers, I've hired my own boss, I've hired sales personnel, I've hired advertisers. In the end, I've shed them all because I simply want to program, and I don't need any help with it.
The article concluded that it's an industry problem. Maybe it is, but I see it differently. It's a senior's solution. This is what I'm doing. I like what I'm doing. What I'm doing works for me. I'll keep doing it.
When it comes to entry level applicants it is very difficult to discern the wheat from the chaff by reading resumes. It's better to have your team attend a job fair and do face to face interviews with dozens of hopeful candidates than to dedicate an entire day to interviewing a single candidate (save that for those who ace the job fair quickie interview).
The companies I've worked for (mostly larger) have plenty of junior devs (full-time, not intern), usually hired straight out of college.
I suspect these people just aren't looking in the correct places.
If we had unions with apprenticeships! and then we will not have this issue.
Defense contractors are hiring like crazy right now. They pay for high quality training of new hires and are an excellent place to start a career. It's not a startup culture, with long development times and processes geared to high quality code instead of banging out the next "big" idea. However, the pay is good, the work is interesting, and the job isn't going to get offshored.
It's much easier hacking websites to put coin miners on them to get a real job. Same thing is that people get jobs at malware companies because legitimate companies don't want to employ people who have studied for years at college and have hundreds of thousands in debt and are still not "experienced" enough. Also people would rather write yet another text editor instead of writing a real Photoshop replacement for Linux.
captcha: truest
...the fact that even at a low wage, heck, even free, a junior developer is going to cost so much of a senior's time to mentor and clean up after that they end up being really expensive.
Then when they get to be worth a shit, instead of sticking around for you to recoup your investment, they rationally take a job at higher pay somewhere else. You could raise their wage to keep them, but there's no incentive to train them up then. Why would I invest in a junior when I can poach a senior?
The only way I got into the business was that I had shipped 3 titles that I had done all the design and engineering on. The code in them is a shitshow, but all the employers saw was a completed game that had made money. This is what a businessman cares about, and businessmen are the ones cutting checks.
The story summary after this one has the following headline: "US's Greatest Vulnerability is Ignoring the Cyber Threats From Our Adversaries, Foreign Policy Expert"
A quick skim of the comments on Slashdot shows almost all the Anonymous Cowards and a significant number of the identified commenters think it's the job of the US government to get the hell out of the way of business and watch it turn America into some kind of libertarian utopia.
Sadly, this is what happens instead. Business won't provide entry level jobs for the best and most talented young computer people, because "Fuck you. Our only mission is to enrich our shareholders and society can suck it."
So those bright, talented young kids find somewhere else where they can make a buck while they develop and exercise their skills.
I've calculated my velocity with such exquisite precision that I have no idea where I am.
> Gee, I wonder why?
I'm betting it has something to do with this attitude.
If the rate is anywhere from $190-$300 an hour then I'll gladly do it for even half off. I'm all for paying experienced developpers more but c'mon, I'm living comfortably on about a tenth of that range. Seriously among the ~40 senior developpers I've personally worked with, only 2 of them were truly skilled and could justify their salary, unlike the majority who were called senior because they've been at the job for 10 years.
Steps to profit:
0. Hire immigration lawyer to manage steps 1-5 below.
1. Hire one H1-B worker, or maybe hire a foreign student.
2. Ask this worker for a list of friends/relatives that would like to work for us on an H1-B
3. Write job descriptions so specifically matched to people on this list that no one else can possibly qualify
4. Advertise job in USA, knowing no one in the US will be qualified
5. Hire H1-B workers.
The other things people mentioned are certainly a factor. But I think another factor is education. The "computer science" degree is what people normally study to go into a programming profession. But I've found the education typically rather lacking... people coming out of schools may know a couple interesting algorithms, but they don't know anything about software design, architecture, communication systems, or teamwork/planning. In addition, no one really learns how to be a true "author" of software. Most developers I've worked with (even senior ones) have no very little ability (and often times interest) in coming up with proper function/class/variable names, for example. Written code needs to be understood, maintained, and compartmentalized (for re-use and testing). There's process around code development as well (from code reviews to task/project management, to testing)... it'd be good if students were exposed to different ways these can be done, and the pros and cons each. These skills are just as important (if not more so) than understanding the syntax of a language or the details of how a hash table is constructed.
After growing up in the valley in the 70s, programming computers off and on throughout my childhood, teens and adulthood I had to take an intern job in my mid-30s to break into IT. I was making $12.50 an hour (working two other jobs, nights and weekends), but I was working at a Fortune 50 company and doing all kinds of large-scale, 'important' stuff. Not just making buttons cornflower blue. Interesting applications, complex algorithms, tons of cross-domain implementations (proprietary manufacturing and logistical systems). Frankly it was super fun.
I made senior in less than a year after being hired full time. I was lucky to have been successful enough in my previous career that I had purchased my house in cash. But if I had had more acute economic concerns, I certainly would have not been able to afford to be a low risk intern while I proved myself.
The only guys around here that get snapped up in their early 20s are the CS grads from Georgia Tech (I don't know a single guy from Tech who is anywhere remotely near poor). Everyone else had to work the ops desk, regardless of their GPA, and hope that demand was in excess that they'd get shifted over to the dev side and knock it out of the park.
When I think back, a lot of 'junior dev' assignments were classes of code that had clear specs and were mostly just doing CRUD on the back end. A whole lot of boilerplate code. Code that is now pretty much replaced by some MIT-licensed library in Maven/PyPi/Rubygems/NuGet, etc. At one level, it should make a junior dev more productive... "just reference the library". But, remaining tasks left are closer to the business logic, more open-ended, and generally higher-level architecture questions.
The 'getting started' pipeline problem is even more obvious in the ops/sysadmin realm. I picked up my UNIX chops through installing bare-metal servers, configuring BIND domains, Apache, Sendmail, etc. Junior dev tasks. Now... why would you run your own DNS? Make an API call to a provider, automate it, and scale x1000. Manage a giant fleet with Ansible or Puppet... great. Now, we go heavy into containers. Great.
But, I haven't met many people who were very good with containers or Puppet who didn't first have 10 years of basic sysadmin. But, those tools have obviated the need for paid entry-level jobs getting that 10 years of basic sysadmin knowledge.
Our formal education system doesn't help. I look at the computer classes on offer at my local Community College and weep. 3 hours of C++... for loop and data structure... write some itty-bitty bit of code. Great, the fundamentals. But, that's all they ever get. What I need... check out from Git, read a third-party's API definition, and add a little function into an existing large codebase based on some huge framework. Oh, and/or write a test for that addition too, please. We're finding that the bootcamps (at least, the best of them) are more connected to real-world needs than most US colleges and universities.
We have lots of Junior developers, but not in our country. Junior devs are nowadays hired only in cheap countries.
Junior developers, especially out of college, will break more than they fix for the first ~4 years. Why would a company want to shoulder that burden, just to have the self-absorbed millennial believe they're getting screwed over the entire time because they're so special and leave the moment they start to break even? The only junior devs worth hiring are self-taught teenagers - formal education and code don't even mix, it's just brainwashing of impressionable youths with Java development standards nobody in any productive (e.g. non-educational) environment would be caught dead using plus a generous helping of extremist liberal political ideologies which create intra-office strife when your ideal employees are a bunch of tech-absorbed autists.
I recently retired (as a senior developer) from a very large technology company that, in recent years, pretty much ONLY hired "junior developers". "Recent College Graduate" was the term used, and even then it was difficult to find promising candidates. The company also "strongly encouraged" hiring of women and "underrepresented minorities" (that is, not from India or China). I was not a hiring manager, but I did interview candidates and reviewed CVs - nearly all of them were from foreign-born applicants.
Yes, the senior people such as myself were expected to train the newcomers, and we did, gladly, because we wanted there to be continuity in the product development. In my conversations with peers at other firms, it was largely the same - junior programmers were much easier to get hired than senior ones.
If I could offer one piece of advice to aspiring software developers, it's to look outside of Silicon Valley. There are lots of great opportunities at companies with offices in the south, midwest and northeast. We were not looking for specific skills, other than being familiar with C or C++. (None of this new-age Python or R crap...) Nothing you learn (other than basic programming) in college is directly applicable to the real world of commercial software development - we'd teach you what we needed - but finding people willing to move outside of the west coast comfort zone was very difficult.
That said, we did find really great junior people who are well on their way to becoming the senior developers of the future.
Junior developers generally need good specs, narrow goals, well specified tools, well-defined tests, etc.
And those are *exactly* the sorts of tasks that are very amenable to out-sourcing.
It's pretty hard for companies to justify spending $60K on a junior developer, when they can purchase the services of someone with roughly the same skill set for $10K and get fairly similar results.
Of course, foolish companies feel they can also replace the $100K developers with a $10K developers, but that generally ends in tears fairly quickly.
But on the senior level companies complain they can't find good developers.
I'm a senior developer. Here's the problem as I see it in the senior recruitment arena: The majority of company HR departments and recruiters are bad at recruiting senior developers.
The modern tech landscape is filled with hundreds of different technologies technologies and tools. HTML, CSS, Javascript, hundreds of Node modules, PHP, Ruby on Rails, Linux, Windows, OSX, C++, Java, Python, Go, Rust, Perl, Git, Agile, Waterfall,.... the list is immense. No two companies use exactly the same tech stack but HR's job postings ("Required: <specific list of 18 technologies>") indicate they are filtering for someone from a company that does. It is reasonable for employers to expect that new technologies can be picked up on the fly but employers either don't seem to recognize this or are demanding someone who is going to be productive on hour 1 of their new position.
Another problem is that many recruiters and HR people think in terms of "years of experience" with each technology. This is a rather meaningless and often un-quantifiable metric for an engineering job. Example: I use Perl maybe once a month in the job I've held for the past 11 years, but only for a day and to write some "run once, throw away" type of script. I've known Perl for 20 years. How many years experience is that? There's no standard answer and no way to answer in "years of experience" that doesn't involve a lot of explanation and make the answer useless for comparison purposes - but someone who says they have 20 years Perl experience passes HR's resume filter while the more honest and nuanced answer does not.
Successful tech companies do not care about finding an exact match for their tech stack. They look for problem solving skills.
When I can hire an experienced foreign worker for the same amount?
“Common sense is not so common.” — Voltaire
The newer guys at my company wouldn't shut up about Amazon Lambda (not to be confused with actual lambda functions). No matter what the question, their answer was always "Lambda!"
Tiring of "arguing" with them all the time (shooting them down), I eventually let one proposal proceed to the point where they scheduled a meeting to discuss how to move a certain project to Lambda, with management present. It was a process that handles processing a data feed from Microsoft. In that meeting, I didn't shut them down right away. I let them talk about the many benefits of Lambda vs the current system, mainly scalability. And ... scalability. Yeah pretty much just scalability. After they pitched it pretty hard, I asked "so the main driver of this, the primary reason to take a couple of weeks to rewrite this using Lambda, is for massive scalability, right? It could run thousands of times per second, right?" "Yep, that's the great thing about Lambda", they said. "Our current implementation can only run about once per minute, right?", I asked. "Yeah, the current code takes a minute or so to run". "And what it does is process the Patch Tuesday data which comes out once a month, right? We need to run it once a month?" "ummmm....". "We need to scale in case Patch Tuesday starts occurring thousands of times per minute?"
After stammering for a minute, one of them piped up with a great answer "we'll be able to parse more feeds, from other sources!" "True, that might be good", I said. "Our current system does four feeds. It probably can't handle more than about 500-1,000 feeds. Over the last six years, we've added a total of four feeds. How long do you think it will be before we have more than 500 feeds and need something more scalable? 25 years? 50 years? 200 years? Should we plan on building something that can handle 500 feeds and schedule to that project 50 years from now?"
I haven't heard a word about Lambda since then.
What I HAVE done since then is found a good pattern to maximize the productivity of the team, seniors and juniors combined, while making my job more fun. Some trivial problems the juniors just handle. Anything that might benefit from a senior developer's attention, I look at at make some notes about generally how it might be solved, and any traps that may be lurking. I might include a link to a certain third-party module that may be useful. Then the junior person has my notes pointing them in the right direction. At each morning scrum, I remind the team that I *love* helping to solve problems and helping people understand things they are having trouble with. So they reach out when they hit a wall or need help choosing between two options. Then when they finish the task we do code review - I, or another Senior, looks over the code and makes suggestions as needed. The junior guys handle the details of actually implementing the ideas I suggest. They write the unit tests. They fill out the change request forms. All the bureaucratic red tape is theirs. It works great. I can guide five to ten times as much work as I could do myself. Their code isn't quite what mine might be "in the small", but the approach they use, the overall design, is either what I suggested, or something better they found. Code doesn't go to production with glaring errors that would be obvious to me, because I've looked over all the code, and made a unit test policy. It works quite well.
So junior devs work out nicely in my system, IF they can do one particular thing right - know when to ask for help. Don't ask me AGAIN the same thing you've asked me ten times, knowing the right answer but just lacking confidence, and don't go charging ahead when you have no idea wtf you're doing. Ask when you need to ask, and not when you don't. If they can do that, a team of junior devs and senior devs who have a solid system of working together can be very productive, multiplying the benefit of the Senior dev's experience. My company also isn't paying me senior salary to fill out change request forms and crap. The juniors can do that, based on the documentation that I wrote for them.
When I came out of school, I had theory and the experience of writing (on my own) a compiler for a largish subset of Ada 83, a cross-assembler, a couple of device drivers, a few minor device firmwares, and various assundry other useless classroom exercises. That was enough to have put me on my school's team for the ACM regionals. As a Computer Engineer, I had also designed and constructed devices and could quickly make designs without having pre-made boards like Raspberry Pis in existence. But the reality of the difficulty of accomplishing a design that also met reliability, manufacturability, and other real-world goals had not yet hit.
Within days of starting work as an Associate Engineer in Avionics, I understood that I had gone to school from ages 4 to 21 to get the learner's permit that would allow me to start learning how to design and program real-world systems. It took about three more years of 90 hour weeks with unbelievable financing and toys (the lab I was in probably had over a billion dollars of hardware) to play with to reach a level that I would consider a competent systems engineer.
In that day, virtually everyone spent their first years in corporate environments that gave you a year or so as an Associate Engineer contributing nearly nothing and two or three years as an Engineer barely breaking even in the contribution to project versus cost of mistakes equation before becoming a truly useful Senior Engineer. If we've lost that level of corporate training to season the college output, we might as well quit.
Everyone wants to accelerate the process and hire only the mythical 10X engineer. A couple of big companies setup processes that eliminated most applicants, because that had too many good applicants. A bunch of copycats decided that this method was the best method and copied it. Now there are not enough 'qualified' people. Give me a break, companies stopped investing in people is what happened.
They just don't call them "Junior Developers" any more, it's considered demeaning. Just like we can't call people "janitors" or "secretaries". In IT we call them things like "Network Administrator 1" or "Systems Administrator 3" to create pay bands and allow for personal professional growth. We use a matrix to tie things like traditional education, industry certifications, years of professional experience, annual evaluations and tenure with the organization to move them up.
My company explicitly states that it's our job, as senior developers, to farm the crop of new junior developers. And FWIW, we've seen enormous success from hiring inexperienced (but talented and eager) new engineers and mentoring them in the ways of our world. The main difference between me and a new kid out of college is that I've made a lot more stupid mistakes than they've had time to. I share my experiences with them, and they share their excitement and willingness to try new things with us. If I can play a small part in helping them graduate to a senior role - either here or elsewhere - I'll consider it a personal accomplishment.
We did our time as juniors. Now it's our turn to help the next cohort learn the ropes.
Dewey, what part of this looks like authorities should be involved?
Decades ago, when the Earth was young and we slew the dinosaurs with our might slide rules, I attended a Digital Equipment Corp symposium. There was a Q&A session there with the leading lights in real time device driver development, including the maximum leader of device drivers, Ralph Stamerjohn. During the Q&A, a user in the audience, concerned about training new real time driver writers, in environments where mistakes can be deadly (he worked with industrial robots)., asked "What should be done with new device driver programmers?" Ralph Stamerjohn grabbed the mike and said "take them out and shoot them". From what I've seen of new driver writers, his advice was spot on.
There is no God, and Dirac is his prophet.
Lots of software managers are looking for "rock stars" for their teams. Despite the behavioral facts: - rock stars tend to be in-your-face-public with their ideas (prima donnas) - they show up, then trash the environment (prima donnas, again) - leaving a total mess for everyone else to sort out. And if you are the 'everyone else', you get downgraded for not being 'a rock star'. - the hiring criteria seems to be not what you know/have done AND delivered, it is how well you take their tests, how arrogant you are during the interview, and how well you take the tests when the interviewer did not read your resume. This is even more difficult for a Junior developer without a PhD, or are a bit more humble. The interview process can be intimidating just out of school. Candid suggestions: unless you have a PhD or a pile of patents as sole inventor, don't waste your time interviewing for software with AMD or NVidia.
I think JR Coders that sincerely enjoy coding and intend to code for their career are golden and extremely rare. Most JR developers that apply for the job don't actually like coding. I mean they are super smart and very nice, but their heart isn't in it.
If you 22 years old and you actually like coding and you actually code for fun and you actually think you think "wow people actually get paid to code" then a lot of places will give you a shot.
I am not saying it will be easy... you'll likely need to go to and present at local meetups - but if you really love coding meetups will be fun for you.
If you are just hoping to get into a place; get by for a few years; and then take a position as a PM, RM, BA... after a few years then it's going to be very difficult to get a position unless you have connections.
People that absolutely LOVE TO CODE are rare... very rare. All Junior Developers say that they "LOVE TO CODE" but only a small percentage of them actually LOVE TO CODE. Most Juniors are looking for a way to make a living. It's pretty easy to figure out which Senior Developers LOVE TO CODE and it's probably 50/50 for people with 10+ years of experience.
Is there any actual evidence that "it's a rare day to find even a job posting for a junior developer position" ?
That isn't my impression at all, and I don't see any facts in the original post or in the /. comments.
Imho
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
Taking on a fresh developer takes a lot of resources - not only do they need to learn company routines, all the tools, how to work with teams and how to actually do development in a non-school setting, but they also need to learn how to actually work: Show up, what's not acceptable for taking days off, how to interact with all sorts of internal and external stakeholders etc.
As the average time a developer spends before switching jobs decreases - apparently Job Hopping Is the 'New Normal' for Millennials - the commitment from companies will go down too. Why spend a lot of time and resources to groom someone if he's probably going to leave anyway? Why not just get someone who's past that in the first place?
How about; the industry, in the office, with the jar of tears?
More than half the developers over 50 years are out of work, while the juniors get all the jobs, albeit for wages that may be suitable for a waitress, but not for young adults with university degrees. The fake media often report a skills shortage that does not really exist, even though few programmers know how to write bug-free code.
I'm an engineering manager in one of the largest technology companies in the world. I hire engineers. The financial model imposed upon hiring managers actively disincentivizes hiring anything but the best.
How so?
When I submit my budget, there is a universal rate for all engineers, whether they are fresh out of school or 10+ years of deep industry experience. The rate is a placeholder, but it dictates how many people I can maintain on my team. When it comes time to fill a position, I'm going to get approved for the headcount, not for he seniority level. So if I can have anyone I want, I'm going to go for the best money can buy.
It's a totally jacked up system. And in a world where everyone is a senior engineer, we're now having to innovate career paths to set apart those who are "more senior than senior".
One thing I've noticed lately seeking employment related to my degree is this inane requirement to have a boatload of experience in order to qualify for a entry level/junior job:
Randomly
5+ years of IT experience
5 years of experience with some high end networking device no college or university is going to let a grubby student get close to
5 years of handling network device's management software
10 years of experience with Windows Server 2016, supporting 100+ users
If you meet at least half of the requirements, talk to us!
I could be wrong, but it's almost as if the company is looking for entry level for them and not actual entry level or junior anything at all.
As long as I've been in the workforce NO ONE wanted to train and grow their employees. All owners/managers want is one employee already trained to do the job of 5 on the wage of none.
PS I always make sure that I praise the Junior's work in a team meeting, rather than taking credit myself. They obviously wouldn't want to do the grunt work while I took the credit. Conversely, when I very much direct any praise their way, they often feel the need to "set the record straight" by pointing out that the cool thing was my idea. "I just had the idea, YOU made it actually work", I'll reply. I suspect it won't take too long for our new project manager to notice a pattern there. :)
On a different note, my initial post may have sounded arrogant. I'm not the best programmer in the world. We're ALL the biggest fish in a small pond, if you define a suitably small pond. When I'm working with the main Linux kernel devs, I'm the junior. Working on Linux kernel raid, I asked Neil Brown for guidance and certainly he (and others) reviewed my work. I'm a tiny guppy in the kernel pond. I happen to be "the biggest fish" (most experienced) at my particular office. If I went to work for Red Hat, I'd probably report to Florian Weimer and I'd be a guppy again compared to him.
This is partly an unintended consequence of job mobility. In the old days, you joined a company and stayed there your whole career. It made sense for them to hire junior people and invest in training them. Today people move around too much for that. A company hires a junior developer, spends a lot of money turning them into a senior developer, and then they leave and take that investment somewhere else.
It's a tragedy of the commons. If every company invested in junior people, the whole industry would benefit. But in that situation, any single company can get an advantage by only hiring senior people. They get the best developers and don't waste money on training. So every company follows that strategy, and the whole industry suffers.
"I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
just copy and paste the full job description in white text at 1pt in to your resume at the end.
People that absolutely LOVE TO CODE are rare... very rare.
You won't find them anywhere in the tech industry; people who truly LOVE TO CODE are all UNEMPLOYED. Tech companies do not pay coders; companies pay employees to bullshit, and whatever coding employees happen to do on the job is not the part of the job that pays. It's all about the bullshit. People who LOVE TO CODE refuse to do the necessary bullshitting to hold a job. People who LOVE TO CODE refuse to go to meetups and refuse to engage in social interaction. Look in the basements to find jobless losers who code open source all night and never get paid. Those are the people who LOVE TO CODE.
The problem is for most business programmer jobs after 6 months the junior developer thinks he is a senior developer and wont stay for the $75K you were paying.
Also most modern languages and platforms are easy enough that you *can* actually be senior after a year. Or at least know fake it using stackoverflow.
The main problem with hiring is the fact that companies look for too much technology specificity. For example if you have never worked with MongoDB (which is a famous non-SQL database), but have used any database including SQL databases.. or F it, i will even say never used a database but have done developer job for a year you can be expert-level proficient in using MongoDB within weeks. Yet when someone needs a developer to work with MongoDB they wont even bother to interview someone who has only worked with SQL databases.
Coding corporate crap is easy nowadays, but you do need a couple years minimum of training â" in college or outside. Online if you have the disciplineâ" though I guarantee you 99% of people who think they have such discipline don't.
Just hired one from India for the same price or cheaper
there are other visa programs for getting the best and brightest. H1-B is specifically to fill worker shortages in order to improve the over all economy. The argument goes that workers will not be displaced and the increased economic activity will help them.
In practice what happens is that the rich and powerful stop funding schools and training programs (since they have a supply of cheap, already trained folks from overseas). If you've got kids this is a big part of why their college costs $150k from a public University. It also depresses wages.
The H1-B program needs to end. No amount of reform can save it. It's intended purpose was always a lie.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Women are not that great of a programmers in general. There are exceptions (like women in MMA) but in general they just aren't.
Also working shoulder to shoulder with women is weird.
Causes a lot of tension and requires different set of human skill to co-operate in normal fashion. I didn't go into programming to be a "people's person" or to be "considerate to sensitivities" to anyone's sensitivities. I work with computers and I love it. If a junior cries after I tell her how her code sucks ass in a code review, I will start looking for another job. And my employer knows it. I prefer a male junior catching me and punching me after work, at least I know how to handle that situation.
The "Geez, wonder why" part is a little silly. It's not like people don't hire junior devs or that there's not enough open positions. It's the actual reality that there's a million entry level devs, including a lot of very, very low level ones (you can thank universities that cut corner, and crappy bootcamps, on top of the "self taughts" who really aren't, for that) flooring the market.
You can only train so many people at a time. The majority of people we hire at my company are entry level and co-ops. In a single cohort, we can easily have 25% of our software engineers be entry level of some sort. And we keep doing it. Still, we get an absolutely insane amount of applications (hundreds per day, and we only have 250~ engineers). We need these folks to gain some experience (or hire more senior engineers laterally) before we can take more in. That takes a while, when the ratio of applicant junior to senior can literally be 1000:1.
Not dead yet. The Junior is in the basement building an EMPIRE :)
[($)]
> If they hit a problem, I'd tell them to try to find the answer on their own for maybe half an hour, then come and ask.
I could probably do a better job giving people guidance on when to ask and when to keep trying themselves. Also encouraging them to sometimes try asking each other.
> Get their head around our application, source control, red tape, etc. Initially, every task I assign to them takes more of my time to explain and review than if I did it myself. Maybe I'll try to explain what I mean a couple of times
You were probably addressing two separate things here, but it occurs to me that we sometimes spend time explaining source control, red tape, etc. At a company I owned, and again at my current employer, we documented all that stuff using a wiki. I was actually a bit annoyed when my then-new boss wanted to spend so much time writing wiki docs for so many things, but it has paid off in short order. At my company, I told people "if you need me to explain something for you, it might be a good idea to make notes in the wiki." Not always, of course, but often enough, because there will be another new in six months.
Of course, his idea with the documentation might be that I would be documenting myself out of a job - writing down all the stuff that the cheap people will need to know so they can get rid of the expensive people. Hopefully the bosses see that the less-expensive engineers are a lot more effective in combination with an old guy who is practicing effective teamwork. I believe that's the cheapest (most efficient) way in the long run. I'm trying to make it so, and make it show.
And if he does actually deliver working code, which is a big if, what's to stop him from turning around and selling it again to your competitors or going into business for himself.
Sure. so what. it happens. You charge him with a crime. He gets deported. And you play some accounting games to help offset the loss of trade secrets. If your company depends solely on a project you would have gave to a junior developer then you probably don't deserve to exist as a company.
The Indians and the Chinese don't give a flying fuck about US laws
Most embezzlement is done by US citizens that are senior staff.
“Common sense is not so common.” — Voltaire
For my company (more than 100,000 employees) it is because of arbitrary headcount limits.
To upper management one factory worker is the same as another, so it makes sense to lock in the headcount for a site (say 500 factory workers) and put effort into improving efficiency.
Oh, and that little team of software developers in the corner? Same policy should work right? Let's limit them to a headcount of 10.
So what does the software team manager do? Of course he will always hire the best he can find. Graduates and juniors be damned - headcount slots are too precious to waste. Little does he realise that he will end up with a team of 10 very experienced but stubborn greybeards arguing over their programming religions.
There is a simple solution to motivate Seniors to mentor Junior programmers. Have a cap on the aerage salary for the programming team. If there are no less paid junior programmers some senior need to get fired to get the average down.
Voila problem solved.
Now you may say you will move to a differnt company but the whole industry is doing the same
You will say the work will not get done. Nope it can be done by outsourcing companies who do have senior devs invested in the success of juniors.
It just may happen that with the breakdown of society in the US , where everyone is out to get their own, such companies might be based offshore
**Life is too short to be serious**
There are no 10K programmers. Programmers in India are billed at 25-30 dollars per hour so around 50-60K. Its the benefits which prevent hiring junior developers at 60K to do routine work. Fix the Healthcare and Housing shortages and companies can again afford to hire junior developers. Currently companies hire junior developers just offshore and when thoe folks get good enough the companies bring them over on H1Bs. If the govt was to do a system like Germany where the govt pays part of the salaries of junior apprentices companies could still hire junior folks in the US.
Till then its H1Bs or kids who went to do startups out of college and survived on ramen for a few years while gaining experience who are available as mid level devs and junior devs will be offshore
**Life is too short to be serious**
They figured this one out and will down rank your score. Also the program looks for same description in each job
http://saveie6.com/
Nah, didn't sound arrogant to me. More like someone who actually knows wtf he's doing.
A rarity these days. Sigh.
They just don't call them junior anymore so you don't notice.
Some time ago I was hired to help improve the software department of an electronics company that was still very hardware focused, with a small handful of software developers who had moved over from the electrical design team to write basic control algorithms in assembler, and just starting to move into more complex programming in C. I put forward a proposal to hire 5 fresh grads from a computer science background into the team of 10 electrical engineers, as I thought that would be a manageable first step towards a more software focussed team, and the existing team was experienced enough to be able to absorb some juniors. Immediately management decided that I was being too cautious and contacted someone in government to arrange 20 grads that year, and 20 the following year through a government co-training program that would also bring some nice tax breaks to the company. It would have kept going, but by the beginning of year 2, the mess caused by this sudden influx of juniors without expanding the senior team to mentor them had become apparent even to those who willfully ignored the arguments of those who could foresee it. After another couple of years hiring juniors to match our replacement rate when we were starting to stabilize again, management declared that we would never hire juniors again, and would only need a small team of seniors as all the development work will be outsourced, and the seniors will just be managing them. So now we're in a dependent relationship with a body shop, and despite my warnings about the political games they are playing to make sure we stay dependent on them, management believes their PowerPoint bullet points over anything anyone in the local team says.
Todays graduates aren't as good as they used to be and need far more hand holding. What business is saying by not hiring junior devs is that they arent prepared to pay junior devs to have their hands held.
in the library, with a pipe wrench!
Thought this title was the start of a murder-mystery. My guess: Richard Stallman, in the library, with the lead pipe.
With people readily jumping between employers, the investment of a company to mentor a junior developer will likely not pay off. So you try to hire the people you need now, not the ones you need in the future. Increased mobility is also a consequence of more standardized technologies and development processes for "bread & butter" development like setting up web sites.
Whereas I would speculate that before people stuck longer with their jobs, so that if you took on a junior they were more likely to stick around and become an efficient senior. Or if you work within say nuclear plant control software, which would be more specialized and where you get paid for that specialization, you are more likely to stick around - plus you basically have to be taught on the job because it involves proprietary or classified stuff that you cannot learn elsewhere.
For a society and for the industry, not hiring and mentoring juniors is a really bad idea. However, this really goes back to game theory. You cannot expect an individual company to behave in the way that is best for the whole group. Which is why if you want to fix this kind of things, then some sort of regulation or intervention to shape the job market is required.
Who Killed The Junior Developer?
Professor plumb, in the kitchen, with the rope. Do I win?
... recruiters. The way a programmer, or any other worker, is recruited by commercial recruiters is always aimed at the highest level of certification.
Bach says it all.
In the past, the new grads were a lot more prepared. There was a lot fewer of them, but the demand was lower too. Since dot-com boom the schools of various quality produce more and more junior developers like pez dispensers, however the quality of education has dropped. A lot of programs don't even teach what a pointer is nowadays (heck, I had HR at one of my past employers - a very large software company - tell me to stop asking pointer questions as they showed up as "most stressful" in their post interview surveys). So, post a junior embedded developer position today, and get 2,000 resumes a day or two later, thousands more in the days to follow. They all claim to know how to program, all have the same courses on their resumes, but a whole lot of them when presented with "what is a pointer?" question they freak out and scream "discrimination" or some other social justice term of today's times. Weeding out such folks from thousands of resumes is next to impossible - no work experience and past projects to distinguish between them. It is much more efficient to pick good schools, hire interns from those schools, then fill the junior developer roles with past interns. That is why you often don't see the junior positions posted externally, they are usually filled with prior interns.
PS> Before any of you get offended because you are, or know of, very capable new-grad programmers; of course they exist, they simply get lost in the sea of mediocre or plain horrible ones.
>>Seriously, you have 36 servers and manage each one individually? That's not the most efficient way of doing things.
Yeah, true.
The most efficient way is to put it in the cloud and let Junior Hackers manage it instead.
They're free, so it must be very efficient.
aaaaaaa
Hire a team of Junior Developers and let them work together on a project. Their strengths and weaknesses will work together to tackle any project. Oh wait, I guess Millennials never learned what teamwork is, alongside critical thinking and personal responsibility.
The timeframe of the newly minted idiot, I mean "MBA" is the next quarter. Everything in their world is defined by numbers on a spreadsheet. Nobody is going to get into risky, costly things like training developers. Spreadsheets can (but usually don't) contain employee loyalty, corporate knowledge, customer goodwill, marketplace reputation or dozens of other not easily quantifiable factors that determine markeplace success.
MBAs like it easy. Really easy. Besides, they know that in a year, they'll be gone and someone else will get blamed and have to clean up the mess.
Please do not read this sig. Thank you.
The H1-B killed the junior developer. The skillsets are about the same, but the H1 is cheaper and disposable.
Putting up a post for a new college graduate, or junior developer is considered to be an age discrimination issue. Most new graduates are under 25 years of age, so by asking for that level, you are apparently telling the old guys that you are not interested in them.
HR has advised that we just post the position, asking for 0-5 years experience (how is that different?) and don't increase the pay if an over qualified person applies.
This is based on some court ruling I hear.
You can lose something that is loose, so tighten the loose item so you don't lose it.
It was clearly Obama. Right after he killed Santa Claus and the Dunkin Donutsan.
The guys saying that off shore is the only way to go.
ego. Ego killed the junior developer position.
Techies love to think of themselves as rock-starish, super-heroy, bar-raising brogrammers. And, tech companies like to feed and develop that myth because they think if they have the most brogrammery reputation, they’ll attract the top talent.
To hire junior developers – who haven’t proven their brogrammerness, yet – would be to admit that not only are there inferiors in their company, but that they don’t really need ever position to be filled by a demi-god. That would be disastrous to their reputations. The existing brogrammers would jump ship for a more brogrammery company and no new brogrammers would want to work there.
I did. He tried to get us to use React Native again.
I have 20 years experience. I work contracts because, well, I read the Reed Hastings manifesto. In the US, employers are not to be trusted and anything goes that is not in writing. I have worked contracts at big and small companies. I wouldn't want to work at any of these companies as a FTE. I accepted a conversion offer once at Time Warner and soon regretted it. After I converted I became their property.
It's not hard to find senior developers. It's hard to find senior devs that can drink the kool-aid without wincing.
In the Library with a PS/2 keyboard.
Programmers in India are billed at 25-30 dollars per hour so around 50-60K.
Really? I've been on the outsourced side of this, and we were told that if the off-shore team had to repeat the work three times to get it right (which is not all that unusual), the company was still saving money.
And this was in Canada, where the health insurance cost was pretty negligible.
Also, no H1B's, as the company ran it's own shop in India.
At $25-30, it hardly seems worth it, given my observed failure rate of off-shoring projects to be about 50%.
Thanks for this and the previous comments. Just what I needed to hear. Quit my company of five years recently, had enough of the constant stress because of ego/power tripping and dysfunctional communication.
Really hoping to for a better experience in my next gig. It's nice to hear a reassuring description from the trenches =)
What do you do and in what geographic area? I've had "good luck"* with all of my employment. If by chance I happen to know of a company in your area that would be interesting.
Certainly luck played a role, but I also turned down offers after investigating the company culture, and I think I've trained my bosses and those around me regarding what kind of working relationships I flourish in.
You answered your own question "the company ran it's own shop in India.".
Captives suck at the outsourcing. People who are sent from Canada to run the captive are only there to enjoy the expat lifestyle.
Local managers are are looking to get transferred to the home office. Noone is interested in building talent.
They will hire bottom of the barrel to show short term cost savings or pay premium rates to keep the work going on as long as they dont have to do the hard work of getting offshoring to work.
At 25-30 dollars per hour an outsourcing company can pay 10 dollars per hour to its developers (including benefits) Spend another 10 on management/supervision, sales, training and have 10 dollars as profit. These are averaged across 3 years. The first 6 months there is no billing and the next 6 months people are generally unbilled buffers. They only start billing in their second year.
The problem with captives is the huge salaries given to those sent as expats leave the budget lopsided
**Life is too short to be serious**
Maybe those junior developers arent so coachable and that they gonna have to do their own mistakes to open their mind. I used to be a team lead/core architect for a big insurance company betting strong on open sources technologies and it always amaze me how those junior developers think.
- They think if they know every gems, npm packages, etc... that it makes them smarter. Fact is understanding underlying technologies/protocols is a lot more useful so that you can think by yourself and evaluates cutting edge technologies.
- They think if they make a senior guy looks bad they gonna get some credits out of it. In fact they just waste everybody time.
- I was helping on hiring a few junior ressources. We wanted to bet on younger people. The development environment was far from being perfect in this company so I needed newcomers to help me out put stuff in place. I needed constructive leadership. Ended up firing all those guys and going full senior because they didnt have the skillset nor didnt have the capacity to acquire the missing knowledge. We were wasting our time managing a shit show people going out to smoke and talking shit instead of coming up with practical solution which is what we were paying them for.
To conclude maybe you should change your mindset if you want to find your first job.
Best way to do it in my opinion is create a useful personal project over github that uses a melting pot of the most trendy technologies right now something like reactjs laravel rails redis memcached mysql nosql etc... etc...
Also diploma and I am not saying its completely useless but in a practical world like information technology a guy with real practical and verifiable experience probably has the equivalent of many master degrees after 10-15 years so dont put too much focus on that stand out from everybody else.
Nowaday everybody has a fucking degree.
Ads for entry level developers (read: under 25) with 15 years of experience in 5 year old technology and they'd REALLY be happy if you had some familiarity with their 30 year old legacy systems.
I'm not sure if this is the same thing they are talking about, however it has to do with the general shift I think in how organizations hire.
I'll provide an example. I've been around a long enough time I guess you could call me pretty senior, at least insofar as I have knowledge no one else does as this point and am kept very busy because of that. One of the problems with many of my project is that I simply lack the time to dedicate to all of them as much as I should. One of the constant issues (and personal annoyances) I've seen over the years, is that every so often management will realize that I basically have too much work, and not enough time. They are also occasionally aware that if I get hit by a bus walking to work one day, apart from being a bit sad, they would have more than a bit of a problem with my sudden departure and the impact to our systems. So every now and again they assign a new hire, or backup, or some such junior position to try and mitigate some of those issues. I will then have to expend quite a considerable amount of my time (which is then impacting projects and my general sanity) to bring these people up to speed, train them, and get them the experience they need in order to have the knowledge necessary (which it would be less work for me to do it myself than handhold someone else to do it, which inevitably I am going to have to pick up the pieces anyway as I'll get into). However then what happens is because the organization doesn't do a good job to retain said individuals they eventually move on, usually to better positions, sometimes with little to do with what I got them up to speed on, leapfrogging up the corporate chain or elsewhere. Which to me is frustrating as after this happens over and over again I feel like I am just wasting my time which I could be spending elsewhere to basically help someone else's career options. Meanwhile we are left with the same problems, rinse repeat, over and over again. No one sticks around long enough that having that junior staff doesn't really help your future as they are gone. In the long ago past perhaps the corporate job market was such that they made a consented effort to retain and train staff. However now it seems that everyone simply just bounces around from position to position that it hardly seems worth it. In the end the organization is paying me to train someone who is going to leave anyway so why bother. Might be more effective to simply have me focus on my projects, and if in the unlikely event I get hit with a bus, just hire another senior guy and hope he can pick it up in a reasonable amount of time without too much disruption. Never mind the revolving door of management which can just play musical chairs with issues like this and hope the next guy gets it when the music eventually stops...
a) HR departments, who know, literally, *NOTHING*, and don't care to learn what the organization does, or what they're looking for..
b) I started programming in 1980. I was hired as a sr. programmer I. A few months after, I asked my buddy there why sr, and not jr. He told me they'd gotten rid of jr programmer jobs a couple years before... because jr. programmers were eligible to join the union.