1. A good web developer is a problem solver
The most important attribute of a web developer is the ability to figure things out. You are looking for a real problem solver, someone with a hacker mentality that possesses the critical thinking to find multiple solutions to a problem. Sometimes, in this scenario, the idea of “best practice” is less of a rule and more of a suggestion. This ideal candidate needs to be able to connect the dots in order to see the bigger picture and they must have the ability to see alternate ways to get the same functionality.
2. A good web developer is collaborative
In a small company, it is quite critical to have people who can figure things out on their own and do not need too much assistance simply because of the smaller resource base. This should not take away from that fact that you need to be collaborative. Many minds make light work. Often a micro brainstorm can yield that start of a solution, that eventually snowballs into an elegant solution. A dynamic team, with different strengths, tends to have individuals who approach problems from very different angles. The ability to project solutions from your perspective, without pushing it onto your team members is a valuable, but often overlooked skill.
3. A good developer has direction
Besides being resourceful and collaborative, a strong developer should have a clearly well-defined idea on what they want to do in the industry. By understanding where they want to go, you can align your team better without too many skills overlap. Ideally, you need a team that is aligned towards a common goal, but who can satisfy different requirements of achieving that common goal. For example, a strong front-end developer and a strong back-end developer could make a good team, like in our company.
How do you test for those sort of things in an interview settings?
The truth is it is very difficult to test for the right qualities in an interview setting. A good place to start is understanding how someone entered their career in development, it could give you little clues into what their thinking is like.
What previous projects have you been involved in?
You could run through some of the work they have done, and get them to explain certain aspects to understand how their process went. At the bottom of it, you need to get into their heads, to understand their thinking.
What area of the industry do they want to have an impact on?
By understanding what they want to bring to the industry, you can understand their trajectory, and perhaps get a view of what they're thinking. There are no right or wrong answers, but, of course, some answers don't have as much value as others.
The industry is in a very strange space because anyone can go online and learn how to code (Codecademy, Team Treehouse, Udemy).The average Joe, or Josephine, can learn how to code and build small websites on a freelance basis. When you work in an agency, you need to bring something else to the industry. What is that secret sauce that this developer brings that could help set the agency apart in the industry?
Do web developers need to keep up to date with the latest trends?
Yes and no. On the one hand, it is important to know what the latest developments are, but on the other, you cannot get too caught up in the latest passing fads. So, you need to be careful into moving into space where you are constantly jumping on the latest bandwagon. You also need to be wary of the fact that sometimes, simpler is better, and using a new technology just for the sake of it can detract from the impact of your project. However, the industry moves at such a pace that you need to stay in touch with, and be aware of, the latest developments or else you could end up redundant in a year or two. It is also worthwhile finding out what your interviewee is currently learning, and what frameworks and technologies they have worked with.
What do you think the next big thing in development is going to be?
Personally, I think artificial intelligence is the game changer. Anybody can learn to develop a website. The difference now is the content and how the content is delivered. To most, the user experience is all about the general user, how is the general user going to experience this site and is it easy to understand for a wide range of people. I would like to take UX to a granular level, how do we customise the user experience so as to provide each user with an experience that is tailor-made to them. After all, who doesn’t want to feel exclusive?