Elements of a great developer job

Over the past few months, I’ve been thinking about my dream job.  Not that I’m not happy where I am right now, but what would make me really happy?  Just thought I’d share.

Company Feel – Excited or boring?  Does the company feel big or small.  I like to work in a fast-paced environment with a lot of control.  Others will like the warm, snugly feeling of a great big company will lots of bureaucracy and red tape.  What about the fringe benefits?  Do they have free beverages, Taco Tuesdays or do they sponsor a local user groups?  Are they located in a cool part of town, or do they allow working remotely?  These things can differentiate a good company from a great company.  I know some of these fringe benefits are kind of cliche these days, but they really do add to employee morale, especially that of a developer.

IT – Your IT team is there to support you in your work, not hinder.  Let’s face it, employees are still people and have obligations outside of work that need to be taken care of during work hours. Accept it.  Slow internet connections are simply unacceptable.  Things like site blockers take the “nanny for 9 yr olds” approach to adult management.  Instead of doing this, let everyone know that the internet is being monitored, and they will be fired if they use it improperly.

Management – Management is there to tow the company line.  But it can be done without severity.  Does management tend to say, “Hey, you were five minutes late!”, or “I saw you logged in last night at midnight, working on anything fun?”  Let’s face it, developers develop on their own time.  A great book that I read recently was Pragmatic Thinking and Learning, in which the author recognizes the necessity of a calm working block of time and the impracticality of getting one at work.  The best work environment (and hence the best manager) embraces this concept and allows you to work when it is best for you, yet still holding you to be accountable for promised work product.

Product Management – Do the product managers know what they provide?  Do they know their audience? or are they flying by the seat of their pants?  If they are, do they at least acknowledge that?

Executive Leadership (C-Level) – Does the highest level of management have a clue?  Or are they just blowing smoke?  Do they have an accurate view of what is going on at the lower levels?  A telltale sign that this is not happening is when product releases are delayed.  A good sign that this is happening is when you see them conducting 360 reviews, talking with people outside the C-level block, like investors, support staff, clerks, etc.

HR – I prefer to be a consultant and remove HR from the whole equation.  No one has your best interests at heart but you.  Earn your paycheck, and pay for your own damned healthcare.  Depending on your station in life, you may need to have company-sponsored healthcare.