Obviously, there are the basic requirements and skills every decent software developer should have but I’ve also thrown in a few desirable attributes if you’re looking for someone or a company who is a cut above the rest.
Here are 6 things to look for when hiring a software developer.
Yes, this is an obvious one but a decent software developer needs to have solid programming skills. In my experience, a good programmer is usually competent in more than one programming language.
Strong, fundamental skills are also often overlooked, especially nowadays when there is such a focus on frameworks. However, even if your programmer is just working on front-end code, such as EmberJS, having an understanding of concepts such as Interfaces, Polymorphism and inheritance certainly come in handy.
Programming is not all thinking and pressing keys, it also involves research. Solid knowledge about the programming language or framework itself is a strong indicator. If you are hiring a Laravel developer, a .Net developer or a Rails developer, they should have a thorough understanding of the API’s available and know when to use them.
A good software developer will possess strong communication skills as they will often be liaising directly with a client or an in-house manager to fulfil a project.
The ability to problem solve and clearly articulate the solutions is also a must, as most software developers are required to come up with options to meet specific budgets and off-the-shelf solutions. They should also be able to present a breakdown of milestones, or the phases involved in a project.
A decent developer should focus on the success of our project above everything else. A focus on outcomes improving the value of your project (where it meets your business objectives) means a good developer will often encourage you to look towards more efficient and cost-effective options.
This means the developer should challenge or question your ideas and make alternative suggestions. Sometimes, it might mean they suggest an off-the-shelf solution over engaging in a completely custom build.
We commonly look to hire software developers who know how to use and implement a project management tool such as Trello, Basecamp, JIRA or Asana, among others.
This will ensure the developer can track projects, allowing teams to organise issues and assign tasks, share and collaborate on documents, and map out project schedules. Tracking time is also critical to a project’s success – a developer should be able to provide detailed reports of how and where their time is being spent on a particular project.
This allows a business to understand how much time is being spent on specific tasks and determine which aspects of a project their money is being spent on. It also serves as a useful tool to estimate timeframes for future projects of a similar scope, and is a good indicator of their ability to accurately quote on your project.
Software developers should use source control tools, such as GIT or SVN, to track changes made to code and record the problems that were fixed. This means the code is securely hosted and backed up, keeping an archive of a project as it progresses and protecting against data loss between large teams working on a project.
Bonus points if a developer works with development automation tools, meaning the developer’s time has been invested in scripting repetitive coding tasks, reducing the time costs of a project and decreasing the chance of human error.
If you’re keen to get extra finesse from a developer, it’s wise to hire those with additional technical skills.
This will show that they have gone beyond their basic on-the-job experience and demonstrate a true passion for developing. Qualities that put developers a cut above the rest include those who can carry out automated testing of code (e.g. unit testing, function testing and integration testing), those who have worked on their own coding side/hobby projects and those who have contributed to open source projects.
These aspects of coding will push the developer beyond their comfort zone, get them to think in more versatile ways and naturally means they’ll pick up fresh skills along the way – a perfect mix for finding that stand out developer.
Posted by Chris Rickard
Wed, 09 Dec 2015
5 reasons why we have a morning scrum routine
Every morning, our team meets for scrum. No, we do not change into rugby gear, put our arms around each other and shout out game plans – but...
Designing the perfect user experience (UX)
UX design is where art meets function – and it is crucial to the health of your brand and the success of your business. Here we explore the...
Flexible planning: Choosing the right methodology for your software project
When it comes to planning software projects, adopting a rigid or flexible approach can have an impact on the project’s outcome. Here, we exp...
Or call us on (03) 9016 3066