Saturday, March 27, 2010

Developer Responsibilities

I think Eric Sink got it right.

We Need Developers, Not Programmers.

In the article, he writes about needing developers who know how to be flexible and understand the software lifecycle instead of coders that are one trick ponies.  You know who I'm talking about.  Those programmers who know how to write some source and nothing else.  Improve the build environment? Work on continuos integration?  Unit test?  Write wikis to help the team? Mentor?  Contribute to the awesome company culture? Forget about it.

Working for a small company, I completely agree with that statement.  I'm glad that I work at a company that allows me to have a hand in everything.  My tasks during the week range from development environment scripting to application deployment to middleware hacking to pretty front end stuff to ensuring code quality to maintaining our build server.  Then I get to write down what I've done to help out the rest of the team on our company wiki.  My hard work is rewarded with my #1 status on the Continuos Integration Game leaderboard.  Having my hand in everything is awesome because

I'm learning tons everyday!

As a developer, that's something to strive for. Especially if you're a developer that's fresh out of school.  When you get out of college, you want to absorb as much as possible.  Can you do that at a big company?  Maybe.  Is it easier at a smaller company?  Totally.

As a developer, you have a mound of responsibilities other than whipping out lines of source.  Specializing in something is great, but being an agile developer is much more useful to your peers.  If you understand the different aspects of software, you can apply your knowledge to challenges you face in every facet of development.  I've learned over the years that just being familiar with what people are talking is HUGE.  It gives you a basis when you start learning new stuff on The Google.  The only way to get to that nice and comfy "I've heard of that before" place is to dive into as many new things as possible.

Staying agile is important and a small company helps you do that.  It helps you and your team get things done.

And isn't that what it's all about?

Solving problems, improving customers lives, and rocking out to an awesome product.


0 comments: