Can you handle power?

As a developer, can you handle power?

Are you able to cope with choice?

If tasked with a project, right now, can you list 3 or more ways to implement the project that would all be the same to the eyes of the user?

Can use use tools to quickly generate a solution?

Can you do the same without those tools?

A developer today has more choice, more power, more tools, more frameworks, and more patterns than ever before.  It's hard not to put on blinders and focus only on a small part, to seek to understand just a corner of the programmer's world - be an expert in your area.  It generally pays better too, for a little while.

Then technology advances, reverts, reinvents, and casts the expert aside as obsolete.

Specialization is for insects.

Posted By Mike On Monday, April 07, 2008
Filed under developer | Comments (1)

Submit this story to DotNetKicks   

DylanW - Monday, April 07, 2008 9:50:01 PM

Personally, I think specialization is important, but I may be arguing semantics. I don't consider that I "know" a technology until I know it back and forth and have used it practically a couple of times. That, and I'm assuming we're talking about specialization within software development as a whole rather than on programming specifically.

Specialization is an economy of scale problem, and so it is necessary in some cases more than others. It keeps developers from getting burnt out on large projects or in more chaotic environments. If I have to jump from planning to UI design to database design to coding in the same day, I'm not going to give each one the attention it deserves. (That may be fine for a small project, but it's not going to fly for a larger one. Also, I'm a bit of a perfectionist.) I'm also probably going to be so fried by 3pm that I can't think straight. (Realistically, it's worse for me--on an extermely bad day I might have to jump from ASP.NET to SharePoint to setting up an FTP login to calling technical support for our accounting software.)

And you might want to be careful of statements like "specialization is for insects." Because it's as much of an exaggeration to say "generalization is for people who can't play nice with others."

The tradeoff isn't to become a jack of all trades but master of none. The tradeoff is to at least have a general knowledge of the technologies and skills tangential to what you deal with on a day-to-day basis, so you know what to look for--either by brushing up on something yourself, or by finding someone who can fill in the gaps.

Incidentally, I'm probably on the bad extreme of the "3 or more ways to implement the project" example. I can usually give 3 or more options as to how to do something, based on what I know and what I guess the future requirements to be. But I talk in terms of balancing pros and cons rather than making recommendations.

And the tools thing--I can use them to generate a solution, but they make me feel... uncomfortable... if they generate messy code or hide their inner workings. But then I don't just notice code smells, I have full-on code OCD.

Leave a comment



Your name:
 

Your email (not shown):
 
Will display your Gravatar image.

Your website (optional):



About Me

Michael C. Neel, born 1976 in Houston, TX and now live in Knoxvile, TN. Software developer, currently .Net focused. Board member and President of ETNUG, and organizes CodeStock, East Tennessee's annual developers conference. .Net speaker, a Microsoft ASP.NET MVP and ASPInsider. Founder of FuncWorks, LLC and Feel The Func podcast.

Proud father of two amazing girls, Rachel and Hannah.

 Subscribe to ViNull.com |  Comments

Follow me on Twitter | Contact Me

Related Posts

XNA 3D Primer Published – Get a free copy!

In June of 2006 I officially became a professional author when ASP.NET Pro published my article “Google Can You Hear Me?”.  (So eager was I to be ... Read more

Critical Thinking and Dissent is a Requirement

So the fires continue to burn, as Joel Spolsky’s internet access hasn’t been disconnected.  For someone who is supposed to be an idiot and irrelevant, ... Read more

You should be using Balsamiq Mockups

I’ve heard many people rave about Balsamiq Mockups, an Adobe AIR app that helps design user interfaces, but until today I had never looked into using it ... Read more

Game Development going Agile

Game review site Giant Bomb has a great article about Mass Effect 2’s development process.  The article is written by one of the review staff, who ... Read more

TeamCity.CodeBetter.com, A continuous integration server farm for open source projects

CodeBetter – in collaboration with JetBrains, IdeaVine, and Devlicio.us – is proud to announce the launch of TeamCity.CodeBetter.com – a continuous integration ... Read more

FeelTheFunc Podcast

CodeStock
Are you going?

ASPInsiders Member

ETNUG Member