There could be a disconnect between the companies that are looking to hire Java developers and/or Java engineers and the men and women who are looking to take those jobs. Although many companies spend considerable money, time and effort to attract and recruit Java talent, there are still Java developers who have difficulty finding as much work as they want or the quality of work they would like. It behooves both sides to consider what the other side wants.
In some ways, the hiring environment for Java engineers and developers is very much the same today as it was five to 10 years ago. According to such sources as Dave Fecak, a Philadelphia recruiter specializing in software developers and engineers, the hiring practices of most big companies today are remarkably unchanged. Their process starts with posting a job listing on their own website and/or recruitment sites like Dice or Monster. Then they elicit internal referrals from existing developers. Then they reach out to the Java community with advertising efforts.
According to Fecak, who also leads the Philadelphia-area Java Users Group (JUG), the big companies that are still recruiting this way have things backward. "The key for companies that are looking to hire the best engineers is to be involved with the community in some way," he explained. "A job description on a website doesn't do it anymore. You've got to build your brand, as a software development company, to appeal to engineers," he said. If companies build up their brand as a good place to work, talented developers will seek out open positions within the company, he added. "Be more like a magnet, drawing them in. You want them to approach you instead of the other way around."
Fecak recommends that companies seeking out top software engineering talent keep themselves in front of the Java development community. Open sourcing select tools, sponsoring Java user group meetings, keeping a technology blog that chronicles challenges and solutions, encouraging Java engineers to speak at community events, and building an active Twitter following are all ways companies can build rapport with the community, he said. "These are small investments with a large return. Not enough companies are paying this sort of attention to the community."
That is not to say there isn't value in sticking to tried-and-true methods. Mike Schenk, chief technology officer at Connecture Inc., an application development shop focused on the health insurance industry, said many of his company's "best candidates come from referrals from employees, and especially from recent hires." When someone new joins a team, he or she often has friends and colleagues with whom he's already worked. If a new hire is working well in your development team, the chances are good that the people he wants to bring on also will be valuable additions to the team. This method allows hiring managers to make the effort they put into finding that one really great developer pay off in making future hires easier.
Schenk also sees value in investing in new technologies, not only for the value of the technologies themselves, but because they draw in talented new developers. "Technology is a big way to stay competitive as a hiring agent. We use our focus on newer technologies as a big part of the pitch for hiring new Java developers," he said. According to Schenk, Connecture focuses mainly on new application development. That makes it a more attractive company than those that are more maintenance driven, he added.
Building the Java developer's career
Advice for Java developers who are looking for work (or are looking for more work or for better work) varies by source. Some say it's important to always be learning; actively seek out new Java virtual machine (JVM) languages that could let you get the job done faster, build an application that does more or lend your applications simpler maintenance in runtime. Others say that expertise in a small group of proven languages is more important: Take your knowledge of these languages to new depths and learn how to apply them to new technologies.
"Java is everywhere. If someone is developing software, there's a good chance they're using Java, whether it's core Java, Java EE, Spring or Hibernate," said Independent consultant and Java EE expert Reza Rahman. According to Rahman, Java has been a big part of the major application development technology trends of the past decade. As simple client/server applications moved to a service-oriented architecture, and now, as enterprises are moving into cloud architecture and mobile applications, Java has continued to be a major force in enabling these technologies within the enterprise.
The growth area for developers right now is in mobile applications, in Rahman's view. That's where developers looking to build skills should look, he said. When it comes to which platform to develop on, it depends on the developer's style, he added. "If they like Objective C, they should look into developing for iPhone; if they're into developing with Eclipse, they might be more interested in Android," he said, adding "If you want to go for something really future facing, pick up HTML5."
Connecture CTO Schenk, on the other hand, sees Web development as an immediate growth area. The checklist of skills he's looking for in new hires includes Struts, Spring, Quartz and other Web tools. He usually looks at a combination of "the skill sets a candidate presents, but also how many years of experience they have," he said. There are obviously entry-level Java developer positions available for new graduates, but some jobs take years of experience to qualify for. There's a range of developers, from hardcore server-side folks to client-side developers and even Web designers.
Fecak, meanwhile, is a stalwart supporter of learning new JVM languages. In his view, talented developers are slowly drifting away from core Java and picking up new JVM languages instead. "I realized about five years ago," Fecak said, "that the guys looking into the forefront of new JVM languages were the best engineers in the group." As he watched from his seat as the leader of the Philadelphia JUG, the interest in new languages slowly spread out from the cream of the crop and "now, the intermediate guys are requesting the same things as well," he added.
Fecak also recommends that developers take part in open source community projects in addition to learning new JVM languages. "Open source community involvement is more in demand than it used to be. Putting up links to open source software projects they're working on is a good thing," Fecak said. Working with open source projects doesn't have to become a developer's entire life, but putting in some work after hours certainly works in the developer's favor. He recommends developers boost their resumé with technical hobbies, JUG membership, reading about the sector, being aware of the new languages (even if they don't actually learn them) and volunteering with open source projects. "Open source community participation is a great way [for developers] to show potential employers that they're passionate about their career."
Learn how CodeFights offers a unique tool for developer recruiting