Most coders searching for a new job depend on the same basic mix of qualifications: a college degree, certification in one or more programming areas, and real-world experience working in software development. Yet while all of these attributes are important, there are numerous other factors, major and minor, that can help job-seekers set themselves apart from the competition and land a coveted position with an exceptional organization.
A passion for problem solving and a ravenous curiosity are essential coder attributes, noted Alex Balazs, chief architect at financial software firm Intuit, during an interview. "Often these soft skills can be missed in traditional software engineering interviews, but these are the critical skills needed to be successful as a coder," he said.
Every day, coders are faced with complex technical problems that require a love for digging into the details, brainstorming, and testing numerous possible solutions. "At the core of engineering is experimentation," Balazs observed. "This requires a certain level of tenacity to try new things, iterate on prototypes, and create solutions that have never existed before." Problem-solving and curiosity are the keys to continuing to re-invent what’s possible, and never being satisfied with the status quo, he added.
Joe Wilson, owner of Volare Systems, a custom software development company, said he looks for coders who are capable of expressing empathy. "Software development, especially on the consulting side, is about putting yourself in the shoes of the people who will use the software," he explained. "A successful software solution focuses primarily on those peoples' needs and, secondarily, on technical aspects."
Consider, for example, a client that needs an inventory management app with the ability to detect low inventory levels. A strictly technical approach would be to set up a process that sends instant notifications as soon as a shortage occurs. "But if you talk with the people who will receive and act on those notifications, they may prefer a report at the end of every week when they do their reordering," Wilson said. "Keeping the focus on and designing around the end user means we don’t over-code the solution."
Communicate to collaborate
Mark Bartlett, manager of cyber research and development teams at Raytheon Intelligence, Information and Services, noted that two of the most important skills he looks for when screening coder applicants are communication and teamwork. "These two skills work in tandem when collaborating on a development team, and are key to getting optimal results as well as learning how to pivot when things don’t go according to plan," he explained.
Strong communication helps lead to development team success. "The developer must be able to listen to new requirements, feature requests, bugs, and other tasks, as well as ask appropriate questions to fully understand the need or problem," Bartlett said. A developer should also be able to discuss a task or need with teammates to determine how they will be able to deliver the requirement or fix an issue. "Once the team feels completely comfortable asking questions, discussing the issues or options at length and being honest with one another about abilities, they will better work together to help each other succeed," Bartlett noted.
Many hiring managers also look for software developers with solid writing skills. "Every single coder at some point has needed to write documentation, or even comments within their code," observed Alain Gazaui, CEO of telehealth firm SpaKinect. "The skill required to parse complex, tangential ideas into easily discernible words is rare, but it can be developed," he noted. "Not every coder is a born writer, but many coders can be brought up to speed with just a little bit of elbow grease."
Seeking a good fit
Marcus Merrell, director of technical services for Sauce Labs, a web and mobile application automated testing platform provider, said he looks for coders who have a record of being successful collaborators. "In fact, when you're screening applicants, I’d argue that adaptability is even more important than raw coding skills," he said.
The most successful development teams are those that embrace inclusion and foster a culture of collaboration and adaptability. "Coding skills are not going to make or break your development team," Merrell advised. Lack of inclusion, lack of collaboration, lack of adaptability -- those are far greater risks."
Bartlett said that while his coders work well as a team, assembling such a force required both time and the prioritization of skills. "Allowing the team to self-organize and drive their destiny allows everyone to take the leader role at different points in time," he noted. "As a result, everyone finds their voice and the whole team benefits."
For more on IT careers and building a tech team check out these articles:
John Edwards is a veteran business technology journalist. His work has appeared in The New York Times, The Washington Post, and numerous business and technology publications, including Computerworld, CFO Magazine, IBM Data Management Magazine, RFID Journal, and Electronic ... View Full Bio