September 12, 2004
I didn't realize Dan Appleman was blogging again! In one of his recent posts, he brings up an excellent point related to my recent posts on skill disparities in programming and being good at your job: sometimes, it's the non-technical things that make you a better programmer than someone in India. Never underestimate the power of a personal presence:
And even if productivity isn't an issue, the inevitable tides of our economy will be. You will at some point in your career be dealing with a tight job market. And it's not your technological skills that will determine how well you succeed at those times.
It's your personal skills that will count. How well do you communicate? You should know how to present your ideas both to individuals and small groups. Can you write clearly and somewhat grammatically. Do you come across as confident in yourself and your abilities? Do you have leadership skills (that often translate into management skills)? Are you responsible? Are you a nice person to have around (or at least not completely repulsive)? Yes, there are those who are so technologically brilliant they can get away with caring just about technology, but for most of us these other skills are essential.
So, as you go off to college, don't let your technical classes get in the way of getting a good education. Take a writing class. Take a class or get involved in an activity that forces you to do some public speaking. Do some drama or improv. Join a club. Do some volunteer work. Do some tutoring. This kind of experience will have long term benefits to your career that you wouldn't believe.
It's for this very reason that I recommend books like How to Win Friends and Influence People to developers. Unfortunately, it's much easier to improve technical skills than personal skills-- the key is, as Dan points out, to make sure you're consciously choosing situations that exercise your interpersonal skills. Like most developers, I'm an introvert, so I have to actively force myself into those situations that I would ordinarily avoid.
Posted by Jeff Atwood
I have found your enjoyable and you make some very good points. Not everyone can be at the top of the technological ladder. Some skills that make you more well rounded become increasingly important as you go down that ladder. It is generally better to be well rounded anyway in terms of skills and ability to communicate.
However, I would not recommend the book "How to Win Friends and Influence People" because the book teaches something a little darker than being well rounded. The book has many good points and many confidence boosters and practical skills which allow a person to seem more personable. And I know the text emphasizes that you should "mean it that way", if you will. To use the skills presented for good and not for evil. However, the practices in this book are very "advanced" and can effectively be easily used for wrong doing on the part of someone inexperienced. Not everyone is at the top of the moral ladder. The teachings in that book, because they can easily be misused, are not something I would recommend in general to people.
It takes a grand amount of practice and mindful attention to go about using those teachings as they were meant to be used. This kind of attention is not easily taught. Just as uber tech skills are not easily taught. They both take a certain amount of "talent", but mostly diligence that unfortunately most people would probably not adopt. Maybe a slightly cut back version of that book and it's teachings would go a long way.
First, thank you for the sticker! I appreciate you taking the time to send it. It's currently sitting on my desk at work, thinking of a place to call home.
Second, I absolutely agree about your How to Win Friends recommendation. That is one of the best books I've ever read.
One communication skill that I've found invaluable is the ability to take a (somewhat) complex issue and simplify the explanation for the end-user, usually by using a metaphor. I work at a law firm and this has come in handy for me: my "customers" are often brilliant but non-technical attorneys. I do my best to initially gauge their level of technical competence then go from there. I pay particular attention to my tone to ensure that it does not come across as condescending -- even brilliant people can be intimidated by technology and this sets gets some people on the defensive.
The approach has been successful, it's mentioned on most, if not all, of my annual reviews.
This is why I think the AYE Conference (http://www.ayeconference.com/conference.html) is the best conference any developer can attend, at least once in his or her career -- the earlier, the better. I learned more useful career skills there in a week than I've learned in any given year on the job.
It takes a grand amount of practice and mindful attention to go about using those teachings as they were meant to be used. This kind of attention is not easily taught. Just as uber tech skills are not easily taught. They both take a certain amount of talent, but mostly diligence that unfortunately most people would probably not adopt. Maybe a slightly cut back version of that book and it's teachings would go a long way.