20071206

Software Engineering Manager Questionnaire

A few questions that I would want to ask before hiring or working for a Software Engineering Manager.

* What kinds of things do you do each week to improve the software development process of the projects under your control. What things do you do to improve your understanding of the process.

* How do you motivate people who are under you? Explain both the positive and negative motivators that you consciously use. Is motivating Engineers different from motivating other employees? If so, how?

* How often do you talk one on one with your engineers? How well do you understand what activities they are working on from day to day?

* What things do you do to encourage open, honest, productive communication with your Engineers? Is communicating with Engineers different from communicating with other employees? If so, how?

* What things do you do to empower your people to be productive? For example: How are meetings planned, how do you ensure that your engineers have adequate equipment to perform their jobs, how do you set expectations, how do you encourage people to set goals, how do you measure individual and group progress?

* Are you aware of the different talents and abilities of your engineers? Talk a little bit about how you manage your engineers in order to make the best use of their strengths. Do you have a well rounded team?

* What things do you do to ensure that you're evening out the workload among your people. No one is constantly expected to carry the whole load. How are people who choose to do more compensated/rewarded in your group.

* Do you lead by example and inspire confidence in the people that you lead? Do you backbite others in front of your engineers? Do you keep professional hours? When your engineers are in a crunch and must stay late to complete an assignment, are you willing to stay with them?

* Are you sensitive to burnout and dissatisfaction among the people under you? What do you do to avoid and to handle these situations?

* Describe the project life cycle of the typical project in your group. Include details about each of the project phases; what artifacts are produced and what metrics are used to gauge if you are on track for the cycle? What works well? What would you change to make things work better?

* Can you identify the top producers on your team? Do you recognize and compensate this talent? How much of the rewards you assign to your reports is based on their individual contribution and how much is based on seniority, likability, or other factors?

*Besides financial compensations (like money, gift certificates, and stock options), what are the other types of compensations you use to reward good employees?

* How do you encourage team members sharing information with each other and the team? Teaching, training and mentoring within the team?

* Software development is a constantly evolving field. The technologies are changing fast. What kinds of things do you do to ensure that your Engineers are up-to-date on (or at least familiar with) the latest technologies and patterns/methodologies of enterprise application architecture. How do you encourage Engineers to self-educate and stay abreast of the constant flood of changes.

* What are the most successful products that you've been involved with. Pick one project and describe who was involved in making it a success and specifically what each individual did to contribute to it's success.