What is Important When Interviewing Software Developers?
Lately I have been interviewing a lot of candidates for senior and entry level software developer positions. I recognize that software languages and libraries will change over time; so, I am not looking for skills with particular languages as much as styles of writing code.
Here are some of the things I look for when interviewing, which is much different than most interviews I have ever experienced:
- How do you use version control and for what purposes?
- How do you know the software you wrote meets the requirements?
- What techniques do you use to write software that is reasonably easy to extend and maintain?
- What frameworks, patterns, principles, do you use when writing software?
- How does set logic differ from procedural logic?
These areas are not language specific allowing me to have a broader reach for candidates than someone who has used a specific language such as Java using a specific pattern such as MVC using a framework like Struts. Those are tools that can be learned in a few weeks…but software development skills take years to perfect.
Ok, for a person just coming out of college the typical candidate won’t have a clue about any of this stuff. Then I have to look more for aptitude of the individual to learn these skills instead of testing their historical experience.
Those are my thoughts and processes. What do you think? Are there ways to improve this concept? Am I missing something? If you’d like to share your ideas about what is important, or how interviewing should be done, drop a note to btaylor@sswug.org.
Cheers,
Ben
SSWUGtv
With Stephen Wynkoop
Did you catch the latests SSWUGtv that came out just yesterday? If not, Click Here to watch the latest Episode where Steve talks about the impact of Big Data on your privace requirements.
$$SWYNK$$
Featured White Paper(s)
All-At-Once Operations
Written by Itzik Ben-Gan with SolidQ
SQL supports a concept called all-at-onc… (read more)
Featured Script
Reordering Primary Keys
An example of a brute-force method, meant for one-time use (on DB migration). User is responsible for switching columns out … (read more)