This week's advice from Chad Fowler's gem of a book really resonated with me when I
read it, and it continues to do so. It was one of my favorite chapters in the book: Be a Generalist.

Don't be "just a coder" or "just a tester" or just anything. Doing so leaves you useful
only in certain contexts, when reality dictates that it would be better to be generally useful.

Towards the end of the chapter, Chad tells us about his early days in IT:

What first amazed me most when I entered the information technology field was that many
well-educated programmers (maybe most) didn't know the first thing about how to
set up the systems they used for development and deployment. I worked with developers who
couldn't even install an operating system on a PC if you asked them to, much less set
up and application server on which to deploy their applications.

After reading that, I thought to myself, "That's me." Rather than wallow in self-pity, I
decided to do something about it.

Where I used to ask "our server guy" (that's his official name) to do something,
I started asking him how to do it. ButI didn't immediately start there - I started trying
to figure it out on my own before going to him for help (à la Mr. Raymond's famous
guide). Now I don't need help in setting up virtual directories or web sites or my development environment (yes,
I was that bad).

The chapter ends with advice to "list the dimensions on which you may or may not be generalizing your
knowledge and abilities" and to do something about it. There are an "infinite number" of aspects for
which you could do it, but Chad limits his discussion to five: "Rung on the career ladder, Platform/OS,
Code vs. data, Systems vs. applications, [and] Business vs. IT."

I've got a long way to go, but I'm slowly getting to where I want to be. Are you doing anything?

Hey! Why don't you make your life easier and subscribe to the full post
or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate
wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!

Thanks for this very interesting article, and the stuff described certainly rings a bell to me too -- but as a typical self-employed "lone warrior" in the web biz I have to admit that I simply don´t succeed being everyone´s "all-in-one device suitable for every purpose".

Personally I´d rather rephrase this a little :: *try* to be a generalist and learn as much as you can -- but know and respect your *current* limits, and if someone else is better in a certain field of work, team up with him/her to provide an overall better quality to the customer.

To my mind a true "generalist" doesn´t always need to be able to do it all himself -- an orchestra conductor usually doesn´t know how to play the violin perfectly, but he "knows some folks" who do provide this quality, and makes the best of it.

Posted by Günter Schenk
on Aug 17, 2007 at 01:54 PM UTC - 5 hrs

@Günter - I agree. I wouldn't go charging customers for my deficiencies. I might consider charging the time I /think/ it would have taken me had I known what I was doing in the first place, erring on the lower end. Generally though, we'll try to partner with someone who does know what needs to be done, just as you suggest.

There is also another upside of teaming with someone more knowledgeable than yourself, aside from providing better value to the customer: that you can learn from them at the same time and hopefully amplify your own skill set.

It's tough to be a generalist in a field which seemingly demands so much specialized knowledge, but I wholeheartedly agree with you. In the end, the people who are busy transforming entire companies are the ones who have a good grasp of all 5 of these aspects!

Your email address is not displayed.
It is used only to respond to you if needed, and
send comments if you subscribe to this comment thread.
It is stored in a cookie if you choose to "Remember my details".