Help wanted
Stories Columns Opinions Resources
Sun extends Groovy, PHP support to NetBeans
Version 6.5 of the IDE will see complete support for those two languages along with comple...
|
Sun reorganizes its software production infrastructure
Facing economic hardships, lost revenue and loss of employees, Sun has split its software ...
|
Adobe steers Flash toward RIA implementation
At this year's Adobe MAX Conference, the focus was on Flash, this time making Flash more o...
|
BigLever builds a bridge to SCM with Gears
The Gears Universal Configuration Management Bridge allows CM systems to integrate with Ge...
|
SOA Watch: New economic realities
In the current economic downturn, agile programming and SOA are attractive options that bu...
|
Integration Watch: A new twist on threads
The key to raising the efficiency of multiprocessors is to shrink the overall workload by ...
|
Integration Watch: The Return of NetRexx?
Java scripting languages are seeing a surge in popularity, with NetRexx looking particular...
|
Windows & .NET Watch: Transaction crowd gets a boost
With multicore chips becoming the standard for processors, the need for a flexible, usable...
|
From the Editors: Election should shake up JCP
Rod Johnson has the right ideas for opening up the Java Community Process, and he may be a...
|
Letters to the Editor: Sun gives REST, SOAP choice
A reader takes issue with a headline on our story about Sun working with REST along with S...
|
Guest View: Be smart and lazy
The optimal solution for problems is the simplest one, so always aim to streamline your ap...
|
Zeichick's Take: From EXEC to EXEC 2 to REXX to NetRexx
Andrew Binstock's column last week, "The Return of NetRexx," brought back some fond memori...
|
Practical tips for saving money on code maintenance
If software design is expensive, well, code maintenance is even more so. When you look...
|
Transform your app-dev quality by involving the whole community in testing
As the saying goes, the more eyes you have on software, the shallower the bugs. That’...
|
Build your dev and test labs for less – a lot less – with virtualization
You don’t have the budget to equip developers and software test teams with all the har...
|
Software Common Hacks and Counterattacks: A Guide to Protecting Software Products against the Top 7 Piracy Threats
Software piracy continues to be a growing epidemic. This white paper examines prevalen...
|
By Jennifer deJong
September 1, 2008 —
Avoid bullies, mad scientists, nine-to-fivers and anyone who won’t talk to the customer. Look for candidates with a deep understanding of the art of development and a commitment to mastering new technologies.
That sums up the advice offered by development managers and recruiters when asked by SD Times how to find, evaluate and hire those software developers most likely to succeed on the job. They said job listing boards and social networking sites are useful for generating resumes and leads, but the best candidates are harder to uncover.
“They aren’t on the boards,” said John Estes, vice president for recruiting firm Robert Half International. “In fact, they aren’t even looking for a job.”
To find them, development managers tap their own personal networks—people they worked with in the past, peers from professional associations, referrals from colleagues. But your network won’t help much unless you build and maintain it before the hiring process, the experts said.
“You can’t just wait till the job requisition opens up and say, ‘Hey, do you know anyone?’ ” Estes said. “Hiring is the most important thing you do, and you have to do it all the time.”
Here’s the experts’ advice on how to find, assess and hire the best software developers.
Develop a culture where you are always looking for talent, said Estes. “Make sure everyone knows what your development team does, what technologies you use and what projects you’re working on.” Spread the word inside and outside the company. Estes recommended holding job open houses, sponsoring a lunch or a happy hour at a local user group meeting, even offering employee bonuses for successful referrals.
Know how to use your network, said Fortify co-founder and CTO Roger Thornton. “I remember the top 10% of the developers I have worked with in the past. That is the pool I go to, and it supersedes all else.”
It’s fine to solicit referrals from members of that group, but scrutinize them carefully, he said. A referral is promising only if the colleague who made it is “a discerning judge of talent. You have to know your network.”
Read resumes carefully. Don’t just scan for keywords and acronyms that match the technologies and skill sets you are looking for, said Tauni Green, director of finance and human resources at software consultancy Interknowlogy. “Delve deeper to make sure the projects described on the resume match those keywords,” she said, referring to candidates who pepper their resumes with popular technologies such as AJAX to make themselves more attractive to employers.
“It’s common for people to pad their resume,” and they should be held accountable, said Aaron Cornelius, a development manager at a Midwest software company, which he declined to identify. Candidates may list knowledge of PHP and Ruby, but when asked about their experience with the languages will reveal that “they used them for only a couple of weeks.”
Don’t focus solely on skill sets. Of course, a candidate’s specific technical expertise matters. But don’t look for a one-to-one match of skills and needs. Instead, find a developer talented enough to tackle anything new that comes along, said Patrick Hynds, president of software consultancy CriticalSites. “There is always a new product, a new beta, and [if you hire the right person], the odds are they will know what to do with it.”
Hynds prefers candidates that have earned their share of certifications, but not because he is scouting for specific expertise. Certifications, he said, signal “that the candidate is aggressively committed to learning new technologies.”
Meanwhile, Interknowlogy practice lead Adam Calderon looks for candidates who understand the art of software development. “If they don’t, you are going to run into problems,” he said.
Assess technical know-how. This is the heart of the interview. “Find out how well a candidate understands the platform you are working on, and get them to go as deep as they can,” said Cornelius. For example, “I ask them how .NET works, and see how much detail they can provide. It’s not about a programming language or knowing basic computer science. If you don’t understand how the system works underneath, you are not going to be as effective as the engineer who does.”
To gain insight into the thought processes of Interknowlogy’s candidates, Calderon said he asks them to walk him through their last project: “Lay out the application and explain how it was created. Why did you choose that? There are some drawbacks to that approach. Do you know what they are?”
This stage, said CriticalSites’ Hynds, is all about testing how a candidate thinks. “We push till we find something they don’t know, and then we figure out what that means.”
Steer clear of know-it-alls. “The best candidates are willing to say ‘I don’t know; I could find out,’ ” said Calderon.
Likewise, Hynds noted that “if you think you already know everything, you’re on the way down, and you are a bore. I learn new stuff all the time, and there is still so much to learn.”
Make them write code. Fortify’s Thornton hands candidates a blank piece of paper and says: “Write a program that a) you find interesting, b) I might find interesting and c) you can do in 20 minutes.” The best answer he ever got? “A neatly squared Morse code interpreter, written in Morse code. The worst? “A blank page.” Some candidates wrote boring programs, he said. “But if they did them in a modular, structured way, I’d often hire them.”
Can they fit your culture? Is the candidate an all-out grinder, or someone accustomed to a nine-to-five workday? Developers who are tied to bankers’ hours “are never going to fit in” at CriticalSites, said Hynds, whose team has been known to work around the clock to meet deadlines, sleeping in four-hour shifts.
Developers who produce only when the deadline is fast approaching present their own problems. Some shops actually demand a clock-watcher’s approach if they have to classify coders as nonexempt employees. Make sure the candidate understands the expectations before you make an offer.
Are they team material? Technical talent can take a developer only so far. You need to assess candidates’ ability to work with others.
To get a feel for that, ask interviewees to talk about their team experiences, said Cornelius. “People who run solo talk [only] about themselves. They say, ‘I, I, I,’ without mentioning the contributions of others. Sometimes they even cuss and swear, and talk about the people they got mad at.” But a team player talks about others, he said. “They are not tooting their own horn. I like those people a lot.”
Don’t bother with bullies. The worst of the poor team players are the bullies. They often have technical talent but spell disaster for the team by intimidating other members, and squelching collaboration and creativity, said Fortify’s Thornton. “You need developers who are nice, but of course you can’t hire them just for their niceness.”
His ideal candidate is a SWAN (Smart, Works hard, Ambitious, Nice). “When you find that combination, it’s magic,” Thornton said.
Steer clear of mad scientists and obsessives. Mad scientists may be brilliant, said Hynds, but tend to “throw things together and see if they work, without any reasonable expectation of whether they will or they won’t.” Then there are the “anal retentive” craftspeople, who may have a firm grasp of the task but “take 15 weeks to complete a project;” and the artists, who are perfectionists.
Hynds said he favors the “industrial artists,” who do “good enough” work in a set period of time. “You say, ‘You have three days to get me something usable for this user, for this business problem,’ and they do it.”
Look for business savvy. Gone are the days when a developer could sit alone in a cubby and bang out code, said Estes, the recruiter from Robert Half. “Software is developed in a team environment. You have to work with people, and that requires communication and people skills.” Not every developer has the inclination to do that. “But you have to put them in front of the customer, and allow other team members to step up and lead them.”
Developers today are stronger in soft skills than they were 10 years ago, noted Rob Walling, president of consultancy Numa Group, “but the personality type—developers tend not to be outgoing”—persists. Training, Walling said, can help: “If you are terrified of talking in front of people, take [a course in] public speaking.”
Interknowlogy CTO Rodney Guzman also believes that candidates must have the potential to work well with the business customer. “If you don’t have it, we’re reluctant to hire.”
Groom young talent. Team players with experience, technical chops and business savvy are ideal, of course. But don’t rule out entry-level hires. “Take someone with good, raw talent and educate them,” said Estes.
“We look at top colleges and don’t talk to anyone with less than an A average,” said Thornton of Fortify. “We pass on 90% because they are too arrogant, and [we] go for the ones who are nice.” In a development shop, everyone has a big ego, he added. “But you don’t want to see it every day.”
Related Search Term(s): professional development
Share this link: http://www.sdtimes.com/link/32791