5 MINUTE READ
What makes a great software developer?
There will never be a simple cookie-cutter answer to this question. But there are certainly many opinions out there. Common responses typically suggest things like: capable of producing solid, concise, and maintainable code, being a team player, and an eagerness to continually learn and further develop skill sets.
When recruiting developers, many employers place a lot emphasis on previous experience with specific technologies. Obviously, knowledge of relevant programming languages is the fundamental entry-level requirement for all development roles. But it is not the only yardstick that should be used to weigh up the merits of prospective candidates.
Developers are more than the sum total of the languages they have worked with.
A pragmatic view recognises that software developers are human beings who bring their own set of characteristics to the work they do. Therefore, if you are thinking about expanding your software development team, careful consideration should be given to the unique traits of each candidate.
Given that all candidates should have the necessary technical proficiency for the job, it is typically soft skills such as organisation, interpersonal communication, and adaptability that delineate great developers from average ones.
In this post we’ll explore some of important character traits you should look out for when adding to your development team.
This point cannot be overstated. A developer’s attitude influences virtually all the work they produce. Those who have a natural can-do attitude will go the extra mile to ensure projects are delivered on time as deadlines loom. Great developers step up in this way because they genuinely care about the work they do. A good way to instill a positive attitude is to assign them to interesting projects, give them a sense of ownership, and praise them for good work.
Impeccable Communication Skills
While it may not seem so at first glance, good communication skills go hand in hand with good development skills. Why? Because a good developer needs to understand the root cause of problems clearly and propose workable solutions to the rest of their team in a coherent manner. Asking others the right questions is the only way developers can quickly get to grips with problems as they emerge. When considering international developers, high-level proficiency in English is crucial. English is the standard language of documentation and developer interactions. If they don’t speak it well enough, they’ll require interpreters and translators, which can introduce inaccuracies and slow the whole process down.
The best skill anyone can have is knowing how to learn. Nobody wants to take time out of their day to spoonfeed information to a developer who could have sourced it easily themselves. Unsurprisingly then, great developers tend to be outstanding self-learners. They aren’t intimidated by new technologies and will often choose to learn new languages in their free-time. But even the best developers will find themselves in situations where they don’t know the answer. The skill comes in being able to research on the fly and pull disparate bits of information from various sources to create a solution.
Another quality of top level developers is their ability to help other developers get better. They are quick to offer help when teammates are stuck, teach new skills to others and write documentation that helps not only teammates but the wider developer community. In this regard, it is worth asking candidates about their engagement in online development forums. Those who are highly active online will probably also be enthusiastic about helping others learn on the job.
Many developers who work hard to find solutions to problems they encounter themselves are keen to share their knowledge with others online. For example, Carl Rippon, Head of Development at The Access Group, runs his own blog for exactly this purpose. Since starting the blog in September 2014, Carl has been consistently publishing content for the benefit of others grappling with similar coding challenges. The presence of this kind of helpful attitude is one of the keys to a high-performing and cohesive development team.
Great at Time and Task Management
When time management isn’t handled correctly, delivery dates need to be continually pushed back. A key skill developers should posses is the ability to accurately estimate how long it will take them to complete a given task. There is nothing more frustrating than a developer who consistently makes promises they fail to deliver on. The best developers recognise the limits of their own abilities and can communicate clearly with management to ensure expectations are set realistically.
This list of attributes applies to almost all jobs. Development roles are unique as they require particular technical expertise. But when all candidates have the necessary technical skills for the job, assessing how they rank on non-technical skills is an effective way of identifying those that will be the greatest assets to your business.
Looking to expand your tech team? Quick submit your vacancy today.