Interviewing the Interviewer
This expounds on the previous blog, where I describe how to interview the interviewer. One idea that you can use is to take their technical questions and feed them back to them, with an understanding that managers make decisions.
First let's look at the various categories manager will evaluate on.
Technically Articulate - Documentation
Creative, Inspirational, Self Motivated
Decision Making Process
Problem Understanding Skills
Problem Solving Skills
Systems Analysis
Project Management System (PMs)
Team Building Skills
Enterprise Coding Standards
Design Guides
Collaboration, Shared or Pair Coding, Code Review
Scalable Application Design
Object Oriented Programming
FrameWorks
Unit Testing
Experience
Source Code Version Control System (CVS)
Integrated Development Environment (IDE)
Now here are a few example questions that Interviewers could ask managers.
Why did you choose to use NetBeans over Eclipse or Visual Studio?
The answer should be multipart, ex.. taking into account how one IDE integrated with their PMs, Style Guides, Collaboration Tools, Code Review Process, Scalable Application Design, and CVS.
Maybe the IDE has a special feature that is helping them advance their project, that the others don't contain. The manager has to make decisions on which way to go, and those decisions are based on information. What was the information? Do you believe that it was the right decision? And, how will these decisions affect your ability to produce the work that the manager is asking of you? Also, how will the managers decision making process affect the implementation of new features you may see as needed, or be asked to implement.
Similar types of questions could be asked about the PMs, Style Guides, Collaboration Tools, Code Review Process, Scalable Application Design, and CVS. Anything that becomes integrated, or shared data through a server, where one system is used to feed another.
Where do new features come from?
New features is what drives a project. These features come from many different sources. If the manager doesn't know about these sources where then are these new features coming from? And are they relevant to the product or the customer the product is targeted for? Has anyone done any research to determine how many customers this feature will affect, since this will drive how many people will adopt the updated product after release?
What kinds of discussions do you have with team members about the business problem?
In the previous blog I pointed out that every business came into being to solve a problem for their clients. This could be a humanistic problem or another business problem. For example I've worked in the medical field where the business problem was billing patients and insurance companies accurately for the diagnostic procedures performed. At a software development company, the built compilers to find common coding violations that lead to unsecure code, like buffer under and over runs.
Each of these organizations meets to discuss the various factors involved in solving their particular business problem, as well as their day to day business. Every employee at the company plays a role in helping the company understand the clients need and build a solution that resolves it.
If the manager doesn't have a team meeting to discuss insights into the business problem, or describe how he is coordinating with other departments on how to manage the daily business of resolving the problem, then the manager is probably isolated or isolating himself and on his way out.
Why do you use Agile Project Development vs Six Sigma or PMBOK?
Managers have their reasons for using on standard over another. For example Agile development is the current rage in Rapid Application Development because it helps investors see what they are getting for their money. However, note that this is Rapid Application Development. And, design decisions that are made during this time, usually have a way of tangling the entire development process up.
Six Sigma reviews the current process and examine two or more possible directions to achieving the same result. The result that gives the better performance over time will usually be the one implemented. Six Sigma is considered to be the most rigorous project management project management strategy since is involves a lot of statistics. It's basically a "Prove IT" methodology.
PMBOK is what I studied, and by far the most extensive Project Management Methodology available. It follows closely to what most people believe are projects. Accounting for such things as communications, contracts, resources, time, money, tasks, risks, issues, dependencies, assumptions, unknowns, and mitigations through Gant charts and other time tracking and management solutions.
What experience do you have helping a team work creatively in a collaborative environment to understand and implement a difficult feature?
Creativity is one of those things that is hard to judge. Is playing basketball during the day helping a programmer be creative and find different solutions to a problem?
Creative as described in one TedTalk, is about copying others work, remix these works, and publish them. (There are various talks, go look them up.) So, how does this manager encourage people to research others work, copy the work, collaborate together to implement it for their purposes, and publish these works.
What most software managers are worried about is whether or not you have used a specific framework, and that you understand that framework and are able to extend the framework. This is not creativity, this is extending. Creativity is taking something that someone built using this framework and changing it for the needs of their project.
How do you interact with your team members on a personal level during the day?
Most managers will state that they allow their team members to do their work as they see fit. This is not the right answer. The question was about interacting. A manager can go through the ranks and ask, "How are you doing?" to get a feel for how their employees are performing that day.
Mangers that interact with the team work as intermediaries to connect one employee to another, to speed problem sharing and resolution. Manager who believe that a team should be quite, and work hard at their assigned cubical may glare at you when you are up talking to another co-working, wondering if you're actually doing work or just chatting about tomorrows baseball game.
But truth be told there are five (5) different types of Managers, and Managers are not Team Leaders. Managers are focused on 3 things: Tasks, People and Metrics. Team Leaders are focused on goals. What is the problem we are attempting to resolve? What do we understand about the problem? What don't we understand about the problem? What type of resources do we need to understand the problem better?
How do you build teams?
Most managers will start with how they select the right person for the right task. BORING!!! We already know this! The question is really about how does a manager introduce a new member to the team, and help team members acclimate to the new team members.
This addresses a larger on boarding process for a new team member. The manager needs to identify the first 2 weeks worth of work and questions that a new team member will have and be prepared to address them. For example, who does the employee call when there is a problem with their computer? Air conditioning? Saving work to the CVS? Who is the Project Manager? Team Leader? Group Librarian? Someone know's where all the information is stored and how to get there.
I'll discuss the On Boarding Process in another blog to follow.
If the manager just introduces the team members to each other, that's also lame. I don't know how many times I've been shown through the building and told about so and so and what they do. "Thanks, Nice to meet you!" Uhrm, who do I talk to about what again?
In a Pair Coding Environment, the answer should be something like, "We'll be pairing you up with Jimmy to work on the X project. I think you two have similar ideas and backgrounds about the problem and should be able to collaborate on a great solution."










