« Steve's stories... | Main | Why face-to-face still matters! »

Pushing your skill set


Are you doing anything to keep up your skills? Some of you don't have a choice--especially if you're doing client work where each new job "forces" you to learn something new. But for those of us who--like me--are mostly working on our own stuff, we can get... a little lazy. The techniques we've been using are like old friends. Doing it the way we've been doing it feels comfortable and less risky.

Why learn a new API when the one we know works just fine? Sure, it's a little less efficient, and wasn't really designed to do everything the way we use it... but at least there's no new learning curve. It's more efficient to bend the things we know, then start up a new learning curve from scratch. Who wants to go through that initial "I suck at this" phase again?

At SXSW, the guys from skinnyCorp said that when they were finally earning enough from Threadless to quit doing client work, they noticed their skills began standing still. They tended to do only what they were already good at. They decided that if a client wasn't going to push their skills, they'd have to push themselves.

So, they chose to start a project that would force them into new knowledge/skill territory--Extra Tasty. I can't remember now which aspects of the drink recipe site were new for them, but I was impressed that they recognized they needed to keep pushing. Of course, these guys have about a million ideas, so I shouldn't have been surprised.

Nobody wants to go through the suck stage. Being past that--where you start working in flow and everything clicks and you're good at what you do--is one of the rewards for going through it in the first place. But that whole "use it or lose it" thing applies to our brain. And by "use it", I don't mean using our brain to do the things we're already good at. If we don't continually keep pushing our brain in new ways, it starts to slide, just as parts of our body atrophy if we don't keep adding new physical stress (heavier weights, longer or faster runs, etc.)

What to do about it? I have only a few tips, so I'm hoping to hear more from you:

* Use the Threadless approach
Deliberately start a new project (even if it's just for fun) that you know will drive you into new research, experimenting, learning, etc.

* Study for a certification exam.
Yes, I'm biased on this one--I've been the lead developer on several of Sun's Java programmer and developer certifications, and I've written some certification books. But the reason I ended up working at Sun in the first place is because I was already a big advocate for certifications--devoting much of my free time to helping others prepare for and pass exams, although not for the reasons most people assume (and long before I ever thought about writing a book). I do think certifications are often a lousy way to evaluate a job candidate. And although the Sun exams are extremely difficult (and increasingly more "real world" than trivia-memorization), they certainly aren't a great reflection of realistic practical skill.

BUT--and this is the important part--studying for a certification exam forces you into new knowledge and skills before you need them. Most of us (and especially programmers) tend to use the same APIs and solutions that we've used before, applying them to each new somewhat related problem. We've gotten literally thousands of messages from people (between javaranch and emails from readers) who've said that they learned things from preparing for an exam that they wouldn't have otherwise known... and in some cases, those new things gave them a better perspective when it came time to choose a tool for the next new problem. Studying for a certification exam gave them a bigger toolbox. Not everyone needs this kind of forced-learning approach. But for those who do, it can be the best kick in the ass to a skill upgrade that you can get.

[update: I forgot one of my favorites!... conferences]

* Attend a conference
And I'm not talking about your party skills. The best experience I've had at a conference was one where I actually left both my laptop and cell phone at home. Making wireless access available at conferences is, for me, a big mistake. When you're learning, you should be learning, not keeping up with work or surfing. I think people accomplished much more learning back in the days when you were forced to queue up to those few little stations where you could check your email.

Still, the beauty of most (by no means all) professional conferences or even just trade shows is that you absorb a lot more than just new technical knowledge. You learn what other people feel is important and useful, especially if you listen in or participate in hallway conversations. And for me, the enthusiasm you get by being around so many people who are also interested in the same topic is infectious. You can also get some of the same benefits just from attending user group meetings...

Some of the best experiences come from attending conferences or trade shows that are in a different domain. Yes, conferences are expensive, but often just the sub-$100 floor-only pass gives you much of the same benefits. [More on conferences in a separate post].

* Blow your own mind
Kevin Shockey (editor in chief of TUX magazine), sent me a couple of good links to brain-training articles:
1) Simple ways to make yourself far cleverer (is "cleverer" really a word?)
2) Brain training takes aging Japan by storm

So, what are you doing to improve your skills?


"You know, like nunchuck skills, bowhunting skills, computer hacking skills... Girls only want boyfriends who have great skills."

[p.s. Does anyone have any idea what the guy in the photo at the top of this post is doing on that chalk board? I have no idea if it's real or random.]

Posted by Kathy on April 11, 2006 | Permalink


TrackBack URL for this entry:

Listed below are links to weblogs that reference Pushing your skill set:

» Interesting Finds from Jason Haley
[Read More]

Tracked on Apr 12, 2006 6:26:59 AM

» Art of Staying Ahead from menonr
Art of Staying Ahead [Read More]

Tracked on Apr 12, 2006 12:21:38 PM

» Horse Power :: Tractor Lust from i gallop on
1973. 7th grade English Lit. Mr. H. makes us memorize and recite poems in front of the entire class. For some of us, this is an exercise in torture. My friend D. turns five increasingly panic-heated shades of red... [Read More]

Tracked on Apr 12, 2006 12:27:36 PM


It appears as if the guy on the board is calculating some quantum physics. The quantum properties of an atom at a given energy state. That is about as elaborate as I get. Those are real equations, though.

Posted by: John Delaney | Apr 11, 2006 12:20:25 PM

I completely agree with the Threadless approach. My day job is horribly mind numbing, an abominable cross between application support and administrative grunt. So on the side I build little (and not so little) Ruby on Rails websites just to keep up with the world around me. It's often maddening, but the skills earned at the end of it make up for all the "I suck at this!" moments.

Posted by: Scotty | Apr 11, 2006 12:21:15 PM

I am in complete agreement with the studying for a cert approach. I am currently studying for the SCJP for Java 5 (thanks for the wonderful materials, Kathy!). In the past, I have done a bunch of CompTIA certs and a CCNA. I usually respond well to this approach for a couple reasons: 1. I treat the cert as time sensitive by scheduling it for a reasonable date in the future and then doing what I need to get prepared. 2. preparation typically encourages me to do a lot of hands-on, practical work.

Posted by: Matt Clark | Apr 11, 2006 12:41:19 PM

I definitely fell into the pit of letting my skills slip. I used to do primarily freelance web design/development and I was always doing new things and always being challenged by my peers.

At my current job, I need to challenge myself more to keep myself going and learning more.

Posted by: Ian Muir | Apr 11, 2006 12:45:58 PM

Yeah, that's quantum mechanics. I'd guess about the senior level. In grad school they use a more abstract notation than that. H(psi) = E(psi) is a form of Schroedingers equation. I got an MS in physics before shifting into computing.

Posted by: Greg Vaughn | Apr 11, 2006 12:46:19 PM

Looks like physical electronics class. The circuit diagram he's partly blocking shows a simple diode circuit, and the diagram to the right of that shows a p-n junction. Above that looks like a bandgap energy diagram and the Schroedingers terms seem to be calculating the activation energy.

So, it's seemingly describing the movement of charge carriers in a P-N junction.

See also:

Posted by: Rob | Apr 11, 2006 1:05:49 PM

Another vote for certifications. Within the past few years I did two different programs to try and get a handle on the best way to do constructive work in the environmental field. One was a survey of local environmental issues. The other was a certificate program in environmental law and regulation. There is nothing like writing part of an EIS to make you understand the regulatory structure and how to work with it.

I think whatever you do needs to be something you are passionate about. I know I've dabbled in a lot of things and the ones I really got something from are the one I stuck with long enough to make it through the pain.

Posted by: Julie | Apr 11, 2006 1:36:27 PM

Try teaching. Students are quite good at wanting to know 1. latest and greatest 2. Not understanding the perfect explanation that you came up with last semester. So your forced to consatntly re-examine your craft and it's tools over and over again.

Posted by: Mark | Apr 11, 2006 2:12:31 PM

Another vote for certification! While I know several people who prove that being certified (even by Sun) does not prove you actually know what you're doing, I've found that the process does take me to areas I probably wouldn't have gotten to for quite some time (if ever).

I also agree on going to conferences. My favorite is JavaOne. Four days of just Java - sessions, BOFs, and talking with others who are passionate enough about Java to travel from across the globe so they can go sleepless for a week while trying to absorb everything they hear and see.

Not only do I learn new things and meet new friends (sometimes a famous authour or two), but I find it's a great way to recharge my mental/emotional/psychic batteries and it seems that I leave with more energy and drive to produce better software than I had when I arrived.

Oh yeah, if you get the chance to be a reviewer for a book on something you're interested in then go for it! Even if it's something you think you know, you may be surprised at what you'll pick up.

Posted by: Burk | Apr 11, 2006 2:35:01 PM

Interesting related article: Career Calculus. The 'derivative' metaphor really sticks in my mind (for the economists out there, marginal value… you can far more by learning a bit of a new thing than learning a bunch about your forte, etc.)

Posted by: Firas | Apr 11, 2006 2:39:13 PM

well, the eq is schrodinger's equation :-)
The wave equation :D its a differential equation. if you have a constant or zero on the right its a laplace equation?

Basically, its a very fundamental equation of physics upon which lots of theories are based like your post says.

Keep tweaking your life and thou shall improve! lovely post.

I should also say - take time off to reflect on what you learnt. Sometimes we learn lot more when you mix and match things you independently learnt! e.d mix what you learn in music with computers. Nice way to experiment on your own ...

Posted by: vinu | Apr 11, 2006 3:05:02 PM

Push your skill set by offering to teach something that you think you know but haven't ever taught before.

There's nothing to help you get over your mental blocks about areas you don't know than to have to understand those areas well enough to teach someone else. Questions from others are always going to further challenge you to "know your stuff" Plus, this helps tremendously with "bringing first base with you" because it requires you to re-examine those things you know that you learned organically without really understanding _why_ they were true.


Posted by: Jeremy Smith | Apr 11, 2006 5:10:37 PM

The stuff on the board looks real. The diagram is an energy band diagram. The schematic includes a diode and a battery. The bottom right diagram shows the PN depletion region. The left diagram shows the conduction and valence bands. The equations are consistent with the Hamiltonian of a semiconductor system. This could be from either a graduate solid state physics class or a graduate semiconductor device physics class.

Posted by: Andrew Lentvorski | Apr 11, 2006 5:27:23 PM

May I suggest an ongoing study group? Certification study is great -- even if you don't end up taking an exam you still learn a lot -- but there's nothing like a study group that meets regularly to take you through material that you might not otherwise read. There's been a design patterns study group movement for at least five years now, and people have also started study groups based on the pragmatic programmer series (our java-based study group took up one of these, we all agreed that the discussion generated was valuable).

I hope that wasn't too boring to read. I always think about the commercials for almonds by the california almond growers, it cracks me up every time. It's a bunch of guys standing around, buried up to their waists in almonds. Each one is holding a can of almonds. Then one of them says "One can a week. That's all we ask."

"One new skill per quarter. It's a good slogan!"

Posted by: George Girton | Apr 11, 2006 5:32:41 PM

New people are a good way of keeping you fresh - they constantly question the ways you are doing things and bring in new skills and approaches. They stop you becoming boring...

Posted by: Neil Kirby | Apr 11, 2006 8:06:17 PM

I think it is important to learn new things both related and unrelated to what you do for a living. And the unrelated may be more important, both for keeping your brain from settling into a rut as well as providing an entirely new perspective. The new perspective may help technically, or in understanding other people better. Essentially, you need to challenge yourself to stretch your skills in all facets.

There are very few middle aged snowboarders at our local ski hill and I'm one of them. Two seasons ago, the challenge was to learn enough to ride the intermediate hills. This past season, to ride the advanced - and hey, I learned switch at the same time. Bonus! Next year - improve the carving, challenge harder hills, work on ..... I'll think of something.

Posted by: Bren | Apr 12, 2006 6:45:12 AM

You never know if what you put on the chalkboard is real until you try it out :)

I find it amazing how many programmers (excluding present company) don't know how to fix their own machines. How do they know if their own code is causing the problem?

Try tech support where you are dedicated to solving every problem someone throws at you to their satisfaction.

Want to keep your skills honed? Call your parents and offer to help them with their computer problems. If you can perform under those social circumstances than you can fix a machine anywhere.

Posted by: Shaded | Apr 12, 2006 10:10:47 AM

+1 on certifications. They have forced me to learn new stuff in the least amount of time. And often certifications make us learn fundamental stuff that help in quickly solving tougher problems later.

Also doing stuff on the side helps us gain knowledge more complete than possible just by reading.

And thanks for those links to keep our brain fresher. Of late i have quit watching TV and movies and looks like iam getting less receptive to information. I think these simple mixins will help...

I also think reading stuff that is unrelated to IT will help. There might be some subject that we have interest in like poetry, music, english literature etc. Reading books on these subjects every 2 days can keep our brain fresher i think...

Posted by: Sabarish Sasidharan | Apr 12, 2006 1:20:54 PM

I love your blog. I wish I would have made it here long ago.

I am love Blow Your Mind :) It's so true. How can you keep life exciting if you don't keep blowing your own mind?

Posted by: iBrandweb.com - Jen | Apr 12, 2006 1:25:04 PM

I have always used the threaded approach which can have both good and bad outcomes. On the right hand you find that you create some really awesome things and stretch out your imagination and skills very far. On the left you find that you may end up lacking some very basic information about what you have created. It's a great exercise for the mind but when asked if you know how to do xyz you won't have a great connection to what is being asked even though you are a master of it but call it the Uberglobber technique. This is probably one of the biggest reasons why self-taught nerds will have lower self worth then those who learn in classrooms or around peers who are industry pros.

Relating to this article is very easy for me because in the last 3 years I have gone after my own clients. Now I am looking for a job and found that I had completely lost touch with what skills are most sought after. My concern has been getting the clients and then getting paid so now I am playing catch up.

If anyone comes up with a magic pill that implants new skills into your brain then please let me know. I need a quick fix.. :-D

Posted by: Collin Yeadon | Apr 12, 2006 5:29:03 PM

The blog is wonderful. I do feel cert approach as the best way for learning. I feel it is the basics that paves the way to awesome discoveries of new methodologies and techniques. Certifications stimulates us to think in different ways from usual , especially gaining an insight into what a problem might be and how to solve it. I had done SCJP cert, after finishing up that , now I am able to impress my peers by helping them finding out the root of the Exceptions or errors occurring. And thats how I impress my boss tooo....

With Certs, we take up the job of a debugger...

And well from looking at the Guy writing on the board he seems to trying to solve some equation ....can be a Mc Claurin Series or a Calculus.....whatever it be.....one thing is clear...he is trying to solve something to get certified. might be trying for a PHd.

Posted by: Revathy | Apr 13, 2006 3:58:32 AM

Attending Technical conferences not only enhance my skill sets, but also kindles my passion towards the technology ... I just LOVE to go to Technical conferences ... I pay for it what ever may be the cost. :) ... Check out my BarCamp Chennai India experience at:


Balakumar Muthu

Posted by: Balakumar Muthu | Apr 13, 2006 4:49:01 AM

To keep sharp, I've started finding instructional podcasts on podzinger. Yesterday, I found Three great Thinking tools from Intel that are great for all ages.

This never would have happened if I hadn't intentionally searched for them. I sub over bloglines and listen to them while I lift weights or run at 5 am.

The quest for excellence is definitely a decision. This is a great article!

Posted by: Vicki Davis | Apr 13, 2006 4:48:22 PM

Hi Kathy,

All the points so far were excellent. I'd just like to add my own perspective. There are several more things we could try and do in order to stay on top of the game:

1. Join the meditation group -- as a Zen teacher, I may be heavily biased towards meditating, but that's in my experience the absolute best way to stay sharp and focused.

Make sure you don't start the meditation practice in a competitive spirit. There are no winners or losers in that game. Each minute you can devote to meditating is a fully qualified victory. You'll be amazed at how much clearer your thinking will gradually become.

2. Learn a new language -- when I was young, I've learned Latin at school. Then I went on to learn Sanskrit. Learn weird, unfamiliar languages. Try Hebrew, Arabic... it's an incredible exercise for the mind.

Right now, I'm kind of gearing up to try and learn Cantonese. What the heck!

3. Try to learn to play a musical instrument -- I've been playing guitar for more than 20 years now. To me, it's the most wonderful inanimate companion a person can have. But trombone is also nice; so is a drum kit:-)

Musical instrument will keep you engaged, as there is no chance in hell that'll anyone will ever be able to learn an instrument in its entirety. It's an endless, but very gratifying job.


Posted by: Alex Bunardzic | Apr 13, 2006 5:13:06 PM

I'm fairly sure that guy's working out the equations used for calculating the average wing-speed of an unladen swallow.

(Who says my college years were wasted? ;)

Posted by: zonker | Apr 14, 2006 8:50:46 AM

The comments to this entry are closed.