Dan Appleman: Kibitzing and Commentary

My personal blog

Specialization is for Insects

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.

And now a book of a different sort

Developing Teen Leadership: A Practical Guide for Youth Group Advisors, Teachers and Parents

Cover for "Developing Teen Leadership"In addition to my technical career, I’ve spent over 20 years volunteering as a youth group advisor with a group that emphasizes youth leadership.
I really believe that in today’s world, academic success is not enough to achieve success in a career or in life. It takes more. Call them social skills or communication skills, or initiative or the ability to plan and execute a task… All of them fall into the category of leadership skills.
Over the years I’ve learned a thing or two about how to teach these skills, and have just published a new book on the subject. Like my technical books, it is a practical “how to” guide – not an abstract theoretical tome. Unlike my more technical books, it’s an easy read and, I hope, entertaining as well as useful.
Whether you are a coach, scoutmaster or youth group advisor, a teacher, or even a parent of a teen – I’m confident that this book will offer both insight and practical strategies to help you become more effective at teaching leadership skills, and better able to help teens prepare for an increasingly complex future.
You can read more about it at TeenLeadershipBook.com.

The Accidental Shopping Cart

I wrote an online store. I didn’t really want to, but I just couldn’t find a solution that fit my needs.
I wanted a shopping cart that had really good extensibility – one that could connect to our licensing server not just to allocate keys, but to perform custom operations like allowing purchase of additional installations for existing keys.
What I found was largely disappointing. Not that there weren’t some great packages out there. If I wanted to set up a large online store with many products, it was clear that setting up my own Amazon.com equivalent would not be hard at all. There are any number of powerful online stores with numerous features available. But none of them had exactly the right features, and none had the extensibility I needed.
What I really wanted was a shopping component – some ASP .NET controls that could be dropped onto any ASP.NET page and would somehow work together to implement a shopping cart. There would be a control that would “add to cart” a single product – and a page could have any number of these control to display multiple products. There would be a shopping cart page that would allow modification of quantities or deletion of items from the cart. And there would be a checkout control.
In my ideal solution checkout would be handled by an external processor such as Paypal, and once the order was confirmed my code could issue license keys, download links, send out customer Emails and so on.
After searching through and installing trial versions of numerous packages, I came to realize that none of them came close. The truth is, I didn’t want an online store – I wanted an online store component.
So I wrote one. The excuse I used to justify the time was that it would make a great application note for the latest version of our licensing system. But in truth, it sounded like a lot of fun – and it was. I ended up using authorize.net for the credit card integration (they have the best online documentation for developers of any of the card processors I found other than perhaps Paypal).
There’s still some work ahead to turn it into an application note for distribution, but the store is now live at http://desaware.com/purchase/store.aspx.
Above all, the experience confirmed to me the rightness in the way we decided to extend the licensing system for the newly released version 2. Instead of piling in features, we focused on enhancing the extensibility model. Our licensing system is not so much a licensing application as it is a licensing component – and right now it’s hard for me to imagine a licensing scenario that it can’t implement.

Gadgets, gadgets and more gadgets

Ok, I’m a geek. I love gadgets. But, I have a confession to make – I’m a flawed geek.
You see, a true gadget nut loves gadgets for their own sake. If it looks cool and has great features (the more the better), it’s great – that’s all that matters. Cost, value, reliability, technical support, practicality and usefulness – these tend to stay in the background; minor details to be excused or explained away.
I’m too much of a skeptic to be a true gadget freak. I think an intuitive and easy to use gadget with fewer features is far better than a fancy complex gadget with tons of features (most of which you’ll never use anyway). I’ll take six month old technology if it will save me 50% off the latest and greatest. And in today’s economy, I really want to make sure that every dollar I spend is worthwhile.
I’ve always wanted to write about gadgets, and I finally found the right opportunity. I’ve become the National Gadget Examiner at Examiner.com. It’s an interesting concept – a sort of virtual newspaper that seems to be succeeding at attracting competent people to write about their topics (I’m speaking of the other writers, called Examiners – you can judge my competence for yourself).
I’m certainly having fun at it so far – gadgets is a broad topic (at least as I interpret it), and I hope my skeptical (and cheap) attitude will strike a chord. I invite you to check it out at Examiner.com: Gadgets Examiner.
I’ve been cross-posting the articles to a new blog: TheThriftyGeek.com as well. I’ll also be using that for more in-depth articles that don’t fit on the Examiner site.