Three things a developer needs to be happy


Monday, May 12, 2014

My first job out of college was a lot of fun.  This is surprising given that it was at a health insurance company.  It was fun because of the environment that management and the team of developers i worked with.  Gradually, changes in the upper level of the organization eroded the environment and as good team members left, the place became less and less enjoyable.  I started thinking about my situation and evaluating why the job wasn’t fun anymore.  I was wondering what it would take to make me happy.

I’ve been in a lot of interviews.  Mostly on the side that asks questions.  One question that i like to ask anybody that is interviewing for a development manager gig is “What does it take to make a developer happy?”.  I like hearing people’s take on the question, and, over the years, have developed my own answer.

A developer wants to make a product people enjoy

You ever work at a company and are forced to use some application that everybody hates?  I’ve seen it materialize as such things as change management systems, ticketing systems, and expense reports.  Nobody wants to use the application because it has a bad user experience, has odd quirky bugs that never got fixed, or isn’t exactly the right solution to the problem.

Agile software development tries to solve this by collaborating directly with the customer.  However, it’s amazing how many products are made (and purchased!) that users don’t like.

A developer wants challenges

Software development is a very creative trade.  It’s fun to create different solutions to a problem.  Developers should be given opportunities to come up with great solutions on their own.  I still remember fondly the first time i was given a task at work that i had no idea how to do and somebody said “just figure it out”.  Further, if there’s a potential to improve on an existing solution, then a good developer will want to spend time on those enhancements.  This is true for behind the scenes architecture or refactoring as well as improvements to the behavior or functionality.

A developer wants to develop

One of the things that amazes me is, in many organizations, how much time a developer spends not developing.  They’ll get sucked into meetings, or the requirements change and are told not to work on that yet, causing wasted time.  So many times, i’ve been a part of an organization where an effort has not started due to the bureaucracy of the organization.  Even worse is when there’s already work in flight and then the project gets abruptly stalled or cancelled with no replacement ready.  The drain on productivity, morale, and work ethics are hard to make up once things get going again.

No comments:

Post a Comment