71 ms·
Who Killed the Junior Developer?
- taylodl 9y agoThis has been going on for years. Back in the mid 80's when I was going to college I knew a lot of people had come back to get their masters are even change fields because they couldn't find jobs. Employers wanted 2-3 years minimum experience and the new grads lamented how were they supposed to get said experience? My first job I worked FREE for the first 3 months at a startup (they didn't have the money to make a payroll anyway). Ultimately that launched my career and got me past the 2-3 years experience issue. This was back in the 80's!
- danjoc 9y ago>the rate is anywhere from $190-$300 an hour Well there's your problem. Valley pricing. You can get Sr Devs much cheaper than that. Then you can afford to train up some juniors. I don't think that's the real problem though. Companies want you to take the risk/expense of learning a technology that might be obsolete next year. They'll pay you back in salary if you lucked up and mastered the right stack. If you didn't, then you keep eating ramen until you strike gold. The other problem is most Sr.s don't want a Jr. coming in and making negative contributions. Sr.s are frequently the ones doing the interviews. They see most Jr.s as "What's a computer?" level talent that will start fires in production systems.
- randomdata 9y ago> Well there's your problem. Valley pricing. You can get Sr Devs much cheaper than that. The article seems to be referring to how much agencies are hiring out their senior developers for. Which, $190-300/hr. does not seem atypical in that scenario, even outside the valley. The developers themselves won't be making anywhere near that much. Since this company seemingly makes its money by having the senior developers doing billable work for clients, the article suggests that the business doesn't want them spending time helping junior developers and thus not billing (or, perhaps, billing at the junior rate).
- ryan-allen 9y ago> The other problem is most Sr.s don't want a Jr. coming in and making negative contributions. Sr.s are frequently the ones doing the interviews. They see most Jr.s as "What's a computer?" level talent that will start fires in production systems. I think this is pertinent, when you're already too busy doing things and keeping stuff running, who has the time to handle a run-of-the-mill junior? The most successful launches I've seen is where a junior comes in and can already contribute _at some level_, this is always due to the extra curricular work they've done outside of their education (if indeed they had any higher level education at all). The spectrum of jobs out there allows a creative (or lucky, in my case) junior to springboard. Think of 'started out modifying and configuring wordpress themes, ended up writing some custom code and extensions, ended up learning laravel and databases' type of progression. You won't be working in bleeding edge AI or at Google on their self driving cars, but you'll be solving problems for people, and that's a career.
- fzeroracer 9y ago>The other problem is most Sr.s don't want a Jr. coming in and making negative contributions. Sr.s are frequently the ones doing the interviews. They see most Jr.s as "What's a computer?" level talent that will start fires in production systems. A system where a Jr can easily start fires is a system that's bound to fail. It means whatever you use for production is incredibly fragile and bound to be broken even by a more senior developer making a single mistake.
- deathanatos 9y agoWhat trouble are candidates looking for junior developer positions running into? Lack of openings? Lack of response from companies? Can't get past the interview? (Also, are these people advertising themselves as a "junior developer"? Perhaps this is just my experience, but I don't think I ever used that; I started my search looking for simply "software engineer" positions.) (One the one hand, one company I worked for doesn't seem to really have any junior developers, but we're also not hiring period AFAIK. Another company I worked for pretty much only hired interns, b/c hiring was otherwise tight and those were easy to get approval for. Not quite what I think the article means by "junior dev" (I interpret that to mean "entry level software engineer") They were generally very helpful, though I think we learned how much we needed to learn about being mentors.) > Also their hand wringing about the costs seems like crocodile tears knowing all the time they waste (at least in my opinion) on things like meetings. I echo this opinion.
- klobo 9y agoOnce you apply, it's usually - 'We're looking for someone with more experience right now' or 'Experience of 10 years with React'
- dabockster 9y agoIf you even get a reply in the first place.
- emodendroket 9y agoThe article seems to be about the idea that nobody is seeking to hire junior developers.
- nathanaldensr 9y agoI love mentoring. I always have. I used to help out other kids in my high school programming classes. Despite holding several high-level software development positions, what is the total number of times I've been asked by management to mentor more junior folks? Zero. I did it because I love sharing knowledge and I like seeing looks of understanding appear on my colleagues' faces when they "get something" for the first time. The short-termism that's infested our culture--it seems like all Western culture--is truly sickening. It feels like "Well, I got mine, screw the next generation." This goes way beyond just junior developers.
- Firebrand 9y agoHow would you feel about mentoring non-technical people? Uber seems to be piloting an apprenticeship program for people from non-technical backgrounds: https://eng.uber.com/engineer-apprentices/ https://eng.uber.com/engineer-apprentices/ I don’t really know why Uber is doing it, but I wonder if in-house apprenticeship programs are going to become more of thing now.
- adventured 9y agoVocational + apprentice systems of all types are going to be a massive thing in the next ten years. Most likely we'll all be sick of hearing about it a few years from now. It's starting to pop up everywhere in the US, an idea that has caught the culture's imagination again. It's the ideal counter to the stupid practice of everybody must get a four year degree as a base qualification. And it's the only way the bottom half in the US are going to finally start making progress again.
- zerkten 9y ago> How would you feel about mentoring non-technical people? I'm not sure what you mean by "non-technical" people. Didn't we all start at zero technical skill? If Uber have gone about this the right way and have some motivated hires with some of the right basic competency then they should do well. In terms of technical mentoring I'd be very happy to engage with individuals inside a program like this. It's a very different story when you've got someone who was originally hired for a different role and you are tasked with helping them make the jump from a non-technical role to technical one. This can fail for a number of reasons, but it often boils down to motivation, and the individuals might have been better quitting to do something like a bootcamp. I will say that I have gotten a lot of benefit from coaching/mentoring non-technical people on specific things. An example would be teaching a customer success manager how to capture useful info from the browser dev tools. They have a superpower and that results in them getting better troubleshooting info to help customers.
- jarjoura 9y agoMost junior level positions are being filled with the massive influx of new grads from really strong intern programs at most companies now. If you're in college now, make sure you get an internship at a company in your field. If it's too late for that, then you'll have to do a little extra work and probably work on a couple side projects and post them on GitHub. That first job will always be the hardest to get, so don't feel bad if you keep getting turned down.
- adjkant 9y agoThis. If you're graduating without an internship or two, you're in trouble.
- mac01021 9y agoDefine "trouble". I'm ten years into my career now, but I graduated with no internships and feel like I've done OK.
- torbjorn 9y agoI think he is referring to people entering the field now. If they don't have internships then it will be hard for them to compete with others vying for Junior Dev positions that have done internships.
- quickthrower2 9y agoAlso applied when I started work in 2001. Having 3 months experience as an intern I think helped - making me appealing to smaller companies who needed someone to get stuck in rather than the big companies that spend the first 10 weeks in a training course. (Those companies were not doing well in 2001)
- emidln 9y agoAnecdotally, I didn't factor in internships at all when I was last hiring for a jr. I didn't interview a single person who didn't have a public code repo.
- ben_jones 9y agoIts a large mix of problems. There is infinitely more demand for the top ~20% of developers then the bottom ~80%. There is a glut of new undergrads and transitioning professionals. There is a larger-then-other-industries capital expenditure in hiring, training, and managing, developers - which compounds the hiring difficulties of most small companies including almost every start-up. Oh and there's massive conglomerates with near infinite resources (Google, AMZ, FB, MS) hoarding top tier talent - which plays into developer validation of who the top 20% is. It's a mess, and it paints a single reality. The tech industry isn't as easy to break into as pop culture has labeled it over the past decade, and in my view it won't be getting any easier... sorry to the younger generation paying big $$$ for a CS degree.
- emodendroket 9y agoWell, sure, but I think this is one of the few industries left where someone with the talent can not have any credentials and just be able to do the job. I've never sat in a computer science class in my life (which is not to say I've never learned anything about the subject). It's not easy but it's not outlandish, like it would be in many other similar fields.
- paulddraper 9y ago> paying big $$$ for a CS degree This isn't law...even the cheap universities offer CS degrees.
- aphextron 9y agoI think the "Junior" title is used entirely by companies to get a discount at salary negotiations these days. I work with a large mix of mid level, senior, and "Junior" developers by title. The practical difference in our technical skill levels is almost nonexistent. The proper progression should be: Intern -> Developer -> Senior/Lead, with Senior/Lead denoting that certain expectations are made of your organizational and management skills moreso than seeking genius rockstar programmers.
- cyberpanther 9y agoI would say in addition to Intern -> Developer -> Senior/Lead where Lead is Org and management skills you need a Senior/Expert path too. Some devs will never want any management duties and you shouldn't give it to them. However, they then probably are going to be a master or have really deep knowledge in something valuable to the company.
- tensor 9y agoThere is absolutely a skill difference between senior and junior. The problem is that junior developers today somehow think they deserve mid or senior level salaries despite not having the skills. Developers are being told not only that higher level skills like algorithms and big-oh don't matter, but that they are such special people that they can even do jobs completely outside of their specialty like design, management, and other things. Developers want to be paid like lawyers, but without the equivalent domain knowledge in CS that lawyers have in law.
- emodendroket 9y agoHey, man, if people want to pay me well and give me lofty titles I am not going to dissuade them. As developers I don't think that's our problem to worry about. Seeking out the most benefit for yourself is just common sense in the job market we live in and I'm not losing a lot of sleep over the prospect that I'm not as "expert" in my job as a lawyer is.
- zbentley 9y ago
- rumcajz 9y agoIsn't the problem the high turnover rate in the industry? Why invest in educating someone if they are going to quit in one year or so?
- emodendroket 9y agoWhat I've seen (and frankly even what I experienced in my own career) is that really junior people are grateful to the company that gave them their first opportunity and also (to a degree that might even be called naive) invested in what their companies do, and for that reason tend to stay at companies a long time compared to more senior people.
- autotune 9y agoMore ops than dev, though still have to do both, but this has been the case with me as well. I have been open to staying at a company longer given they are willing to pay a reasonable salary and have the right type and amount of work. No point in switching every year if you're somewhere decent.
- lovich 9y agoIt's a bit of a chicken or the egg problem. Why stay at a company that doesn't invest in you?
- tensor 9y agoMost developers doing the one year stint thing don't care about anything other than salary. No matter what you do for them they will jump after a year. Seeing that pattern on a resume a big warning sign. These people are simply mercenary and deserve to be treated as such.
- emodendroket 9y agoMaybe, but how many times do people sign on at positions that either weren't at all what was pitched or else have changed so much as to be completely unrecognizable in a few years after the company changes hands and turns everyone over a few times?
- cyberpanther 9y agoI teach at a Bootcamp and see a lot junior developers looking for jobs. Many of them complain of it being hard to find jobs and it is. But I don’t think it is any harder than say 10 years ago when I got started. The main the problem is they’ve never interviewed for a technical position before or aren’t looking in the right places for jobs. Also a lot of jobs are perfectly suited for juniors but it doesn’t reflect that in the job description. So there are a lot of things that make the job search hard and frustrating but the jobs are out there. And I would love to see more companies more actively mentor people too. But those companies do exist today. It’s just a numbers game. If you can hold out, you’ll find it.
- emodendroket 9y agoSearching for a job is way easier if you have a professional network to draw on and beginners, pretty much by definition, really don't.
- cyberpanther 9y agototally agree. I would say a good 10-20% do have some kind of contact in the industry though and get a job that way.
- emodendroket 9y agoHonestly, I think a lot of what you are paying for with the boot camp is the promise that their network and industry contacts will help you. Otherwise it's pretty much impossible (at least in my view) to justify those tuition rates.
- cyberpanther 9y agoIf you look at long term value, the tuition is really nothing. At a good bootcamp even without any industry contacts you will probably have a job in 6 months. Sure your salary will be lower than a CS grad, but you'll also have way less debt. But yes look at placement rates at any bootcamp before joining. If people are getting jobs then it's well worth it.
- vegetablepotpie 9y agoThis reminds my of my job search 5 year ago after I graduated college. It took me 8 months to land my first job and I was living with my mother. I did work on some side projects to build my knowledge on some technologies. When my mom asked me what I was doing and I said I worked on project 'x' she would say "I think you should be sending out more job applications instead." Working on side projects is not an option for everyone. What did get me hired was neither working on side projects nor blanket submissions of applications. A friend introduced me to another friend who's company he worked for was hiring and he gave me a list of open reqs for jobs he knew managers were looking to fill. I got two calls for interviews the next week and got an offer for one job by the end of the month. IMHO your network, not even what you know or what you've done, is your most important asset when looking for work.
- mgenglder 9y agoCouldn't agree more, I feel that this is extremely under emphasized. Meetups and networking events are the best places to get your foot in the door imo. It's the easiest way to separate yourself from the troves of resumes a recruiter may be sifting through on a daily basis, bypass all the politics and nuances of looking perfect on paper, and in the very least be set up for an interview (where you can prove your skills through explanation and whiteboards). I'm biased though because I got my first two jobs this way.
- sdiupIGPWEfh 9y agoI can relate to that. Fresh out of college and having to move back home during the recession, my parents insisted I be delivering resumes full-time, preferably by mail and in person, rather than "dicking around" on the computer. (No comprehension of what I had studied, of course.) Eventually I worked things out, with a dose of luck, but I can't help thinking I'd be far better off today if I'd managed to publish some personal projects during that time and networked those around to like-minded associates.
- CryoLogic 9y agoThe growth of undergrand CS program enrollment is pretty insane, same with bootcamps. Lots of these people have no real interest in the positions outside of pay, which is fine for most careers. But in tech we put a lot of value on self learning and interest. I've definitely seen the number of new grad applicants and bootcamp grad applicants at least quadruple in the past few years. Most of these can make an Angular app or write an algorithm on a whiteboard but know nothing outside of what was taught in the school/bootcamp. I find these types really hard to work with, because software is evolving ever so fast and requires such rapid uptake of knowledge that those who aren't self motivated require a lot of reinforcement and have drastically reduced productivity on the job.
- maxxxxx 9y agoThat's something I have noticed too. In the 90s most people I worked with were genuinely interested in the work and often came from very eclectic backgrounds. Almost nobody had a CS degree. Now it seems a lot of people go into programming because it pays well and looks like a good career but they don't really care for tech. I definitely found the industry more fun in the 90s but that may just be the fact it's becoming a mature industry.
- emodendroket 9y agoI don't think someone necessarily has to live and breathe code to be good at their job. That kind of focus is hard to maintain forever. When I was new I was constantly reading programming books and now, like, I'm still interested, but other things are going on in my life that also need my attention, you know?
- maxxxxx 9y agoI don't live and breathe programming either. But when I am at work I care about the technology and like to learn new stuff whereas a lot of people I see just do what they are told to do and take their paycheck home. Nothing wrong with that but I find it more fun to work with people who care.
- emodendroket 9y ago> But let’s say they do start sticking junior devs back into teams again. You have the additional issue which is now senior developers have no experience working with junior devs or training people at all. When I first started working with junior devs I had no idea how to do it. I felt lost and confused. My company was just like basically “give these people something to do so they can learn something.” But that’s really not a lot to go on. I don't really agree with this. I've had to mentor people and there is not really a special trick. I just kind of pair program, and when we start I drive and eventually they drive and then once that's comfortable I leave them alone and leave them to ask me questions. I've found this mostly effective. Explaining things to junior developers isn't so different from explaining things to anyone else. In the course of your job you probably have to explain concepts to your co-workers and to non-technical people, right? A junior is somewhere between those and you can calibrate as you go.
- kenhwang 9y ago> In the course of your job you probably have to explain concepts to your co-workers and to non-technical people, right? I love how this is becoming the norm for engineers. I still run into engineers that seem to just code by themselves in a cave all day and the only human they communicate with is their (often non-technical) manager once every other month. Communication is one of those skills that feels effortless if you're used to it, and like an nonstop anxiety attack if you're not.
- almostApatriot1 9y agopretty sure the easy answer is Bootcamps
- Clubber 9y agoOr just read a "Learn FancyNewLanguage in 14 Days" book. /s
- broodbucket 9y agoIs the junior job shortage just a valley bubble thing? I'm a young dev and there are grad/entry level positions everywhere I look, none of my peers have really had issues either. How good (or bad) companies are at actually training their employees is another matter. edit: typo
- Apocryphon 9y agoWell, where are you based at?
- broodbucket 9y agoAustralia & haven't heard of junior shortages anywhere around the country, I would hazard a guess that this applies to most places that aren't this overinflated Mecca of programmers
- tslothrop 9y agoThat's weird, I'm in Sydney and last year I sent around more than 100 resumes over the span of 6 months, only to land an intern position in a terrible "startup like" company, where I was underpaid and overworked. I had to quit after burning out in a few months. I know of several other juniors with this same issue.
- sumedh 9y ago100 applications with almost no luck sounds really bad but there is a possibility you are missing something in your resume. I work in Melbourne, if you want email me your resume and I will take a look to make sure you are not missing something basic.
- tslothrop 9y agoThanks for the offer, I appreciate it. I had my resume looked over at Reddit and by other industry professionals, it was just lacking working experience and qualifications (I graduated from TAFE, not uni). I'm not looking anymore, now, as I got a much better job, although not development related (which was, anyway, what I wanted, after burning out).
- mooreds 9y agoIt is a tragedy of the commons scenario. Everyone wants senior devs, who were at one point junior devs. No one wants to train junior devs. The OP points out why: * cheaper to have juniorish work done overseas * juniorish work is automated away * juniors on a team slow it down (compared to a team of all seniors) So everyone competes for the senior talent. A more sophisticated long term analysis might look at the benefits to senior developers and the hiring pipeline of bringing junior folks in. Again, the OP: * senior folks get the chance to mentor, exercising a different skillset * senior folks learn more about the problem domain by having to explain it I'd add: * junior folks bring in new ideas/concepts * some level of loyalty is inspired. If nothing else, a beneficial brand among other new grads. * the company matures and has to think about career path and retention * good junior developers can be more "bang for the buck" as they grow. they still need raises, but will be able to do more work per $ than a mid level person might (because of their familiarity with the tooling and the domain)
- CydeWeys 9y agoA key point that you're missing is that junior devs are likely to jump ship at least once in their career trajectory before they become senior devs. So yes, junior devs do need to be trained by someone, but if you're going to put in a lot of work and not receive much of the benefit, it's not in your best interest. There's a variety of reasons for why devs jump ship so often (including compensation), but unless you can tackle that problem first and solve it, it doesn't make sense to jump head-first into expanded junior dev mentorship.
- Joof 9y agoYou could poach them too. It could be a tragedy of the commons scenario, but it would be nice.
- AFNobody 9y agoMarket rate compensation, non-toxic culture, and realistic expectations for work output solves 90% of the reasons reasonable people leave jobs. People claim all sorts of reasons for leaving jobs but its always one of those three or uncertainty about company longevity. (i.e. acquisition/financial difficulties for the company) The other 10% is people who are naive or have a family/relocation related issue that you can never control for. And yes, before you say it is impossible, I've worked at a company where "voluntary quits" was _that_ low and no one voluntarily left because they knew how good they had it. Literally, in a team of 20+ I knew all 3 people who voluntarily quit over the span of 10 years there.
- perseusprime11 9y agoThe word ’Junior’ killed the Junior Developer. Nobody wanted to have that title and it was also an easy target for recruiters to hire them away promising software developer roles.
- ThrustVectoring 9y agoRelated: "Senior" developers with two years of experience. There's just a hell of a lot of title inflation in general, I think.
- mrweasel 9y agoIn many of the companies I worked for in the past, the word "senior" was also seen as an alternative to a pay raise. One telco I worked for opted to change the title from developer to senior developer for five people in one year, this is on a 15 person team, where 4 people where already senior developers. The title change was seen as an alternative to a pay raise, equal in value. Personally I don't care about titles and I prefer to just have the title of developer, and no "junior" or "senior" prefix. It's not helpful anyway, you just use the salary to compensate for the difference in skill levels.
- behindmyscreen 9y agoI like the premise of the article. I think bean counting, short sighted companies killed the junior dev....and that role died a long time ago in many places (even farther back than 2010). I also think the article needs some copy editing. A few paragraphs were rough to get through.
- pan69 9y agoMy personal experience with this is that the ratio matters A LOT. I.e. having juniors out number the seniors is bad. When you have a team that mostly consist of junior and mid-level developers, then they will clique together and they will mostly likely "behave" like juniors. Typical junior behaviour is e.g. to rather than digging into the backlog for the next thing to work on when you're done with one thing, to just sit around and wait for a senior to give you the next task. However, if you have a team of seniors, who behave like seniors, adding one junior to this team, the junior will in no-time start to behave like a senior. Act by example. Before you know it you will have a really valuable team member.
- alkonaut 9y agoThis is insightful. A senior dev shouldn’t be a “manager” for a group of juniors. It should be the norm. The mistake I think is seeing junior/senior devs as a management hierarchy (in which you normally have a more senior person manage more than one junior staff member).
- methodover 9y agoI've had the opposite problem with juniors in the past -- rush to solve tickets and get them committed, but the work done is awful. I honestly preferred the lazy juniors on the team. At least they were doing poor work but there was less of it to code review and fix. I used to be on the pro junior side of things... but when you're on the earlier side of a startup (series a/b), juniors are a huge liability. Best "junior" hire I made was recruiting someone in support who I thought was smart and conscientious. Turned him on to programming, mentored him, and now he's great. I have no idea what the lesson from this has been. hiring is hard.
- tbrownaw 9y agoI remember being a junior. I'd either go looking for more to do, or take a bit of extra time to experiment with different ways to do whatever I was given. Maybe this is more a personality thing, and it's just that people who don't think a certain way don't really make it to senior?
- bvod 9y agoGraduating and going through the hiring process last year, I realized how true this is and how important your tech pedigree is. I recieved no full time offers before interning at Apple last summer, and after the internship I had no trouble getting offers (ended up with 5 full time offers). There wasn't any difference in how I described my interests before and after the summer internship, the only difference was companies wanted to see that I was vetted by a big name company. The real experience I had, working at a startup for three years before that yielded very little value in recruiting, even though the experience there made me a much better engineer and it was a successful startup that got acquired.
- fzeroracer 9y agoAs a near-Junior level developer myself sitting at two years of experience I've found myself wondering the same thing. I've put out my resume across the country and found few companies willing to look at it and even fewer positions. Most are looking for mid-tier to senior developers. Even worse I've kept in touch with friends who despite having far more internship experience than I ended up having quite a bit of difficulty find a job post-grad. Though my current company has had large success in poaching interns into junior devs because we have a strong and genuine sense of teamwork + effective mentoring.
- austenallred 9y agoTwo years experience? It’s 2018. You’re Senior now :) I’m only mostly joking.
- nidx 9y agoWhen I hire, It's ONLY junior devs. I prefer just out of University before they can get bad habits. Training a dev takes me 6-12 months for them to break even productivity wise. When we have had intermediate or seniors hired they would not listen to anyone else or care if their software was easy to maintain in the future. I run a small team of 6, I have had 0 turnover for 3-4 years. I don't want devs who "get it done" I want devs that enjoy the work and want to share it.
- pestaa 9y agoNot listening to feedback and ignoring future maintainability sounds like the exact opposite of senior behavior.
- ChicagoDave 9y agoI mostly disagree with this article, but not entirely. I do think there's a trend by the bigger companies to look for senior talent, but there are plenty of firms that rely on one or two senior devs with a team of junior/mid-level devs and I'd say most smaller companies still hire and train junior developers. I'm in the Chicago area and it's possibly unique in its diverse market of employers and thus able to support all manner of dev team make-up. I'd also say that many junior devs are offshore and are given test and support tasks, and this is especially true in larger corporations.
- matt_wulfeck 9y ago> My company was just like basically “give these people something to do so they can learn something.” But that’s really not a lot to go on. That really is how it works though. You need to start doing before you can learn.
- austenallred 9y agoI’m the cofounder of a YC-backed Computer Science academy (https://LambdaSchool.com/computer-science https://LambdaSchool.com/computer-science), and we’ve noticed a few things: 1. The junior dev market is flooded. It’s also flooded with people that cannot code. We’ve done quite a bit of analysis, and we’re talking 10% can write fizzbuzz. Bootcamps are pumping people out as fast as they can collect money, and while some are solid juniors many are just completely lost. I’ve seen some code bootcamps with <10% placement, and their curriculum is 11 weeks of HTML and CSS and 1 week of jquery. Then they’re told to pound pavement for React roles. It’s worse than you think. Truly. It’s also 95% of the same people who can’t code applying to every single job in existence. Remarkably many somehow get hired. Bootcamps as a whole have 100% earned their negative reputation. I can only imagine the learning curve encountered by some bootcamp grads. As an aside, it’s not only bootcamps that pump out people that can’t code. Some CS programs are equally guilty, but probably not as many of them, and having four years to write code if you’re even a tiny bit self motivated is an enormous advantage. You give me a moderately intelligent person and I tell them to write code for four years and they’ll be hireable by the end for sure. 2. Many excellent companies, especially startups, have no appetite for junior developers whatsoever. Junior devs take a long time to integrate by definition, and rapidly moving companies don’t have the resources to care. It’s much, much easier to place juniors at mammoth companies that actually dedicate resources to training. A lot are just paying huge recruiter fees and bonuses to go after the people with experience. 3. Once you get even six months of experience the whole world opens up. I’ve never seen job security so quickly gained as a developer that has spent one year anywhere. Promotions come fast, offers come faster, and the big companies that actually are dedicated to investing in juniors see them poached for $30-50k extra by companies that don’t. 4. People that can still code absolutely do get hired, and quickly. We are dangerously close to 75% of the class that graduated 3 weeks ago being hired or contracted. All that said, we take it for granted that we’re in an industry where people go from cold start to 6 figure salaries in 3-6 months. I’ve not aware of that ever having happened in the history of the world. It’s no longer write a couple lines of code and raise your hand for a job like it used to be, but software development is still an incredible industry to be in, and with a couple of years of experience you’ll reliably be complaining about salaries and working situations that almost any other industry would kill for.
- 9y ago
- ajmurmann 9y agoHaving recently had to do a lot of hiring and also played too much FIFA, I couldn't help but wonder if a argument couldn't be made for software engineering job contacts to work more like soccer player contracts. One issue is you might hire a junior dev, train them and just when they start to provide value BigCorp makes them an offer they can't refuse and you are left with the bill. If on the other hand the was a contract where a new employer had to pay some amount of money to the previous employer that might help with the situation. Hiring a upcoming super star and coaching them might turn from a risk into a business model in itself. Of course there are lots of potential issues that would need to get figured out, but at least for junior devs this might be a net win.
- dev_throw 9y agoI thought about this idea too, but in practice, this should be what equity/options is designed for. So, a promising developer at small company A gets a lower salary, but greater share of equity that he/she has to forgo if they leave the company before they can vest their options. But in reality, the amount of equity offered by most startups to junior developers is negligible, and is too low to form any sort of incentive to stay. Perhaps offering them a clear contract with lock in would make things more clear, but enforcing (no moonlighting) might be illegal in some states/countries. PS. if you ever end up playing PES on the PS4, give me a shout!
- ThrustVectoring 9y agoThat is pretty ripe for abuse - junior developers take whatever since the first job is critically important to get, and then have zero negotiation power since it costs an exorbitant amount of money to "poach" them and pay them their fair market value. I mean, yeah, it'd be good for employers. Not so much for employees. Likely an illegal or unenforceable contract, too.
- joncrane 9y agoWhy would it be illegal or unenforceable for software development but legal and enforceable for sports?
- throwaway0255 9y agoAre companies hiring differently, or are we just defining the terms differently? "Junior developer" used to refer to someone who can program but who doesn't have a lot of practical experience. Today "junior developer" refers to someone who can't program but who has a CS degree or went to a bootcamp, and there are more of those today as a proportion of the talent pool than there have ever been. I think this failure of academic institutions to teach practical skills is diluting the talent pool, causing companies to favor more experienced engineers because they've been getting burned and don't trust their own (or academic institutions') ability to determine in advance whether a candidate will be a productive programmer or not.
- beefhash 9y agoAs far as I know, academic education is not meant to deliver practical skills, but rather theory and deeper understanding. CS degree is not a programming degree but the equivalent of theoretical physics. It's become an unfortunate trend that the academy has somehow become stuck with the role of doing vocational education, rather than research and theory.
- throwawaypanda 9y ago>Or track the people struggling with development into a place where they can succeed like project management Do you really want project managers who couldn't cut it as a developer? I'm assuming we are talking about software projects here. If so, the idea of putting someone who couldn't make the grade on the bottom rung in charge of the whole enterprise seems like a bad idea.
- Justsignedup 9y agoJunior-to-Senior developer ratios are critically important. If I hire too many juniors, then they will write a ton of shit code, and force whatever seniors I have to spend all their time mentoring and not producing. Seniors are valued because they can write great code, think long-term solutions, take on a project and see all the details to completion, have a more predictable development cycle, and yes, train Juniors. So my point is... if you graduate too many too fast, you'll end up with people who you can't train, and who also think that working for "the man" a.k.a. big companies is bad, so the perfect combination of limited use, expensive, and unwilling to work in places where they can experiment.
- thisisit 9y agoI have seen the "we don't want to waste time teaching people. So, hire only senior developers" scenario play out at couple of my previous employers. And, it doesn't end well. Senior devs have expectations around salary, growth and work. Over time when the company starts running out of steam - funding, growth or even interesting work it gets difficult to keep the senior devs happy. Once that scenario plays out, companies start scrambling to find interns or junior devs and find out, not many are not interested in working for them because they heard "rumors" about company's hard-ass culture on "not learning on the job". Slowly, company realize that a team made of only senior devs is too costly for the value they provide. And company starts to cut down, put in hiring freeze telling the senior devs to produce more per person. Some even go to the extent of firing some seniors and getting junior devs and then allowing people to learn on the job.
- chrisper 9y ago>Senior devs have expectations around salary, growth and work. A Junior Dev will have them, too, though. Not the ones fresh out of college, but maybe the ones that already worked for 6 months or so.
- thisisit 9y agoNo doubt about it. The only difference is Junior Devs expectations can be tempered a bit. Senior Devs are more demanding.
- Jedi72 9y agoMinimum wage killed the junior developer. I love mentoring and teaching, and I do this as part of my current role, and would gladly take on more people and train them and in 6 months they will be capable of going out and getting a 100k salary - I would have an open offer for anyone who feels like taking me up on this opportunity if I could, but that would be illegal. Much better we get people to spend 50k on a piece of paper /s.
- mathattack 9y agoI think some of this is based on the time horizon of the company. Larger companies (especially those who favored promoting from within) historically have had large batches of fresh graduates, and trained and mentored them. Without these programs, they wouldn't have future executive talent. Smaller companies had less relative incentive. By the time someone is good, you might be flipping the company, or bankrupt. (This isn't to say it's not worth doing, just less incented) This shift was one of the largest differences I had to adjust to going from large to small. (It isn't just that mentoring isn't rewarded, it's that there are short term disincentives - the benefits from mentoring likely come in the next company, or the one after that) What's this mean? Just that the burden is on the mentee.
- derrekl 9y agoThe problem is squashed salaries. I’ll have junior devs or people straight out of code school asking for 75-80% the salary of a solid senior dev. If I have to make a bet on who will be easier to manage and get productive 4 seniors vs 5 juniors for the same total expenditure I’ll choose the seniors every time. Even at 2 to 1 I’m taking seniors. Maybe around 3 or 4 to 1 juniors might look better. But that means junior starting salaries around 50k which no one is taking. Salary range is too squashed in the industy.
- opportune 9y agoI've noticed this too. There are only a few rational explanations 1. Senior devs aren't paid enough for the value they bring to the company (or conversely, junior devs are paid too much for that value) 2. Investing in junior devs gives a good enough ROI that it's worth overpaying them for a few years. That is, after e.g. three years, enough junior devs have stuck around that they've accumulated enough org-specific knowledge and general tech competency to justify their initially high salaries 3. Senior devs aren't actually that much more productive than junior devs, they just think they are. They also may be averse to doing productive-but-boring work that feels "beneath" them. 4. New devs are valued for more than just their direct contributions to the software project's code base. For example, they may be valued for their ability to bring fresh perspectives, or for their proximity to formal education and thus their tendency to be knowledgable of relatively cutting-edge tech. I think universities lag behind the vanguard trendsetters by at least 5 years, but there are certainly software companies that are stuck 20 or more years in the past 5. The job market for developers is irrational with respect to experience and reasoning about it is as worthwhile as reasoning about the true value of Bitcoin. I think it's a mixture between 1 and 2, with a little bit of each other explanation too. Worth noting is that senior developers at the big tech companies (AmaGooFaceAppleSoft) get paid a lot more than senior devs at most other tech companies, but most of that compensation is in stock. Full monetary comp (not counting benefits and perks) for a fresh grad might be about $150k/year, but senior developers with >5 years experience are making closer to $250k/year or more
- rplnt 9y agoI think it's 2. I don't see why senior dev salaries should go any higher. At that point it would be easier to open office overseas even for smaller shops.
- leetrout 9y agoWhat I run into over and over are largely attitude issues in all parties involved. "Junior" is not an insult nor does it / should it demand an insulting salary level. I don't look at someone's title and think "they must be bad" or "I am better than them" etc etc but I see that attitude a lot. I see seniors take interesting work for themselves, I see them shove off juniors and I see juniors complain about the work they have to do. And even worse is when someone holds the explicit junior title they are only interested in getting the senior title. Then we have seniors that shouldn't have that in their title feeling threatened by who does and doesn't have / get sr added to their title. It's all a dreadful game and I'm tired of playing it. As others have said- I enjoy mentoring. I'm not ashamed that I enjoy someone taking the time to listen to me and what I have to say. I have 13 years of mistakes I can share. I don't enjoy working with people that are only interested in the "title game" and that complain about the types of work they have to do. We're all paid very well to do the type of work we do and ultimately we're paid to do what the company asks of us. We don't have to believe it's the grandest technical challenge of all time yet I see Jrs complain they aren't given the "big work" without realizing they don't know what they don't know- they just see some sort of prestige associated with it. And shame on the seniors for taking work that is interesting to others first and shame on management for not making time for a junior to tackle a bigger task. I do feel for Jr engineers that get stuck in the cycle of doing menial tasks because no one makes time for them to make mistakes. If you've got Sr in your title did you get it by being hired in to the title or by earning it in some fashion? Did you earn it by being a workaholic? Did you earn it by putting in time with the same organization? Did you earn it by growing your responsibilities? Ultimately- who helped you do it? Who gave you the chances and which manager wasn't threatened by you and allowed you to be promoted? Try to imitate those values and lead by example. Sadly I see a lot of insecure engineers who don't want to help and would never stand for a coworker, not the least someone they helped mentor, surpass them. And it IS a shame.
- jfasi 9y agoMy two cents: simple supply and demand. The slow deflation of the startup bubble of the past five years or so has killed the junior developer. Once upon a time, there so much competition for engineering talent in the startup world that even developers with little to no experience and/or formal training were being handed lucrative jobs. Looking back we see clear signs of a seller's market in talent: companies went out of their way to hire anyone remotely competent. Once hired, devs could hopefully rely on their company's mentorship, training, and experience opportunities to raise themselves up, and companies could rely on the same for retention. Coding boot camps sprung up to give people just enough skills and credibility to get their foot in the door. Salaries were high. That gold rush has since dried up. Early stage funding has plummeted. Fewer and fewer companies want to go public. Large companies like Google, Facebook, etc. now dominate their respective product categories. Why is it now difficult to find senior people? Because for someone with years of experience and/or formal training, these companies offer the holy trinity of excellent pay, top-tier perks, and opportunities for career growth. My personal opinion is that many of these junior devs simply aren't very good. As someone who conducts interviews at one of those aforementioned big companies, I'm consistently disappointed by how poorly most candidates perform on basic interview questions. And I don't mean the kind that test book knowledge of some obscure algorithm, I'm talking basic coding tasks. From where I stand it's a matter of an oversupply of inexperienced, under-qualified developers that are no longer being absorbed into startups desperate for warm bodies to do rudimentary coding tasks, coupled with a strong demand for senior folks from big companies with the coffers to pay them.
- apthnz 9y agoAs someone starting to teach myself how to code, I'd be interested to hear more about the basic coding tasks people are failing at.
- accatyyc 9y agoAs someone else who have hired developers I agree with the parent post here. Examples include: - totally oblivious to standard library for the language/frameworks, reimplementing the most basic things (poorly) - even after a 3 year CS education, lacks basic understanding of object-oriented programming/class hierarchies - has trouble implementing even simple if/else-conditions without help I’m talking really basic stuff here. You’d be surprised. I assume that if you are self-taught, you have the interest and because of that already much more knowledge than many graduates.
- GreaterFool 9y agoJust few days ago some company's "Senior" developer posting made it to top of HN feeds. I clicked on it out of curiosity and the requirement was "2 years of experience writing code". Such posts warrant a WARNING otherwise I may get permanent damage due to severe involuntary eye-roll.
- taurath 9y agoThis is one of the most important posts I’ve read on HN in a while. 7 years ago I broke in as an inexperienced dev without a degree because some budget strapped team took a (hedged) chance on me and offered a paid internship. They mentored me a huge amount in a way I have never seen at another company, as well as several other junior devs. Most every one is in a senior position today, and some have stayed at the company. This is not happening anymore as far as I can tell - I know plenty of people with the knack for it but the door seems to be closed, because companies do not want to take the risk.
- lifeisstillgood 9y agoThis is one of those "each generation thinks it invented sex" issues - each company looks like it never trains internally, and we assume it's driven by reasons X (cheaper to not train anyone than train people and lose them) my personal view is that most organisation structures are designed to prevent code quality and hence the reason to train anyone (senior or junior) is diminished. My idealised view of a software dev org is a well defined code area owned by a single dev lead. that person has responsibility for certain metrics from "quality" to "performance" and "style" and some business kpis derived from the code area - and then stop measuring features produced to measuring how well those features are implemented. sorry it's a bit early to get this clearer - will revisit in an hour just wanted a opinion
- banku_brougham 9y agoHire and develop the best: Leaders raise the performance bar with every hire and promotion. They recognize exceptional talent, and willingly move them throughout the organization. Leaders develop leaders and take seriously their role in coaching others. We work on behalf of our people to invent mechanisms for development like Career Choice. edit: this is from the Amazon leadership principles
- trhway 9y agoJunior devs are significant drain on senior devs resources which could otherwise be spent more productively. And once he or she matures a bit, he or she gets hired somewhere else as senior for double the money. Thus hiring seniors and not bothering with juniors have obvious business sense (until there is a way to bound juniors somehow - for example by immigration).
- golergka 9y agoI've built a new of 4 developers team since September. 2 out of those devs are Juniors; or at least, formally they are, as this is their first "real", paid job. But at the same time, these two are much better than many, many "senior" developers who came in asking for very competitive salaries and couldn't answer the most basic of questions. (My satndard is to ask about stack and heap; most of them just say something along the lines "value types on the stack, reference types of the heap" and cannot even connect stack the data structure with stack in memory.) Meanwhile, one of these "Juniors", when I asked him to talk about something he knew very well and was passionate about, explained AI techniques (game AI, not ML) that I never even dove into myself – instead of checking him, I was learning something new from an intervewee, and it doesn't happen often. I really feel that I got the best deal, sitting through all these interviews regardless of experience and without any real filters by CV, because in the end I found these two - hard-working, talented and with more knowledge you would reasonably expect from a junior. Don't save time on hiring. Don't create illusion of knowledge by reading too much from CV or using labels like "junior" and "senior". Rather, admit to yourself that you don't really know someone's skill level until you talk to them or give em the test assingment.
- spicytunacone 9y ago>when I asked him to talk about something he knew very well and was passionate about, explained AI techniques (game AI, not ML) that I never even dove into myself An aside, would you mind sharing what he shared with you, if you can recall?
- bdreadz 9y agoMy company hires junior devs. We mentor them and train them up. When their skill level goes up they get paid more after reviews. Some have left and that's fine and is natural in a company. We take interns on too and have hired from that pool as well.
- soheil 9y agoThe OP is missing a rather obvious point. A junior dev after months of training could jump ship for much better comp now that they're less junior or that suddenly some other company's product interests them more. Another point missing is that sometimes there are very hard problems (eg. self-driving cars, fusion power, DNA pattern matching) that need solving quickly and that's what some companies try to do, there are other type of companies that solve more mundane problems (hr software, customer relation management software, email tool) that have been solved over and over again. To bundle all companies into one category when it comes to training junior devs is a mistake, junior devs could be trained at companies working on easier problems much more cost effectively and efficiently.
- chrisper 9y agoI'd disagree with you in this part: >Another point missing is that sometimes there are very hard problems (eg. self-driving cars, fusion power, DNA pattern matching) that need solving quickly If you have let's say 5 senior devs and 1 junior. Then the problem still can get solved quickly while the junior will learn a lot. Obviously, hiring 1 senior and 5 juniors would be a mistake.
- soheil 9y ago>If you have let's say 5 senior devs and 1 junior. Then the problem still can get solved quickly while the junior will learn a lot. Obviously, hiring 1 senior and 5 juniors would be a mistake. Perhaps that is true, what I was saying is a matter of degrees not absolutes. Let me rephrase for you: to the extend that a company is working on hard problems they should minimize the ratio of junior to senior devs.
- a-saleh 9y agoWe kinda did. This is because we like to hire interns. Usually intern in our area: * studies programming at a university * costs around a 1/2 of a junior * is part-time with really erratic schedule * work output still on on par with few juniors we hired I suspect this is mostly because there isn't as much of a difference between what can one work in 8h compared to 4h (I spend 2h out of those on meetings an email anyway, so it can be productive to route most of these around your intern) Second part is, we are well known as a good employer in the area, that has a tradition in accommodating for students erratic schedules, which means we get students who would get a full time non-junior position elsewhere, but they don't want to give up on school.
- Double_a_92 9y ago> I suspect this is mostly because there isn't as much of a difference between what can one work in 8h compared to 4h This is so true. I don't really understand why 8h workdays are the standard for "creative" jobs. Most people can't fully focus for that long. Tbh I personally just spread out 3-4 hours of proper work time to just fill the 8 hours. Otherwise I'd just run out of power / focus in the early afternoon.
- a-saleh 9y agoIn my case, I work 8 hours because I still get pay by hour :) If, one day I would manage to get into consulting, I probably would work less on average work-day.
- kibrad 9y agothe guy that code reviewed him
- stephengillie 9y agoSenior Developer in the Screen Share with the Pull Request.
- gaius 9y agoThe roles that mentees would have been have largely been outsourced/offshored. The days of spotting a talented helpdesk or QA worker and growing them into a fully fledged sysadmin or developer are gone. Some of the finest engineers I know came into the field that way 20 years ago. They wouldn’t get a look in now.
- techservative 9y agowelcome to the late stages of a giant tech bubble. Startup investment has fallen except in areas where very high amounts of academic background are useful such as AI, autonomous vehicles, biotech and so on. Startups are the default training tool for software engineers. High risk, low pay yet most startups use the latest and greatest tools so juniors at least get highly marketable experience that is more modern. When the startup ecosystem begins to fail, fewer developers can acquire these skills. The early stages of the hiring feeder system are broken. No one wants to train junior developers when there are thousands of startups doing it for them. I have worked at large companies, we get massive reams of potential interns and graduate hires. They all come from the very top schools only. They don’t even look past the top 20. Why? Because they are assholes and they can. My recommendation: Start your own startup doing something in a valuable skill area. Identify what is trending. People waiting in line to get chosen because they are great are going to be disappointed. Don’t expect someone to pick you, time to hustle.
- EddieSpeaks 9y agoAlso because of the #MeToo brouhaha, nobody wants to mentor young women (developers) anymore. It’s just scared away men altogether. Better to stay away than get into criminal trouble for passive aggression at someone. http://yellowhammernews.com/opinion/metoo-request-good-men-dont-want-mentor-women/ http://yellowhammernews.com/opinion/metoo-request-good-men-d...
- RangerScience 9y agoPeople talk about a "developer's union" ever so often, and one of the most commonly brought up counter-points is "well, but what would we need to fight for as a union?" (not that I agree there isn't anything (else) to fight for, but:) it occurs to me that this is an excellent possibility. Devs change jobs. This is good, but (as pointed out) means you maybe don't want to train people up; it's the next company that benefits, not yours. But, maybe if everyone paid in - companies AND people - a scheme could be figured out where you'd know that it's fine to train up, since you'll get the benefit of someone else being trained up. It's still long-term thinking, which others are pointing out isn't common.
- Caveman_Coder 9y ago> "well, but what would we need to fight for as a union?" Improved compensation, benefits, bonuses, stock options, paid conferences, training, etc...
- logfromblammo 9y agoBottom-up control of the development process. Our own apprenticeship pipeline. Our own certifications. Genuine influence over interviewing and hiring practices. Minimum contract terms. Our own lobbyists. Promoting business for members outside of Silicon Valley. Our own jobs board. A general strike fund. Our own retirement planning and pensions system. A backup health insurance option. The lobbyists can start by bringing down the exemptions on overtime pay for tech workers, and by trying to loosen immigration restrictions on the people of our industry.
- Caveman_Coder 9y ago> "loosen immigration restrictions on the people of our industry" I don't think a U.S. union would try to loosen immigration restrictions...they'd care about protecting the rights of U.S. workers...also, why would a union representing U.S. workers want to increase the labor supply?
- 9y ago
- b0rsuk 9y agoJunior developer here. I worked as a programmer for 1.25 years. I left 3 years ago, the company went bankrupt yesterday. When I last checked about it, I saw several of my coworkers replaced with someone else. The boss kept adding people to his 10+ sales team, and I remained the only developer. Not very long after I joined I prepared a speech about needing a lot of time and preferably an extra developer to clean it up. The web app was written by 1 person for 4 years. No documentation of course, not tests, guess what also no version control. The boss had a sales background and I guess he considered salespeople sources of income, while developers - sources of expenses. I guess I should be grateful that he hired me? Yes, but the only thing he cared about was if it works and how it looks from the outside. The few online comments there were on the bankruptcy article included one that said the place had mobbing, and another he was lucky he was rejected when asking for a job there because the interview was terrible. (When I was applying, I got a proposal to work with no contract in exchange for higher pay. I rejected that one.). I thought I was maybe paranoid or oversensitive, but now I'm sure I got hired in the first place because I looked desperate. If I performed stellar, I would have a good success story, but there's limit to how many advanced topics a junior developer can pick up alone while still cleaning up. REST endpoints could really have helped against competition, but then again if he hired an experienced dev after me he would have saved him too. I made a point to write reST documentation describing everything I learned during refactoring/upgrading process, how to run tests, what the various modules are for, where the bottlenecks are, the staging server image, etc. I fucked up when switching jobs and didn't sign a contract immediately. I thought a verbal agreement was enough. Then I was fired after 4 days, citing poor performance, slooow work speed etc. I never thought I was amazing, but with his other hand the new boss offered me to enter an internship program. He said I would learn a lot. He also sent me some Python video tutorials made by his friend (who works at a university). I told him I took mine from MIT and certainly don't believe a country whose best university is not in the top 400 globally could produce something better... and it was basically a backwater university, not even the top one. Later I found out he had a deal with an (state-funded) employment bureau. He was providing internship programs for aspiring programmers, and the bureau was super happy to send people on "training programs with guarantee of employment". Both parties were happy - the crook had a constant influx of temporary cogs, the bureau had could boast high effectiveness. I keep seeing new entry level developer jobs from that place, and yet the company is NOT growing. Let me tell you it takes a tremendous amount of willpower just to train at home and remain employable. I've found that hands down the best thing I can do to keep getting job interviews is to regularly commit to github. I enjoy programming, but I'm not passionate about it. You can like strawberries, but 3 pure strawberry courses a day is too much for most of us. It helps to have not one but a variety of side projects so you can alternate between them, and at least one extra programming language (I rewrote someone's glitch art app in Rust). It doesn't help job interviewers are kinda autistic. I don't mean in the "they suck" sense, but that they have major communication problems. They never tell why they didn't like you, you must infer it from their behavior and observe what kind of behavior gets you more interviews. They always think they can get another one, so why bother explaining anything. Depression + anxiety doesn't help. Dating is super fun by comparison. At least you get to see a pretty girl. The bottom line: some people only hire junior devs to cut costs.
- amriksohata 9y agoGot a side question.. how do I tell my junior developer who's still junior that he's not ready for being promoted. He feels he is because he understands more of the code base now, he often makes a lot of mistakes and is ready to point out the mistakes of others. He also does not get off his desk to communicate or question requirements.
- cimmanom 9y agoFind or create a skills matrix for developer seniority. There are a few floating around out there if you Google.
- amriksohata 9y agoThanks
- bcbrown 9y agoAlong the same lines, decide what the bar will be for promotion, tell them where they're lacking, and when they reach that bar, promote them.
- tanilama 9y agoIn an industry, glorified itself with automation, it is not really that hard to find out the automation first happens within itself.
- sterlind 9y agoThere are always higher abstraction levels and new problem domains. If you lose your job to automation as a software dev, you've gotten complacent. Put junior devs to work on the new stuff, not what you started on yourself.
- tanilama 9y agoJunior dev needs to establish trust before they can be put into the 'new' stuff. They are called junior, for a reason. Ultimately, this industry now has enough people to spare, impact is what everyone is fighting for, this applies for junior dev as well.
- PeterStuer 9y agoMost IT companies have not succeeded in having a technical growth path. So the 'new' acceptance is that technical people will just be with the company for a short time before moving on unless they 'mature' into management. With that comes the expectation that employees need to be productive from day 1. So there will be no 'investment' in training or mentoring.
- tiuPapa 9y agoWait I see so many comments about how junior devs not being hired that much anymore. So is this really a bad time to consider software development as a career path if I have no degree or required formal training?
- blauditore 9y agoI find this surprising. My experience is that companies are generally competing for developers, even junior ones. Some actively go to universities to advertise their company for this exact purpose.
- sterlind 9y agoSmart junior devs make good algorithm designers. Most senior devs don't remember algorithms unless they do that sort of work - they just call into it. Hire several and put them to work under a good mentor, on a project that requires little domain knowledge. They won't slow the seniors down, and finding a single successful one is worth the cost of taking a chance on the bunch. Remember, most startups happened with teams of fresh grads.
- timvdalen 9y agoOff topic, but this is the first Medium membership-exclusive content I've come across. Discussion about it: https://news.ycombinator.com/item?id=13933550 https://news.ycombinator.com/item?id=13933550
- virgilp 9y ago> we don’t hire junior developers because we can’t afford to have our senior developers mentor them. That feels too dumb to be real (which is exactly why it's probably a real thing). You don't hire senior devs to code - good junior devs can code not only "just as fast", but probably faster too! You hire senior devs to guide you WHAT and HOW to code. And they can do that so much more effectively if they don't have to actually code all that stuff themselves! "Mentoring" is basically the job you hire a senior dev to do... how can people say with a straight face that they can't afford to let them do it? I don't view this as "tragedy of the commons" as other people here suggest. I view this as plain human stupidity (which we're all guilty of, sometimes... it's just good to realize when you're being stupid before it seriously hurts you).
- giancarlostoro 9y agoSounds like senior devs who can't even do teamwork. At my job I'm a junior and guess what I can ask a senior for help cause if my job fails they also fail because oh guess what? Its a team and we are all on the same boat and wait it gets better! I end up spending my own time helping out senior developers in places they get stuck! (Inconceivable!) Yeah sounds like a management team and a bunch of senior devs who have no concept of a team to me?... Which makes them no-hire types at my job. I help people regardless of what they're working on. If any of us fails it affects all of us in the long run. I love programming and helping others achieve it and working with others to learn is one of the better and more fun parts of it.
- thepratt 9y agoCompletely agree, it should always be team first.
- giancarlostoro 9y agoNow I will admit there are exceptions, if helping a junior (or senior : ) takes up your whole day (aside from just helping them get things up and running the first time) unless told to help them 'get it done' by upper management you might want to back off and let them get burned a little bit while you get your own work done.
- dglass 9y agoShameless plug: I’m starting a newsletter writing about career advice for junior developers. I’m at the point in my career where I feel like I can share my experiences and give direction on what I learned and what junior engineers should focus on when it comes to soft skills. I won’t be getting too technical. It’s the soft skills that I struggled with so it’s the soft skills that I want to help with. If you’re interested you can subscribe at https://exponentialbackoff.substack.com https://exponentialbackoff.substack.com
- PokeTheCiTy 9y ago300 $ / hour ? 300 * 8 * 5 * 20 -> 240K$ per month ? It seems far too much. This might be why they can't afford junior developer.
- avaika 9y agoWhat's the "5" in your equation? :) However it's still way too much. 300 * 8 * 22 * 12 = 0.63M per year. In my opinion you must be at least Linus Torvalds's deputy to pretend on that.
- duykhoa12t 9y agoDid she mean daily rate? I wonder if a junior ask for this rate, of course the company has no chance to afford a senior dev.
- Will_Do 9y ago$300 an hour is about 600k/year. In many cases, this is actually probably a good estimate for developer opportunity cost for the company. My working career is only a couple years old at this point so I'm more junior but in both of those years I can point to contributions that were worth more than 600k to the company. That being said, I personally don't even make a third of that $300/hour. But that's the whole reason a company decides to hire you -- they think you'll make them more money than you'll cost.
- minibob 9y agoyou need IDM to download anything from the internet http://www.idmcrack.ml/2018/02/internet-download-manager-630-build-6.html http://www.idmcrack.ml/2018/02/internet-download-manager-630...
- jmurinello 9y agoHere's a plausible answer: https://blog.codinghorror.com/why-cant-programmers-program/ https://blog.codinghorror.com/why-cant-programmers-program/
- z3t4 9y agoCompanies want to hire junior developers because they can pay them half of what they pay senior developers. But they also want the junior developers to have the same experience ...
- TeeWEE 9y agoWhat is a junior developer? Is a junior developer somebody without experience but with a good technical background. We hire those for sure. But we dont hire people who dont have a solid basis, and just know a little bit of javascript programming. For computer programming in a serious field, you need to know the basis to be good one, to solve real problems. We actually dont use the name "Junior" developer. You're a software engineer or you're not. Junior developers are often names for people who can't program. We don't hire them.
- z92 9y agoYou don't hire junior devs then.
- skookumchuck 9y agoSeems like one week I read that firms only want to hire freshly minted engineers because they are cheap and easy to exploit, then next week I read they only hire senior developers because they're more productive.
- meerita 9y agoIs out there any data or evidence that support her article? to me it sounds the typical bubble problem: you think it's generalized problem but the data shows another thing.
- jlebrech 9y agocompanies need to follow the 80/20 rule. 80% non-junior developers and 20% junior. Juniors should do 80% of the work and seniors should have 80% of the knowledge. if the juniors are busy doing things then the seniors that focus on hard tasks.
- jlengrand 9y agoIt's funny, my experience is completely different. I've always loved to hire juniors because you can mentor and they usually come with less preconceptions. That makes discussions much more fruitful. And they usually make you think about your decisions much more, because they can challenge things that any engineer with experience with just take for granted or accepted. The learning curve can be an issue though. You want to be constantly be welcoming newcomers to have a rolling scheme of new 'seniors'.
- alkonaut 9y agoIs this because people stay for just short timespans? We hire junior devs but we don’t expect much for the first years. I’m 15 years in and in a team of 30, the average is probably 10 years. It takes a year to just “onboard” someone until they don’t need a lot of mentoring, but until a junior dev isn’t just a dangerous mess-creating junior dev, takes at least a couple of years more. Learning the domain takes many years too, and without knowing the domain you need to be micromanaged and have everything specced up front or need constant interrupting feedback from product owners (should this be default on? What order should this be sorted? How many frobs will the typical user enter here? etc). Obviously you can’t stop people from leaving but I wouldn’t even hire someone unless I genuinely believed they are going to stay 5 years. (For context, this is heavy technical desktop software in a very mechanical engineering-heavy domain)
- dandare 9y agoPart of the problem is head count, at least in the company I work for. We had a hiring freeze and now we are allowed to hire two heads. I would love to hire one senior and two juniors but I can't.
- scarface74 9y agoI feel really badly for junior developers today. I was both fortunately and unfortunately never a "Jr. Developer" as a professional. By the time I got my first programming job right out of college in 1996, I had already been a hobby programmer for 10 years, had been very deep into assembly and C, and had been reading books like "Code Complete". My first job was writing a data entry system from scratch in C. It was also unfortunate because I spent the first 12 years of my career working at 2 companies where I was either the only developer or one of only two or three and the other two had been at the same company from the beginning of their careers. So yeah, I was a good "developer" (I had the chance to look at some of my old code and it would have passed one of my modern code reviews), but I didn't start learning modern, proper "software engineering" until 2008 when I started job hopping and choosing companies where the goal was more to gain experience than make money. Although the money wasn't bad either. Even back in 1993 while in college, I got my first programming side gig because another college saw a HyperCard stack I posted on AOL. If I wanted to break the cycle of no experience <-> no job today, I would do a side project and post on github and link my resume to it. I have experience and a good resume but I'm thinking about posting side projects to GitHub just to get experience in technologies I don't get a chance to use at work.
- cimmanom 9y agoCompanies have woken up to the fact that for the most part people no longer stay in one job for more than a few years. Training junior people makes sense economically only if they get up to speed and positive productivity within a small fraction of the time they'll be with your company. Since a bad developer creates enormous negative productivity, it can be years before a new programmer's contributions are productive at all, let alone greater than the ongoing opportunity cost of the time spent mentoring them, let alone the sunk cost of months to years of mentorship. This time makes sense only to invest if you expect the developer you trained to stay with you for many years. That expectation has become less and less rational over the past couple decades. Nowadays if you take on and train a junior, you're taking the loss on that training - not to train someone who's going to be a good mid-level developer in your own company, but who's going to jump ship for somewhere else well before you can make back the senior developer time spent on them.
- mratzloff 9y agoYou shouldn't have this problem if you 1) hire for intelligence, drive, cooperation, and passion about the mission or opportunity, 2) give them continual opportunities to grow and take on increasing responsibility, and 3) compensate them appropriately (as a manager, privately reevalute title and comp every three months for the first year). Of course, these are the same things (among others) that are true for every engineer. There's an endless supply of juniors to choose from, so there's no excuse for a bad hire. If they leave for more money that you could have paid them, that's on you, too. Do those things and you'll win their loyalty.
- marcus_holmes 9y agoI recently put together a dev team from scratch. I specced it out as: One Senior Dev, one Project Manager, one Team Leader (an existing employee experienced in the company politics and able to manage), one Ops/Infrastructure role, and one Designer. Needless to say it didn't quite work out like that. We ended up with two junior devs, one developer, one project manager, the ops guy, and the team leader. One of the people we interviewed for a Junior Dev role was actually pretty experienced (not enough for the Senior role though). Two of the devs could design well enough to be able to do the UI work. We're still looking for a Senior Developer. The team will need to learn as they go, but I'm able to cover for them enough so they can make mistakes (ahhh, the pleasure of being a CEO with a techie background). I hope to continue bringing on new Junior Devs as the team grows and learns. Creating a pipeline of talent is essential to finding the best people. Because the best people aren't found randomly, they're trained and coached, built up to be the people that the team needs. It's all about long-term planning rather than short-term thinking. I'm pretty sure that in about six months this team will be doing all the things we need it to, and in about 18 months we'll have lost (at most) one of them and the team will be exceptional.
- lmilcin 9y agoThe demand for developers is such that no company can ignore hiring and training junior developers. IMO companies have relabeled them to developer and even to senior developers, presumably to make hires feel better that they joined exclusive group of people. This may also be a result of some tension in HR departments where they are expected to provide some number of headcounts on different levels but they can't. So there may be natural inclination to prop up the hires to meet plans. The body leasing companies are also inclined to prop up their candidates to offer them for higher rates. Some regions of the world (my experience is with India) don't seem to have any junior developers. As soon as they are done with their training they have gained enough experience to be marketed as developers. I work for one of very large companies in financial sector and people who barely can write a loop in Java are still named senior developers. All this depreciates value of the official recognition of seniority and forces people to discover this on their own.
- mukundmr 9y agoThe investment an organization makes in helping junior developers get up to speed pays off in the longer run if the workplace isn't toxic. Ideas flow better when there is a difference in experience level in the team. Mentoring also helps experience people learn more as opposed to settling down in a comfort zone.
- ThomPete 9y agoThe economy killed the Junior developer. If we ever are in a situation where there are more applicants than jobs and the economy isn't doing well you can be sure the junior developer will be back.
- analogic 9y agoI did!!! pew pew pew pew!
- denisehilton 9y agoTo be honest "Junior Developer" doesn't make any sense. Its just a way of saying out loud hey this developer doesn't have too much experience and he's not that knowledgeable compared to other Senior developers. And honestly I have seen "junior developers" being way ahead of senior developers.
- CSMastermind 9y agoDo people really think this is a problem? I feel like everyone is taking the article at face value instead of reading between the lines: people don't want to hire bootcamp grads. Developers fresh out of college with a BA in computer science have no problem getting a job.
- burlesona 9y agoI had a similar reaction. Boot camp hires haven’t worked out very well when I’ve hired them in the past — even allocating a lot of mentoring time. I don’t care about degrees of big time jobs, but in my experience it takes several years of being a curious coder hacking on learning projects before you reach a level where I can give you work to do. There are plenty of people who fit that bill, but we can only handle a ratio of 20-30% junior or we can’t really give them the support they need to grow, otherwise we’d hire more.
- anovikov 9y agoThis is of course because of outsourcing. Junior devs usually do repeatable tasks guided by a manager closely, which is exactly what outsourced heads can do, definitely cheaper than the junior devs in the U.S. would. This is normal.
- akerro 9y agoGuess who won't have senior devs in 10-15 years.
- anovikov 9y agoOutsourcing destinations, because there is little demand for senior outsourcing heads. They become harder to manage, and their jobs are high impact enough to justify the expense of hiring them in the Valley directly. People who outgrow junior level will just make their own startups, or move to U.S. from the locations: outsourcing shops won't need them; more: they will take conscious effort to prevent them from ever growing, because growing, they become threats to these body shops.
- _pmf_ 9y ago> Who Killed the Junior Developer? Those who thought it a good idea to promote people to senior level after 6 months or a year.
- vinceguidry 9y agoThere were never any junior dev jobs. You have always had to lie, cheat, and steal your way into the field. I have a buddy who legit cheated his way to the top Magento certification and now cycles through $150k+ jobs where they keep him on long enough to realize he doesn't have any coding skills then they fire him. Reason is software is always an ancillary concern to the business. You see this in other fields, like say accounting, but the difference is that accountants leave school fully capable of employment. HR understands how to hire and manage accountants. But programming is this black box in the corporate world that no one knows how to understand, value, or hire for. This is why every company wants rockstars, they're hoping that someone whose at least confident to present themselves as a rockstar won't be a net negative to the company. Eventually they'll figure it out, took them a decade to figure out how to manage IT. Then companies will learn that they can't skimp on middle management for software developers. Some companies will need to give software a legit seat at the table and hire upper management. The political cover will allow shops to stabilize and with stabilization, you'll finally start seeing small and midsize organizations open up positions for juniors. But it'll never happen so long as companies don't take software development seriously by giving them political cover. If you are a software developer nearing the middle or end of your career, you're pulling the ladder up behind you if you don't seriously consider moving into management. It's too important a job to ignore to go chase your dreams.
- hacker_9 9y agoDepends on the business of course. Try getting interviewed by competent developers, they'll quickly find the holes.
- vinceguidry 9y agoI used to believe this, now I'm skeptical. Even if they find holes in the developer's competence, interviewing is not a task, it's a business process orchestrated and controlled by middle management. Say the competent developer finds holes in the interviewee's knowledge and skills, his findings become a line item in the report passed up to said middle management. The middle manager, hopefully not in HR, has to weigh all the items in the report, and as a result the actual skill level of the developer gets buried deep, under cultural factors and attitude. There's also the human aspect, does Jimmy Mid-Level know how to raise issues with an interviewee's competence convincingly? If he doesn't, his concerns are likely to get written off. This all ties back to the lack of political cover that software development shops in non-technically oriented organizations usually exhibit. Developers need to be in those middle management positions if they want their concerns to be taken seriously.
- bobthechef 9y agoReally? The "killing" of the junior developer seems like an anecdotal claim. Hasn't ageism been a concern here on HN? Doesn't that tend to suggest that older, and thus more senior developers are "discriminated against" in favor of younger, CHEAPER labor? The reasons being that either: - you don't need a senior developer for your needs - you can't fork out for a senior developer - you could really use a senior developer, but won't fork out for a senior developer because your penny wise and pound foolish - you don't understand the difference between a junior and a senior developer - there is a labor shortage in software development and all you can hire are junior developers
- madamelic 9y ago>- you don't understand the difference between a junior and a senior developer I think it is this. The title Sr Engineer is handed out constantly to people with little to no experience. You are basically Junior for a year then you get the title change. It is a bit absurd. So yes, there is a shortage of Jr engineers... but there are plenty of not very good Sr Engineers who should be Jr Engineers.
- Caveman_Coder 9y agoYou're absolutely correct on this point. My first job after obtaining my CS degree was "Senior Developer" even though I had never developed software professionally before. I got the Senior title because the company had their pay buckets tied to titles so in order for the company to bring me on at the rate I requested, they gave me the Senior title. Titles apparently are nonsense, at least from what I've seen.
- aidos 9y agoProbably a good time to say that we're trying to hire a Junior Developer in London, and I'll be providing as much mentoring as they want. https://news.ycombinator.com/item?id=16285477 https://news.ycombinator.com/item?id=16285477
- eliben 9y agoStack Overflow pops up plenty of "new grad" level jobs all the time, for example https://stackoverflow.com/jobs/155829/google-software-engineer-new-grad-google?med=clc https://stackoverflow.com/jobs/155829/google-software-engine...
- Beltiras 9y agoI trained a junior dev so well I was laid off because he was cheaper than me. One of the proudest moments of my professional life to be honest.
- wccrawford 9y agoI've got a junior dev under me that has gotten so good that that the thought of that scenario has occurred to me. I decided to come to terms with it by accepting that if that happened, it'd be the push I needed to spread my wings a bit.
- Beltiras 9y agoIsn't this the goal of every programmer? Programming their way out of a job?
- eddd 9y agoFirst of all, absolutely no employer (at least the sane ones) cares if you are junior/senior/old/ninja or superman. The goal is, to hire people that generate a cash turnover. If you cannot deliver a value that the company can capture as a profit - you are denied. It is that simple. Maybe these "Junior" people just don't know enough to be productive? How can I hire someone who will waste my time on explaining something that is so basic, one can learn by being involved in open source? And here is the conclusion. Stuck in Junior limbo (what ever that means)? Commit to some open source project, show me value you can create. I guarantee you, you'll be hired.
- whalesalad 9y ago1 or 2 "senior-level" folks (imho, people with at least a decade of experience within a multitude of environments) are going to outperform a half-dozen junior engineers. When you're building a monolith Rails application, anything goes. But now that the industry is trending towards (for better or worse) service oriented architecture, stateless cloud deployments, walled gardens tossing data back and forth over RPC, data science teams, etc... you need people who have been to war a dozen times and have already made all the mistakes. That is what you get with a senior engineer: someone who knows what NOT to do. I have spent most of the last 2-3 years of my career playing bad cop and telling people no. Shutting down wild and exciting ideas. Stopping over-engineering in its tracks. Preventing an investment in a bad technology. Preventing fragmented infrastructure with data in a handful of different databases. I think that is why the junior engineer has disappeared. Most of us were never trained/educated/encouraged to be good teachers and we spend most of our time putting out fires and trying to keep our hands on the pulse of technology while simultaneously hanging on for dear life within our organizations. Pivots, layoffs, blockchains, shiny new business objectives are all mortars flying at the eng team left and right. I wish I had junior engineers to mentor and teach and foster into folks who have good critical thinking skills and I can trust 100% to make the right decisions – but there is a tremendous cost involved to the business that I think most are unable to afford. Some of my most rewarding career experiences involved working side-by-side with folks fresh out of a bootcamp or university who were wide-eyed and bushy tailed. It was a lot of fun watching them run off and do a bunch of work then having a discussion on the choices and using each moment as a stepping stone towards a bigger understanding of all the moving parts in modern infrastructure.
- jerf 9y agoA hypothesis for part of the problem that I've scrolled through most of this conversation and still not seen: Junior developers are having a hard time finding a job because the tasks have gotten harder. As easy as people may claim "cloud" is, if a junior developer has to learn the three Javascript libraries, two backend languages, a devops cloud deployment system, and three monitoring technologies just to be able to break even on productivity, it's going to be hard to justify hiring a "junior dev". When I got into web dev in 1997, we didn't even have source control to speak of. We barely used Javascript. All I needed was a template language and same basic HTML, and we put out a project that, at the time, was considered amazingly cutting edge by most people who used it. If I were to try to hire me of 1997 now, I'd have a lot harder time finding something for him to do, because I'd have half-a-dozen technologies to train him on before he could even produce the equivalent of "hello world" that integrates correctly into a modern environment. All of these techs have reasons to exist. We found out about the server going down when people got frustrated about it being down and called us after hours of outage. We found out that something was eating 100% of the CPU the same way. Our "analytics" were mostly "Hmmm, nobody seems to be complaining, everything must be OK!" Automated testing? Literally never heard of it. And so on and so on. But people are not magically infused with this knowledge in college; in fact the curricula have barely changed since then (which I consider mostly a good thing), so it means that the bar to being a productive junior dev has definitely risen. Fortunately, my team lately has been able to diversify and we've got some more projects that are independent from the legacy code base I maintain, so as we've been looking at headcount this year I've been able to say that we've got some positions for juniors now, who can work in a space that is more lake-like than sea-like, and be productive, and learn things, and develop. But last year I had to say that I've got nothing that wouldn't take at least a medium-skill dev to get anywhere in any reasonable period of time. (And let me both open and close on the word part. I don't think this is the entire problem, and I agree with a lot of what other people said about other parts. But I believe it may be a quite non-trivial part of it.)
- lolsal 9y agoI find this observation really interesting! I've found that 10 years ago I was a more 'mature' full stack developer - I did front end, backend and ops type stuff. As complexity has grown I've absolutely shied away from keeping up with anything on the frontend and I avoid ops things as much as possible. It's probably not very wise on my part. These days I would absolutely not be able to call myself a full stack dev.
- alistairSH 9y agoIs this a small company vs large company thing? We hire interns and recent graduates most years. I've had 2 interns/summer for as long as I've been in a leadership role. The majority of my team was hired straight out of college. My employer is a well-established software company (35+ years, 400+ employees, R&D offices in 4+ countries). We also have a robust on-boarding program for college graduates. So, we can deliver all that early training once with willing SMEs instead of many times. Yes, it costs money (travel/housing for remote new hires, travel/expenses for remote L&D staff, catering, extra-curricular events, etc). That doesn't completely alleviate the mentoring load, but it seems to work well. Plus, the new hires make friends quickly and rely on each other more than they might otherwise.
- soneca 9y agoI am a junior developer on my first job as a developer at a startup with around 50 developers. The company, luckily, has a very opposite approach to hiring jr devs than what is described in the article. There are usually one or two jr developers per squad of 4 or 5 people (which is actually a maximum, the company is aiming only at more mid-level or senior devs right now). There is a very collaborative environment, a lot of help from all senior developers - not only the ones in my squad. What I think is missing in the economics there is that I (and all other jr developers) do provide measurable value to the company after 2 or 3 months. I am able to create simple, but necessary and demanded by the business, features by myself, just with senior developers reviewing my PRs. This idea that junior developers are a drag to senior developers is fake in my (limited) experience. I make the senior developer in my team more productive most of the time, and after around 8 months in the job, we are actually hiring another junior developer because I think I am ready to take some of the responsibility of mentoring him/her on a basic level. I am pretty sure that I am a net positive to the company on a $ invested per value delivered ratio.
- jdc0589 9y agoI agree that the fault does lie largely with employers, but it's not just them. Jr Dev positions are there, but more often than not they are at small local companies that likely aren't paying market rate (or at least their mico-local market rate). For example: there are lots of places in Birmingham (AL) with Jr dev positions, paid internships, etc.., but you can't expect to make > $65k out of the gates. Then again, small shops are the best place for a first dev job in my opinion. You get exposed to WAY more stuff than you would at larger more established places most of them time. There are downsides, but I personally think the most important thing for a first job is getting exposed to a lot of new stuff and learning to get comfortable in an unknown environment/stack quickly.
- runedog 9y agoDoes anyone have any suggestions on how to make myself available for mentoring over the internet? I'm sure there's many possibilities, but has anyone had actual success with any? Preferably I could get paid doing it, but if that's not really feasible then I wouldn't mind pro bono.
- Raphmedia 9y agoFind a Slack or IRC channel and hang out there. Example: I spend a lot of time in #FoundationSites, #Symfony, #Aurelia and answers questions there.
- jnovek 9y agoI've long maintained a maxim that's something like "Look in the opposite direction of everyone else." So when everyone flocks to the bay area, get the heck out of there. When everyone says "I have no space for junior devs" think about how you can take advantage of that underutilized resource. Junior devs are cheap. If you're willing to spend the time to sift -- and you will be doing a lot of resume sifting -- and setup a framework for mentorship, you can hire junior devs with more promise than your average senior dev. Anecdotally, one of my junior hires from a few years ago earned his way through positions quickly and became a senior software engineer in just three years. I actually invited him to be my co-founder on my next venture and he turned me down :-P.
- JAFTEM 9y agoI understand the appeal of Seattle and the Bay Area, but it sometimes boggles my mind that larger tech companies don't build in cities where there are a large number of new grads looking for jobs. [0] LA county produces the most CS grads in the country, [1] and most of them are moving out of the area and up the coast for lack of junior SWE openings in SoCal. Any of the Big N could have a monopoly on talent coming out of USC, UCLA, Cal Tech, UCI, UCSB, UCSD, Harvey Mudd, Cal Poly, etc. [0] https://datausa.io/profile/cip/110701/#counties_most_degrees https://datausa.io/profile/cip/110701/#counties_most_degrees [1] https://www.ocregister.com/2017/07/24/is-southern-california-suffering-a-tech-brain-drain/ https://www.ocregister.com/2017/07/24/is-southern-california...
- kenhwang 9y agoHiring juniors in LA has been delightful; so many strong candidates, no real competing offers. That being said, it's also pretty easy to poach burnt out, fed up experienced juniors from the Bay Area.
- JAFTEM 9y agoPoach said junior devs from the Bay Area to LA or in general? Sort of confused with your second statement. The crazy thing is that every one of my CS major friends I graduated with at USC moved up the coast to the Bay Area or Seattle, or to the east coast in NYC.
- deleted 9y ago[deleted]
- mixmastamyk 9y agoThis piece reminded me of my days in the restaurant business as a teenager. Was common for everyone to do a tour there, but now the jobs are mostly done by the “undocumented.” Don’t care to discuss the politics of that but it feels similar.
- 49531 9y agoI'm lucky to work where I do. We have the best system I've seen for growing junior developers. Our team is about 60 engineers and I'd say close to 20 of them are from non-traditional backgrounds (coding bootcamps or self taught). It's not that we're doing anything revolutionary, we merely accept that we can handle them, assign them a mentor, and let them learn.
- commandlinefan 9y ago> When they didn’t understand there would be a lag as I taught these people. In a world run by MBAs who figure that any programming task, regardless of complexity, ought to take an hour (MAYBE two) and if it takes longer that means the programmer is incapable, this is hardly surprising.
- logfromblammo 9y agoIt was the Middle Manager, in the Small Conference Room, with the PowerPoint. Did I win? <opponent reveals a card> Nope.~ "Junior" implies training, and American companies don't do training. If you're lucky, they have an internship program, which is apparently enough experience to get you a 6-month contract-to-hire as a "regular" developer. It's a name game. "Developer" is actually "Junior Developer", "Senior Developer" is actually "Developer", and "Lead Developer" or "Principal Developer" is really "Senior Developer".
- k__ 9y agoIn Germany at least we have apprenticeships and working students. There is a apprenticeship program for developers (Fachinformatiker für Anwendungsentwicklung -> Qualified IT Specialist for Application development) which gets rather much practical knowledge, since they only go, I think, 2 days a week to school and 3 days a week to work. This takes 3 years, so they have much time to transition from a newbie to a junior to a senior. The main problem is, most "professional school" are quite shitty. So if your company doesn't have good apprenticeship programs, you're basically stuck with learning outdated stuff at school and nothing of value at your company. I studied computer science and worked as a web developer on the side, so I wouldn't finish my studies without practical knowledge.
- Caveman_Coder 9y agoSo I've read through most of the complaints listed here and it seems like having a Software Developer Union would be one way to go. You could then have your jr devs undergo an apprenticeship similar to how we did it in the trades (5 years to become a Journeyman).
- Caveman_Coder 9y agoPersonal story time... I was a journeyman electrician for nearly a decade before obtaining my CS degree. The company that hired me, in order to pay me what I was making as a topped-out journeyman, brought me in as a Senior Developer (and its corresponding pay "bucket"). This was my first job actually developing software and I was, in title, a "Senior Developer," even though I knew next to nothing other than what was covered in my college curriculum. TLDR: Titles don't mean much...
- gnachman 9y agoMy experience at Google and Facebook is that junior devs are hires in great numbers. Intern season means you can’t find a parking spot because there are so many of them. This article doesn’t ring true to me, but my view of the world is narrow since I’ve only been at big companies. Is he talking about startups? I thought those skewed young too.
- bpicolo 9y agoI suspect this is referring the world of software at large, outside the SV sphere of influence.
- madeuptempacct 9y ago"I’ve seen the rates for senior developers because I am one and I had project managers that had me allocate timefor budgeting purposes. I know the rate is anywhere from $190-$300 an hour." What magic world is this and how do I get there? The norm here is maybe $50/hr if you are lucky with a phd and 20 years of experience.
- pascalxus 9y agoI had a similar experience. 15 years ago, with less than 1 year of experience I couldn't get a job to save my life. I had to work for companies for free! 5-10 years later, I was getting up to 5 offers for a job while interviewing. And yet, it's not like junior developers suck. I've seen plenty of junior developers who can build up an application, no problem. There might be some mistakes along the way, but they're able to get the job done.
- bpyne 9y agoMy title for my first programming job, circa 1992-3, was Junior Programmer. I was sent for two weeks of Oracle training on my first day. We didn't have a formal mentoring program, but the team was small and everyone was open to helping me anytime I needed it. My recollection is that "Junior" positions phased out along with training programs as companies demanded pre-trained people. It seems like companies have basically shifted all the cost of training to the individual. This is having an effect on college computer science programs as students and their parents demand programs more catered to industrial needs. (The paradox is that industrial needs change before a student can actually graduate.) Personally, I would love to work with Juniors and mentor them. In the absence of Juniors, I suggested that I do "lunch and learns" with our Help Desk people so they can be more than just ticket routers: maybe act as analysts before tickets get to senior people like me. As of yet, my manager and the Help Desk manager haven't approved. So, we keep riding the carousel of status quo.
- treve 9y agoSome data that's not anecdotal would be nice. I work for a fairly large SF company which hires mostly newgrads every year.
- maximexx 9y ago> Who Killed the Junior Developer? The educational system. I've seen horrible things happening to production code due to junior developers. In the end the senior/lead needs to spend way more time fixing all bad code/ideas than if he'd write it himself in the first place. I know a company that has a medior dev that is now already more than 2 months working on a feature I can write in just 2 weeks. Besides that, my code will likely still be better because I code with experience, using proven strategies, making it more scalable, preventing pitfalls, potential bugs, etc.. I don't think the companies are to blame. A junior dev should not write rubbish if he/she is a software developer graduate. Current IT education is very limited. Most of the things you learn in 5 years can be interesting and a good foundation, but not really relevant for most developer jobs out there. You actually have to start learning to code once done with your study. And learning to code is not a short journey, I guess at least some 3 years of full time study before you'll get the hang of it. And I didn't even touch the idea that you definitely need some talent or feel for it. You can study arts, but that alone won't make you an artist.
- genocide_throw 9y agoOkay, I admit: it was me. I just couldn't handle another PR where they didn't RTFM.
- jxramos 9y agoUnderwhelming article. I'd say the junior devs are now funneled through contract positions. My experience has been that my companies I work for typically take on junior level roles as interns or contract positions. Take on a couple of contract gigs in the early part of your career till you find a place you like and become a recognized and appreciated contributor. Then when your contract expires push for converting to full time, which usually works best with a counter offer in hand. Throw the dice on dice.com but withhold your full contact information and only give it out to roles you wish to filter. You'll thank yourself in the future in avoiding future spam.
- msluyter 9y agoMy undergrad degree was in music and when I decided to move into software development, I got into a master's CS program that was heavy on theory, light on practicalities. I graduated quite green and unconfident with basic tools/systems like vi or Unix. Hell, I could barely type. Once out of school, I opted to take a software test development (SDET) position, which provided the sort of hands on training and practical exposure I needed at the time. And, while technically it was a "QE position," the role did provide opportunities for coding in the form of automated tests, deployment scripts, test frameworks, etc... Although I ended up staying in QA longer than I desired -- the bursting of the web bubble in 2000 sort of pulled the rug out from under me -- I eventually laterally shifted into a dev role and have been quite happy ever since. I think this sort of path is still a viable option for aspiring Jr. devs, especially given our increasingly complex ecosystems/stacks. It's a great way to learn, and these days there seems to be less clean separation between QE/Dev roles in any event. QE people write code, devs write tests (or rather, they should ;)). (Note, I'm explicitly recommending an SDET role, not a manual testing role.)
- hbnyc 9y agoIt's a symptom of normalized salary ranges for entry level positions, a saturated market, and massive range in the skillset of entry level developers. There are two sets of juniors that I've come across. The first critically assesses a problem and it's edge cases, how to integrate the solution into the greater body of work, and considers performance. They might not know the stack of the company but they can be brought up to speed quickly by more experienced team members. The second is one that is incredibly proficient at the most cutting edge tools. They are hired because they are up to speed with what the company considers valuable at that moment. There is a much greater emphasis on getting shit done quickly rather than considering how it fits in later, how performant it is, or assessing how to integrate the solution in larger contexts. I've found the first type to be much stronger teammates over an extended amount of time. They are also the ones that are able to command higher salaries when starting out because of the approach. The second type sees the salary numbers being set by the first and has an expectation that it is what they too are worth. Now you have two drastically different candidates competing for the same entry level positions, at the same rate. The first won't have an issue getting a job and the second will struggle. Both can flourish in the right situations. We need to do a better job at distinguishing the two.
- myth_buster 9y agoTo quote Feynman... When I was at Princeton in the 1940s I could see what happened to those great minds at the Institute for Advanced Study, who had been specially selected for their tremendous brains and were now given this opportunity to sit in this lovely house by the woods there, with no classes to teach, with no obligations whatsoever. These poor bastards could now sit and think clearly all by themselves, OK? So they don't get an idea for a while: They have every opportunity to do something, and they're not getting any ideas. I believe that in a situation like this a kind of guilt or depression worms inside of you, and you begin to worry about not getting any ideas. And nothing happens. Still no ideas come. Nothing happens because there's not enough real activity and challenge: You're not in contact with the experimental guys. You don't have to think how to answer questions from the students. Nothing!
- songzme 9y agoThe ideal hiring process imo is actually a training process that is less focused on 'finding the best' but rather focused on helping their local community become good engineers. Companies fund their own bootcamps and pay students $15/hr (with no engineering experience). Students learn and help each other how to code (following a structured curriculum) with mentorship by engineers from the company. When students have finished the basics, they work on open source projects or internal projects following proper engineering process / tools that the company use. When a student has proved that he/she learned how to work well with other engineers and has built a few features, they get hired by the company as an engineer and this engineer would be immediately productive. This might seem like a crazy idea, but its actually not. The previous companies that I have worked for all offer paid volunteer hours which could go directly to this initiative. The cost of hiring is around 30k per engineer (conservatively), which could help train someone living paycheck to paycheck for an entire year. This non-profit does this: https://garagescript.org https://garagescript.org
- rossdavidh 9y agoI've seen junior devs hired and trained/mentored in pretty much every shop I've worked in (could be an Austin, Texas thing). But, if this is a problem generally, would it not just be a consequence of not expecting to be able to keep junior developers long enough to benefit from them? Or, if the hiring managers intend to flip the company in a year or two, not really caring about the long term pool of senior developers?
- ranci 9y ago> For my own part, I’m happy to mentor folks Oh joy, I can't wait to be mentored by someone who held a bunch of random front end positions for about 8 months, has 2 endorsements for javascript, nothing for backend, no degree in this field, considers themselves an author now and uses their gender as a weapon/excuse in their public musings.
- ranci 9y agoThe great irony of this article is that the author has degrees in forestry and agriculture and a very weak development skillset based on their LinkedIn profile and they still got a junior developer job.
- grappler 9y agoI've found myself in a "mid-level" limbo. I have lots of knowledge and a fair amount of skill from a lifetime of programming, but I have trouble keeping what feels like an insane pace some others around me seem to manage. I was flat-out told that my output isn't what they expect from a "senior" developer. Thing is, I never claimed that I was a "senior" developer, whatever that means. I just seem to have been slotted into that category based on years of experience. I didn't want to mislead an employer into thinking I was more capable than I actually was. I went job searching and specifically said to recruiters and hiring managers that I was "mid-level" and would set my salary requests accordingly. If that meant I'm held to expectations somewhere between junior and senior, and get paid somewhere between junior and senior, that would be just fine. I found that pretty much everyone was looking for senior devs, a few places advertised junior openings, and interest in mid-level seemed rarest of all. It's like they think everyone is either a junior who needs to be mentored, or a senior who can deliver a story every day or two. I feel perfectly capable of doing the work, but need some time to think my way through it. I don't quite understand why I'm finding that to be such a hard sell in a job market where it's supposedly so hard to find developers.
- OhDagny 9y agoThey're all offshore. The offshore people use their geographic obfuscation to train in juniors to more senior abilities, and that's the only means companies will pay for it.
- mbrodersen 9y agoThe existential angst experienced by Hacker News developers is amazing. One moment I am reading articles proclaiming that "nobody hires Senior Developers" (which is nonsense). And people freak out. Followed shortly by "nobody hires Junior Developers" (which is also nonsense). With an equal amount of freaking out. So should we conclude, based on the "wisdom" of Hacker News, that nobody hires any Junior or Senior or any other Developers of any age/sex/...? Of course not. Because developers get hired every day, all the time.
- yasinaydin 9y agoI am so pissed of that "Only members of Medium may see responses to this story." I thought I was a member but I learnt that it is 5$/mo.
- chuckmcknight 9y agoWhen I got started, Junior developers were assigned to senior developers doing maintenance programming. It was important work but it also gave you time to come up to speed on the system without the crush of new feature development deadlines. Sadly, it seems that not only do companies not do that these days but the new breed of developers seem to think they are too good to do maintenance programming. I learned a great deal about how systems really work and how to write robust software from some great mentors who had been moved to maintenance work as they neared retirement but companies these days are quick to lose older developers in favor of less experienced and less expensive younger developers. Lots of tribal knowledge is lost in that fashion every year.
- TylerJewell 9y agoHi - Melissa's blog post and the ensuing thread encouraged us at WSO2 to share our views on this topic in a response essay that talks about the importance of junior software engineers in a company. https://medium.com/@tylerjewell/bringing-life-to-new-software-engineers-f7a910966431 https://medium.com/@tylerjewell/bringing-life-to-new-softwar...