Let’s consider two different level – Coder, Programmer.
Coder is engineer who can modify and implement not-big-size source code under the given SW architecture, requirement and environment.
Programmer is engineer who can define requirements, design SW architecture, analysis and fix system-wide-issues.
At first, we decide which level of SW engineer should be recruited.
To recruit Coder, following questions may be enough.
– Questions about language syntax and it’s application.
– Simple problem-solving-ability (ex. simple optimization and so on.)
– Coding test. (ex. implement linked list, Queue or Stack etc)
But, to recruit Programmer, you may need additional questions to know about his/her programming policy and values.
– What’s your opinion about ‘modularity’?
– What is ‘software layer’ and what it should be?
– Please tell me about ‘information hiding’
But, someone may give well-known answer that may come from books. So, detail and concrete question should be follows.
For example, followings can be asked after question “What’s your opinion about ‘modularity'”
– Then, What should good modular architecture be?
– Show example of good modular architecture.
– What kind of design can be used to connect between modules.
– What is good interface design to support modularity?
– Please design linked list with C language focusing on modularity.
… I am not sure that this kind of evaluation can be possible in practical. But…