A Great Software Developer, while possessing an impressive level of technical mastery, also has a particular set of personality traits and other skills that might be even more impactful. In this regard, years of experience may not be as important as a developer’s mindset and willingness to work outside of their own comfort zone.
To be sure, a certain level of technical mastery is required for many developer roles. And just by focusing on this as a hiring manager, you are sure to get many “good” developers. This article illustrates the difference between “good developers” and “great developers”, including tips on screening and hiring.
Cloud App Developers, LLC is an Engineering Company started by 30+ year industry veterans who have learned over the years what makes GREAT Developers. We’ve learned through experience how to vet, screen and hire for the traits that we value in SW Developers and now we are doing the same for our clients. This approach, combined with our vast network of qualified remote developers allows us to scale your development teams with GREAT Developers.
Re: Technical Mastery
Before we uncover the 5 Traits of Great SW Developers, a word on the topic of technical mastery.
A certain level of technical mastery is required to write efficient, highly scalable, quality code. However, just because a Sr. Developer has “13 years experience in Java,” it does not mean they can meet this standard. That’s not to say that quality code isn’t a function of experience; clearly, it is. But 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.
Cloud App Developers, LLC is an engineering company foremost, and as such we can vet SW Developers who possess the strictest of technical requirements.
“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.
If you measure the total impact of a developer on a team, 5 traits rise to the top of the list.
The 5 Traits of Great SW Developers
Assuming developer candidates have the required technical mastery for your needs, the following 5 traits differentiate average developers from Great Developers.
1. 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.
Communication between team members is more important than ever in today’s modern architectures. Teams must collaborate at levels much higher than in the past. Clear, crisp communication is essential for CICD environments.
Of course, addressing cultural communication differences is required 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 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 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. Software developers that only execute the requirements given to them aren’t developers or engineers, they are coders.
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 this during our interview process.
Many 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 CICD pipeline to flow freely.
For the good of a project, a Great Developer will not hesitate to take on simple tasks outside of coding. This often requires living outside of their comfort zone. As an example, an ideal developer will not hesitate to take on simple DevOps tasks if asked. Cloud App Developers, LLC focuses on vetting out candidates who are too rigid and not willing to be flexible.
4. Team-Oriented Attitude
Great Developers have the motivation, desire, and patience to be team players.
Talented developers are often introverts, so collaborating with other team members often requires them to operate outside of their comfort zone.
The willingness to do so can make the difference between a good developer and a Great Developer.
In addition, it is essential that team members can take criticism from other team members with a productive attitude. Only then can the team work together and improve processes, communication, and overall code quality.
Proper screening for personality types and the candidate’s willingness to be a team player can identify a team-oriented attitude (or lack thereof). At Cloud App Developers, LLC, we foster team-oriented attitudes and only cultivate engineers that will work well within teams.
5. Microservices Experience
In today’s modern architectures, Great Developers MUST have microservices experience.
This is true even for front-end developers. Microservices are often tightly coupled, meaning each microservice communicates with many others. Developers in all areas of the system must understand that making a change to one microservice can impact other microservices.
Learning Microservices from the ground up during a project is not feasible. Look for Great Developers who already have the necessary microservices experience. Proper technical screening can accomplish this. As an engineering company first, Cloud App Developers, LLC are microservices experts, and we use this expertise to assess all developers’ microservices experience.
Great Developers: Purple Unicorns?
Upon reading of the 5 traits of Great Developers, one might ask if such developers are “Purple Unicorns”, meaning they are so rare as to be nearly impossible to find. To be sure, finding developers with these valuable soft skills is more difficult, and they may cost more.
The question isn’t whether it will cost more to find them. The question is: what will it cost your company if you do NOT find them?
Working with engineering companies like Cloud App Developers can be extremely valuable. Cloud App Developers is an Engineering Company first, and a staff-augmentation partner second.
Cloud App Developers:
- Understands the difference between a good developer and a Great Developer
- Effectively screens for Great Developers
- Has an extensive network of potential developers to help you scale.
If you are tired of being bombarded with candidates that do not meet your specific needs, and you would like to augment your team with “Great Developers”, please email me at email@example.com
or you can book a meeting on my calendar.
(There’s a reason we enjoy an 80% candidate acceptance rate.)