Recently, for a variety of reasons, I’ve been asked about my background. It’s a question that can take some time to answer. To answer why, allow me to share one of my favorite quotes by Robert A. Heinlein:
Specialization is for Insects
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.
I can only do about half of these myself, but I’ve always agreed with the sentiment. Back in college my advisors all explained why it is important in one’s career to specialize. But I’ve always chosen breadth over depth. My ideal has never been the specialist, but rather, the synergist – someone who can combine multiple skills and talents to come up with creative and unique solutions to problems.
Some would argue that when one tries to do many things, it becomes impossible to do any of them well. This is not true. What is true, is that if you do not specialize, it becomes impossible to be the very best at something. I know this, because for a time in my career I did specialize in a specific area of technology and became one of the best at it anywhere. Now, I can safely say that I am not the best at anything. But it does not mean I don’t do a lot of things very well.
What might Heinlein add to his list if he were writing for today’s technical society?
A human being should also be able start and run a company, speak in front of a group (any size), write a book, film and edit a video, plan an event, write and place an ad, teach a class, read or write a financial statement, manage investments, work with spreadsheets, write production quality code (on several platforms and in multiple languages), handle a TV or radio interview, mentor a kid, build a computer, wire a network, play an instrument, configure a firewall, architect a complex software system.
Ok, that might not be his list, but it is at least part of mine. It turns out that if you spend time doing a lot of different things over enough years, you can actually become surprisingly good at them. You can even find connections – ways different knowledge sets overlap – that a specialist might never see.
So if you are still early in your career, I encourage you to create your own list. Don’t limit yourself to the confines of what you are taught in school or at work, or what you think you are supposed to be learning. And please don’t limit yourself just to technology – there’s a lot more going on out there.
And if you’re visiting this site to gain some insight into my background, suffice to say – it’s a long story. I like to think that were it possible for me to meet Heinlein today, he would, after some conversation, judge me to be a human being. Coming from him, I would consider it the highest of compliments.
Hi Dan, it is quite a long time since I’ve seen your name. I was just browsing through a folder with all the software our company purchased over the years and what do I found? VB Programmers Guide to the Win32 API. Can I ever forget getting the most out of a PC or server and to do those extra things that does not per chance fall from the sky. And to comment on this post; I can do about anything I put my mind to it such as weldiing, woodwork, play guitar and piano, a 4×4 Overland & Track guide, Flighsim Scenery designer, spitting manure, layout of gardens, can build with bricks and mortar. Build cargo slides for pick-ups and so list goes on. I like the idea of breadth instead of depth. Being not so young anymore (in the bones), I try not to specialize anymore – was and still is a first class Systems Designer; I’d rather as you mentioned, be a visionary, synergize the lot and leave it to the young kids to produce the end results. Must say, this posting made my day!
Hi, Dan, did 13 things on list 1, ten on list 2…wrote a book with your patient editing as you’ll remember (“Build Your Own .Net Language and Compiler”).
Could not agree more. Although you had more than one book on the shelves of our public library, it appears to me that you’re too busy giving back to your community to become famous in computer science. I left the field entirely to become a teacher, actor and artist after my experience with online trashing of book authors, primarily Herb Schildt but also in my own case.
I haven’t coded in a year and am trying to get back up to speed simply because I need to number the lines of the MIT Shakespeare text of Measure for Measure, for which I am in rehearsal. I find that the biggest obstacle is my instinct to make a Big Deal out of a small piece of code.
All the best.
Hi again, Dan. Can you comment on the Wall Street protests? Or approve this comment?
Software developers seem to some to be privileged members of the financial elite, and certainly they can make six figures developing and maintaining financial software on Wall Street.
But they’re treated badly by layoffs and Death March projects. In particular and in financial software, there seemed to me during my career an overemphasis on “results” in place of quality.
They are also set against each other, most notably in phenomena such as anti-Microsoft snobbery…in which actually learning computer science is replaced by the use of fashionable tools. One of the most egregious examples of this was the persecution of Microsoft-centric author Herb Schildt by a guy who actually boasted that he’d never taken a single computer science class in his life.
Their anger is diverted. I met a guy at VSLive in 2003 who was passing out leaflets about “evil offshore development” “taking our jobs”. I then proceeded to get a job in China, since offshore development creates jobs not only offshore but in the USA itself. Even before working in China, I had opportunities created by programmers in India.
The problem isn’t offshore development, it’s Wall Street’s greed.
Programmers are bullied into creating systems of “objects” which in an uncontrolled fashion contain circular paths…nobody can take responsibility for the whole, and you’re “wasting time” if you bother to check a graph for cycles. Saw this happen in reinsurance. But you’re not supposed to care…even when the bankers use your software to pay themselves bonuses.
Good practice always falls by the wayside. Not some of the time…almost all of the time.
Back in the days of early “structured programming” we actually had an opportunity to create a community, since as you know, code review means you have to make an effort to be kind. And there was a little bit of Uncle John’s Band. But almost as soon as it got started, managers would come into the meeting and start criticizing people for “wasting time”.
Which is why today I’m an actor, dancer, artist and teacher and I don’t code anymore.
Here’s a poem I wrote about the Wall Street protests.
“Don’t protest it isn’t like a man
Smother the rage by reading Ayn Rand:
Suck up the abuse, the 12 hours days
Debugging crap software in the corporate maze.”
“A real man would pull a 24/7
If he wants to go to corporate heaven
Come on, the boss wants it running today
And if you can’t debug it then maybe you’re gay.
Stop lookin’ out the window there’s nothing to see
I tell you that can’t be the USMC.”
“That can’t be pilots, transit workers and programmers
It’s crazy women, minorities, and gofers,
If you want to be one of us, and make the bucks,
Don’t march and don’t protest…all of that sucks.”
“Screw you and go home and play with your kids
Can’t take the pressure of bonds and of bids
Hey wait a second where ya going there’s work to be done
What’s that you say, shove it? You son of a gun.”
“And put out that cigarette this is a nonsmoking office
What’s that you say? Up my fat hairy orifice?
You’ll never eat lunch in this town again
What’s that you say? Are we not men?”
Edward G. Nilges 3 Oct 2011.
In Ancient Greece only the wealthy elite were permitted to become ‘Generalists’ and keeping the dumb populace as ‘Specialists’ ensured that they did not evolve enough personally to work out how society was organised or how the world works.
Socrates remarked on how only the Philosophers could escape the cycle of birth and death once they leave this life. Only the wealthy, elite, generalists were able to become the philosophers. The poor, dumbed down masses were doomed to specialism and accordingly a limited level of development which would keep them earthbound for many, many reincarnations.
Seems not very much has altered in the interim, though there are always a few exceptions.
DianeH