It's hard to get your first job in any field. That's true in the realm of computer programming, despite the fact that we're seven years into the era of what Marc Andreessen called "software eating the world." Last year, for example, a survey of CIOs found that they expected spending for external software to grow by more than 4.2% in 2017.
You might expect a growing demand for software would translate into a growing job market for programmers, but that's not proving to be the case. The U.S. Department of Labor projects the number of new jobs for programmers will decline by 7% between 2016 and 2026. A shrinking job market makes opportunities especially scarce for entry-level programmers.
At present, of the 150 or so jobs listed at developer community DZone, "only one is specifically aimed at a junior/entry-level role," according to DZone product manager Kellet Atkinson. "Furthermore, the average number of years of experience that employers are seeking on our board is five or more." DZone is a community aimed at experienced developers, which Atkinson acknowledges may skew the listings.
Nevertheless, the overall employment picture for junior developers is gloomy.
For one thing, there are a lot of people competing for those entry-level jobs. A 2015 survey by the Computing Research Association found "the average number of CS majors at doctoral-granting academic units has more than tripled since 2006 and more than doubled since 2011." That translates to a lot of recent graduates entering the job market.
Another factor could be the growth of so-called "citizen developers" — people using no-code or low-code platforms such as Quick Base and Salesforce to create business applications without needing programming skills. According to the State of Application Development: 2017 Research Report from low-code platform Outsystems, 43% of 3,200 IT professionals surveyed said their companies either use or are considering using low-code or no-code platforms; these organizations also support (or are considering supporting) "citizen developers," generally non-professionally trained developers sanctioned by IT.
Reluctance to hire
Justin Harless, market director for staffing agency Matrix Resources Inc. in San Francisco, confirms that it is difficult to convince his clients to give junior programmers a chance. "They have internship programs in some places, but it's a small percentage of companies that will actually recruit entry-level engineers. You should see the level of screening they put engineers through!"
Antonio Civitella, CEO of transportation and logistics management software developer Transfinder in Schenectady, NY, says some companies' experiences with junior developers might have made them gun shy. "If I'm a developer, I have my day job — what my employer gives me to work on — and another job, which is to keep up with technology. Many junior programmers have shown that they're not willing to put in that extra time."
Apart from such specific negative experiences, hiring managers often view it as a risk to take a chance on an employee who is untried in their field. A writer on DZone's Agile Zone blog says hiring managers "worry about making an unjustifiable hiring mistake" ("unjustifiable" in this context means taking a chance on someone without a track record).
Others have suggested that some companies regard the need to train or mentor junior developers as a waste of time. A blog post on Medium provocatively titled "Who Killed the Junior Developer?" claims that companies won't hire them "because we can't afford to have our senior developers mentor them."
Few companies proved willing to discuss their hiring practices. Microsoft politely declined an interview, and Google and Apple didn't respond to multiple requests to comment on the topic.
Despite his criticism of some junior developers' attitudes, Civitella says, "I have no problem with junior developers." Transfinder offers to pay for any online learning their developers care to do (on their own time) and encourages senior staff to mentor those who show a desire for it. "If you tell a senior programmer to take their entire day and figure out why a junior programmer is not getting it, that's a waste of time. But when a junior programmer comes to a senior person and says, 'I want to learn, show me this,' everybody lines up to help. We mentor all the time, but we only mentor those who want to be mentored."
Sue Mildrum, senior director of engineering at online marketing company Constant Contact, says, "Yes, we enthusiastically hire junior developers!" The Endurance International Group, Constant Contact's parent company, will hire close to 40 engineering interns this year, says Mildrum. "In addition, we have a robust college recruiting program. Managers and engineers accompany our recruiters to college career fairs and bring back the resumes of the most promising candidates."
Constant Contact also has an in-house Software Engineering Development Program for new grads. After training, the newcomers start a series of two-month rotations, each focusing on a specific skill. "In each rotation they join a different scrum team and are mentored by members of that team," explains Mildrum. "Then they come back together as a team and design, build, and ship a significant enhancement to the product. Finally, they are assigned to permanent teams a year after they started with the company."
IT incident management platform vendor Moogsoft welcomes the chance to train junior developers, according to Joe Cabe, head of global talent. "Our CEO and founder Phil Tee wants junior engineers to come into our company and learn things our way, rather than come in with all these different habits," Cabe says. "Here in San Francisco we have one lead engineer, and under him is one senior UI developer, and then we have a new grad that works under the senior developer. And then we have three junior backend engineers also working under the lead engineers."
In Cabe's opinion, any company reluctant to hire junior developers is missing an opportunity. "I don't agree with that, unless you have people that do not believe that junior smart people will have an impact," he says. "We believe that they will."
Better your chances
Mildrum, Cabe, and Harless agree there's one important way a junior developer can increase their chances of being hired. "When we are hiring, we are especially interested in those candidates that have demonstrated drive and curiosity by working on side-projects," says Mildrum. "I would encourage students and junior engineers to find something they're interested in and use it to learn a new technology and gain skills."
Says Cabe, "You look at projects they get involved in and what they do in their spare time. It's less where you got a degree and more about what you really love to do and how much investment you put into getting better on your own."
Harless echoes that advice: "There has to be something the company can tangibly look at beyond their resume. That's what has gotten us to the next step, to get them in front of a client.
"Another thing is, LinkedIn has really turned into an online resume," Harless adds. "A lot of entry-level college grads don't think that their presence on LinkedIn is important, but that needs to be on point, because the first thing companies do is go look at that."
Jake Widman is a San Francisco, CA-based freelance writer focusing on connected devices and other Smart Home and Smart City technologies.