In our 30+ years of experience building engineering teams and delivering high-performance engineering services, we have learned what makes GREAT Developers. We’ve learned through experience how to vet, screen, and hire for the traits that we value in SW Developers. We’d like to share the benefit of our experience with you.
To be sure, a Great Software Developer should possess the required level of technical mastery. And just by focusing on this as a hiring manager, you are sure to get many “good” developers. But what makes a Great Developer?
This article illustrates the difference between “good developers” and “great developers”, including tips on screening and hiring.
The 6 Top Traits of GREAT SW Developers
The following 6 traits differentiate good developers from Great Developers.
- Required Technical Mastery
- Extremely Good Communication
- Critical Thinking
- Team-Oriented Attitude
1. Required Technical Mastery
Great Developers write efficient, highly-scalable, quality code. As such, they possess the required technical mastery for the role/project.
Note: Technical Mastery is not to be confused with years of experience.
Plenty of “experienced” developers write sub-par code. And especially for critical applications, quality code is paramount.
An effective code review, where potential candidates review a piece of broken code and offer general architectural observations, can determine if the candidate has the required experience designing and implementing quality, highly scalable, and readable code. This is the most important part of a good microservice architecture, especially for critical applications like banking and telecom.
The importance of microservices experience is often underestimated in technical vetting for developers.
Given today’s modern cloud architectures, Great Developers MUST have microservices experience. This is true even for front-end developers.
Look for developers who already have the necessary microservices experience, as learning microservices during a project is not feasible. Proper technical screening can accomplish this.
Cloud App Developers, LLC is an engineering company foremost, and as such, we can vet SW Developers with the strictest technical requirements. In addition, we are microservices experts, and we use this expertise to assess all developers’ microservices experience.
Great SW Developers: More Than Technical Masters
The importance of technical mastery notwithstanding, being an exceptional coder is often not the most crucial skill for a developer.
In fact, other “soft skills”, when combined with technical mastery, are usually what differentiates average developers from Great Developers.
These 5 additional traits are often what makes the difference.
2. Extremely Good Communication
Great Developers can communicate ideas, concepts, and details effectively and efficiently.
Few things alienate managers and other team members more than people that just can’t get their point across.
Teams must collaborate at levels much higher than in the past. Clear, crisp communication is essential for CI/CD environments, with English proficiency being only one of the requirements.
In addition, addressing cultural communication differences is important if you have multicultural, geographically-distributed teams. Westernized countries typically use “low-context communication”, while their counterparts in other parts of the world use “high-context communication. ”
Selecting developers from low-context communication countries can often eliminate misunderstandings between your internal and remote teams.
Cloud App Developers, LLC screens for engineers with excellent English proficiency, as well as low-context (western style) communication.
Great Developers don’t always have to be told what to do. They take on tasks that are obviously needed without being told to do so.
Lack of proactivity is a significant source of development bottlenecks, especially for remote teams. It is estimated that up to 30% of development bottlenecks are due to developers waiting for input on gated items, instead of moving forward on items that are not gated.
Great Developers find workarounds and remain as productive as possible.
Proactivity is perhaps the most decisive personal trait that predicts higher pay for developers.
The best coders are rarely the highest-paid developers on a team. This fact often leads to coding geniuses feeling unappreciated. But the fact is; proactivity is often valued far more than coding genius, and for good reason.
Being proactive is a choice. Find developers who have made the choice to seek out solutions, to look for ways around perceived roadblocks, rather than wait to be told what to do or for problems to resolve themselves.
Cloud App Developers, LLC highly values proactivity and actively vets for this trait during our interviewing process.
4. Critical Thinking
This almost goes without saying. Companies are usually not looking for coders; they are looking for Software Developers (Engineers) who can identify and analyze problems, and then evaluate potential solutions to determine the best possible outcome. Of course, experience once again comes into play here. But so does natural talent and intelligence.
Let’s face it; most of the time engineering managers do not have a complete, clear specification from which a developer can simply use their “coding genius” to write brilliant code. Most of the time, there are problems and challenges that must be overcome. Critical thinking skills are, dare I say… critical.
Cloud App Developers, LLC spends a great deal of time evaluating critical thinking skills during our comprehensive interviewing process.
Some developers are only comfortable coding well-specified tasks. Great Developers are Flexible.
The age of the “developer specialist” is dead.
Modern microservices architectures are tightly-coupled and require developers to fill multiple roles for the CI/CD pipeline to flow freely.
Great Developers don’t hesitate to take on simple tasks outside of coding, even if it’s outside of their comfort zone. Example: an ideal developer won’t hesitate to take on simple DevOps tasks.
Cloud App Developers, LLC focuses on identifying developers who are flexible.
6. Team-Oriented Attitude
Great Developers have the motivation, desire, and patience to be team players.
The willingness to do so can make the difference between a good developer and a Great Developer.
Talented developers are often introverts, so collaborating with other team members often requires them to operate outside of their comfort zone.
Understanding personality types can help identify a team-oriented attitude (or lack thereof).
At Cloud App Developers, LLC, we cultivate developers with team-oriented attitudes.
Great Developers Are Not Easy to Find
Upon reading of the Top 5 traits of Great Developers, it is clear that finding developers with these valuable traits can be more difficult. And in a tight developer labor market, how can one scale with developers that possess these valuable soft skills and technical capabilities?
One way is to work with an Engineering Company that can do all of the difficult front-end work so that you don’t have to. This company should:
- Understand the difference between a good developer and a Great Developer
- Effectively interview for Great Developers
- Have an extensive network of potential developers to help you scale.
Cloud App Developers, LLC is just such a company. We are an Engineering Company with the experience to screen candidates for the strictest of technical requirements, and we have a vast network of candidates to help you scale.
Contact Cloud App Developers
Tired of being bombarded with candidates that do not meet your specific needs? Contact us with your top-level requirements and we’ll get to work assembling a team of Great Developers for you.