I have always found that beside pay, thinking is the most important. Engineers want to think, to find solid solutions. They need the time to think, the place to think, and the tools with which to try out their thinking. Unfortunately for engineers, business think loud “collaborative” environments, which are cheap for the company, work. Or that fast paced, “just get ‘er done”, environments are productive.
This is very true; I do have some of these Engineer qualities... but, honestly, a lot of it is "untrained" (despite a BS) and "unhoned" (because in my [admittedly limited] experience companies want "coders" and not "software engineers").
Exactly. Allow employees the opportunities to be creative and they will produce efficient, effective solutions. IT people are no different from others in that they want to feel fulfilled.
There are those who work for a paycheck, but they’re usually jaded and can be reached. Sometimes you encounter those who don’t care no matter what you try. The best you do with them is give them work to do that is not critical but is necessary and let them work heads down.