Home > .NET User Groups, Code Camp, Pair Programming, Software Development, TDD > What motivates software developers?

What motivates software developers?

Developers who simply work for a paycheck have
different priorities so I am going to ask you to forget about them for a
minute. If you joined software development out of pure passion for the
industry then you have a different agenda. Building software is a very
creative and constructive processbut the intangible nature of software
makes the parallels to traditional engineering difficult. The job titles
in our industry typically reflect some form of engineering but it seems to have
lost its impact (Do most people think of a software engineer and a civil
engineer having the same qualities?). Yet we do still share many of the
same feelings and priorities as conventional craftsmen.

Things like:

  • A tendency towards perfectionism (ever caught
    yourself tweaking the UI or code a little to get it aligned just
    right?)
  • Pride for the end product
  • Strong sense of ownership
  • Criticism of other work
  • Responsibility for flaws
  • Strong affection for our tools of the trade
    (editors, IDEs, utilities, home grown tools)
  • Strong need to use new tools and
    processes

Some agile practices (collective code ownership,
pair programming, good enough) seem to reduce some of these basic craftsman
tendencies but they still exist in some form.

Unfortunately these traits don’t always align with
the business interests of the project so we have to balance the different
priorities to achieve the optimal environment. How can we understand these
tendencies to enjoy our work more and motivate others on our team?

  • Introduce new technologies andtechniques
    in a controlled manner so that the team is able to try new things without
    taking large risks. Be sure to include developers in this decision
    making process – after all they should be the ones ‘in the know’ on new
    technologies, right?
  • Practice pair programming to encourage
    communication, sharing of skills and team building – this can bring a lot of
    satisfaction to a developer team without changing the tasks or the priorities
    of the project.
  • Encourage participation in community developer
    events (user groups, code camps), blogs (share links across the team), books
    (monthly bookshelf anyone?)and conferences.
  • Avoid generalized training – in my opinion this
    tends to serve the paycheck programmer more than the dedicated ones.
    Instead prefer specialized training which focuses on particular
    newtechniques that have already been piloted and now use that training
    time to get a jumpstart and avoid early pitfalls.
  • Interesting projects – this is tough to control
    since businesspriorities and budgets usually dictate the schedule
    however there are often ways to make projects more interesting without risking
    timeline or budget.
  • Satisfy your customer – there is nothing better
    than the feeling of a job well done to motivate a developer
    team!

Some of these ideas have been very
successful on our projects. What motivates you and your developer
team?

BTW – We are looking for another TDD .NET Developer to join our developer
team
.

Jonathan Cogley isthe CEO and founder of
Thycotic Software, a .NET consulting company and ISV in Washington DC.
Thycotic has just released
Thycotic Secret
Server
which is a secure web-based
solution to both “Where is my Hotmail password?” and “Who has the password for
our domain name?”. Secret Server isthe leader in secret management
and sharing within companies and teams.

  1. Adnan Siddiqi
    May 16, 2006 at 7:06 am

    Though you cant ignore the importance of money but I am one of those programmer who write code for fun as well and tries to try different things all the time.Offcourse if you build something new and innovative,you would really feel pride.I personally like R&D stuff so always willing to try new things all the time rather keep myself restricted to a particular domain.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: