Creativity and resourcefulness are not necessarily the first competencies that comes to mind when attempting to identify the best software engineers. However, the act of writing software is often a highly creative activity in which resource constraints are numerous and frequent. There are times when seemingly-impossible objectives are not the result of complicated problems, but rather the result of an extremely constrained environment. Often the constraints of the problem make a conventional solution impossible. These cases require an engineer's creativity, resourcefulness, and outside-the-box thinking to produce a novel and innovative solution to a tightly constrained problem.
While it may seem like problem-solving and creativity are the same thing, they are certainly not. There are some engineers who are extremely good problem-solvers. They can solve almost any problem within the given constraints. However, when the problem is not solvable within the constraints, they are stuck. In these types of situations, creative and resourceful engineers make their presence felt.
There is often a correlation between creativity and resourcefulness, but they are two different competencies. Creativity usually involves the creation of something that is new, unusual, original, or different. Resourcefulness is ability to solve problems or handle situations using the limited available resources. Resourcefulness often involves a great deal of creativity, as existing resources need to be leveraged in new, unusual, or unique ways to accomplish the required objectives.
This is where the really creative engineers have the upper hand. They routinely have the habit of removing constraints when thinking about problems. They are constantly questioning the status quo in ways that may make some uncomfortable. While a great problem-solver can make fantastic improvements to an existing product, an extremely creative engineer may come up with an innovative idea that makes the entire product obsolete. There may be times when it seems like it's a challenge to keep these types of engineers on task, as they are always looking to pursue a new idea. However, when you team up a creative engineer with an extremely pragmatic one (someone who is able to filter thru the ideas, discarding the not-so-great and improving on the ideas with merit), they have produced some really amazing innovations (ie: Steve Jobs & Steve Wozniak).
While creative software engineers tend to be good software engineers, it seems that many (my annectdotal evidence) are not genetically predisposed to being creative. However, if your team of engineers seem to lack creativity, there are things that you can do to foster it. If you are interested in some tactics that can be used to foster innovation, check out this article on how to create a deliberate practice that fosters innovation.
There are often problems encountered by software engineers that aren’t going to have an obvious solution. They may require some unconventional thinking. The solution to the problem may not even be a technology solution. It might require a change to a business process or possibly thinking about the business context in an entirely different way. The interviewer is attempting to gauge how the candidate will be able to handle these types of situations when they encounter them. Is the candidate able to step back and evaluate the big picture when they encounter these types of challenges? In this question, the interviewer is not necessarily trying to judge just the creativity of thought. They are also interested in how the candidate leverages creativity as a tool to accomplish business objectives.
A good response will provide an indication of the candidate's ability to think creatively. While not always easy to measure, creativity is generally described as new, unusual, original, or different. As such, you should use the criteria below for judging a good response.
It is possible that a candidate isn't able to provide an example of when they were really creative. There are numerous other competencies that are important factors of a software engineer's productivity. If prompted, they may be able to provide examples of when they were able to leverage their resourcefulness, tenacity, problem-solving abilities, etc., to find a solution to a particularly troublesome issue they encountered.
This question is designed more as a way to evaluate a candidate's ability for creative thought. This isn't necessarily the same as their ability for creative accomplishments. There are some engineer's who have amazingly creative ideas, but they may not have the focus, ability, or knowledge to actually implement the idea to create the solution. This is not necessarily a problem. Depending on the makeup of the existing team, there may be team members who are expert implementers. Some of these people may be able to implement the solution, even if they wouldn't have had the creativity to think about the problem in that particular way.
A good response will indicate a candidate's willingness to think outside of the traditionally accepted constraints of the problem. The idea may not be feasible for a number of reasons. However, the interviewer is trying to assess a candidate's creativity for thought. Often during brainstorming sessions, lots of ideas are thrown around. Creative engineers provide immense value to these types of sessions. Ideas are often morphed and improved during these sessions, and having unconventional ideas as a starting point significantly improves that chances of producing business-changing innovation.
The need for creative thought may vary significantly by the role or position. While many engineering positions require a great deal of creativity, there are those positions that don't. It is important to understand that hiring an extremely creative engineer into a role that doesn't allow or require much in the way of creative thinking will likely cause that engineer a level of dissatisfaction fairly quickly.
This question is meant to gather some information on a candidate's resourcefulness. How do they handle situations in which there are significant resource constraints? Resource constraints are common in the real world. There is rarely enough money, people, tools, or materials to adequately accomplish the given objectives. Engineers are not defined by the moments in which they accomplished objectives with all the necessary resources, but rather, the times they were able to accomplish something in the face of adverse conditions.
A good response will provide an indication of how the candidate is able to accomplish objectives in the face of limited resources. Maybe they were able to leverage other teams in unconventional ways to help get the job done. Maybe they created such a strong value proposition, that another team was incented to help them finish. Maybe they used some uncommon tools. Maybe they employed development channels that weren't typically leveraged.
Since there is a correlation between creativity and resourcefulness, those engineers lacking in creativity likely also lacking in resourcefulness. Like creativity, resourcefulness isn't the only competency that determines the success of a software developer. However, if you looking to hire an engineer to a role that frequently encounters numerous resource constraints, resourcefulness will be a competency that you should consider when making a candidate assessment.
Are you Interested in Learning Why Great Developers Should Possess the Ability to Influence Others?