The Geeky back-story
I grew up in the suburbs of Detroit. I remember when I knew nothing much about computers or programming. I had typed in some program listings for games printed in magazines so I could play them on my TI-99/4A when I was 10 years old. Sure, I adjusted those games so I could outrun the lion that was chasing me, or whatever the game did. But after about a year or 18 months, I got bored with loading programs I wrote by super slow cassette players and preferred to jump ramps on my bicycle, and otherwise be a dumb kid running around outside.
The cocky college kid
In college, I teased the computer science and business school kids who were always in the computer lab, and crying and hissing when the unreliable equipment would instantly destroy the assignment they had been doing for hours. I would gloat that I outlined my writing assignments between classes on paper, and could generate an error free paper in a couple hours, first try on my trusted electric typewriter. I remember trying out the computer lab a few times and getting screwed when the bomb icon would show up on the old macs (the PCs were occupied by the forementioned business and CS students), which meant the machine had locked up and corrupted the file I had on my floppy disk, and on my way driving home I got so angry I tore a piece of my dashboard off with my bare fingers!
I feel stupid doing the same thing repeatedly
Years went by, and I was working as a technical recruiter. I was getting tired of running laps around the file cabinets, formatting resumes on a typewriter, and entering the same candidate information on each bid sheet, every time I submitted them to a position.
Discovered a talent
So, I created a simple Microsoft Access database to hold the bid sheet information for the candidates I was submitting to make things less repetitive for me. Then I figured out how to share that database on the network so my co-workers could use the same bid sheet system. I learned how to configure the Windows for Workgroups network so that I could print the resumes directly from the computer, instead of working through the old Unix-based resume system and horrendous printed workflow it forced us to use. Then I shared out the fax-modem that the acccount rep had on his computer, so that I could skip the printing step altogether, and fax bid sheets directly to our client. If the fax did not go through, an email alert showed up at my desk letting me know I needed to retry. It was fantastic in terms of productivity, but seems rather primitive by standards of today!
Off to the races
Not too long after that, I found myself in my first database/programming job, at a small electrical engineering firm. There, I had to learn how engineers worked with CAD documents, paper files, and how to fix a document control system, eventually replacing it completely. Along the way, I learned Visual FoxPro and Visual Basic, because both were more flexible than Access, and much more useful in the marketplace. About a year into my programming career, a friend and former co-worker from the recruiting job asked me if I could build a system for his new employer to use for tracking applicants and jobs in their recruiting department. I have less than 2 years experience in software, and delivered my first product on my first consulting engagement! As a new consultant, I had to learn about self-employment tax (that sucked). As a programmer, I learned how to be a de facto Oracle DBA, because I saw resistance from those groups when I asked for help from them.
The pattern emerges
On and on this goes. I always seemed to hit a wall that required me to learn as I went, learn just what I needed to get to the next step, and fall on my face in a few places as necessary along the way. What I did not realize at the time, is that I was an early adopter of what I believe is the most critical life skill for the next 50 years…Just in Time Learning!
What is so different now compared to the time of your parents?
At one time, we were all encouraged to become the best at something–To get a solid skill, and use our specialty to improve our incomes, lifestyle, and futures. Today, I do not believe this is a reliable way to get ahead, past a certain point. For one thing, there are so many specialties available, espeically in technology careers, that the options are endless. There are so many people in these fields competing for top position as a specialist, that even if you are in the top 10% of a specialty, there are probably like 50,000 others just like you in the marketplace. Instead, it is the combination of things you are good at which makes you unique, and this is your strength when competing in a market. For example, there are some brilliant software developers out there. I have worked with some of them, and they can out-class me in every facet of algorithm design, their use of patterns, and even speed to completion of individual programming tasks. I was often amazed that I ended up on top of these talented folks so often. Here is why that happened:
- I could deliver a bigger project more reliably, because I would use the best designs for the skill level of the people on my team.
- I could explain to the VP and ‘C’ Level people what we were doing and why, and I could explain to the developers how the work they were doing fit into the bigger vision.
- I could demonstrate that performance issues during testing were not due to code, but due to database and networking configuration issues, using tools and terminology that the DBAs and Network Admins used daily.
In short, it was the intersection of technical prowess, communication skills, and adaptability to my environment that made my probability of success much higher than that of the “programming god” sitting next to me. I will tip my hat to Scott Adams (Dilbert cartoon), for drawing out this concept in his book, “How to Fail at Almost Everything and Still Win Big: Kind of the Story of My Life”.
While we must have competency in several areas to be viable in any complex field, the most important skill to have after acheiving a core competency is the ability to integrate a new skill into our perspective and problem solving.
This is what I call Just In Time Learning, and it is the ability to identify the key parts of any discipline, boil those down to self-study practices to add the new competency, and to apply the new practices to our vocation.
Embrace Just in Time Learning. Once you get comfortable with the idea, your world will open up. After doing it successfully, you will realize that you already have everything you need to pursue anything you want. You just have to be open to learning, and get good at determining what are the core parts of any discipline you study. If you are facing a career change, Just In Time Learning can help you keep calm and confident as you pursue your next opportunity.