Ago, with that title, I’m either young or old amongst my peers. But a recent task I have been working on piqued my thoughts.
What did you do 15 years ago when you were handed a task that was clearly outside your skill set? Your manager comes and asks you to code in a language you haven’t used outside of a lab in college, or perhaps asks you to hack away on a platform you’re unfamiliar with.
A common approach was to either a) go buy a book, b) walk down the cubicle line and find the team expert to coach you, c) convince your boss to ship you to a 1-week training class, or d) profess your ignorance and decline the task. Heh. I guess (c) and (d) were never really available much, ehh?
(a) is the reason that I have gobs of software books on my shelf. I learned a lot of useful tools and tactics that way, but those books are definitely way out-of-date and probably ready to be scrapped.
The truth is that my manager already knew the team experts, and she typically picked them. I was lucky here and there to get tapped to sit 2nd chair and learn underneath their tutelage. Eventually, with enough exposure to certain systems that way, when that 1st chair expert left, I inherited their position. I can remember my manager giving a customer presentation with me sitting beside her to answer potential questions, being the nicely groomed “expert.”
But what about today? What happens when someone asks you to write a Windows BATCH file when your whole career has been based on Solaris, Linux, and Mac? You can either a) go buy a book, b) open an IM session on skype and find the team expert to coach you, c) convince your boss to ship you to a 1-week training class, d) profess your ignorance and decline the task, or…..(drum roll)….
e) Google it!
Now which one is the cheapest, fastest, and most likely to find current documentation for the version of tools you are using? Option (e) has become so standard and accepted in software development that the expression “Google it” has entered our lexicon. In fact, this expression has reached into common lingo.
Because it doesn’t really cost you anything except having to bypass some ads, this has probably given the technical book industry a big beating.
Regarding training classes, I doubt it has killed them, since it was just as hard to convince your boss to send you 15 years ago. Most people either go BECAUSE their boss requested it first, or people just used their own money and vacation time. That fact is probably just as true today as it was back then.
And no one ever really declines tasks. Managers are still pretty good at spotting the right people to pick up tasks. If you and your manager are having a major mismatch of tasks and talent, it means there is a bigger underlying issue that needs to be mended.
However, now a days companies are learning what is software outsourcing and ultimately outsourcing their difficult or time consuming tasks to third party vendors. This method is not only saving some time but also helping companies to work with quality and cost reduction.
But the subtle point is that it’s easier than ever to grow your skill set. I monitor over 100 blogs using a news reader. I also listen to tech podcasts whenever I’m driving. I also attend monthly user group meetings. This three things have heightened my awareness of evolving technologies, and made it possible for me to check out and use new stuff, so my skill sets are always growing.
That’s why it’s important to keep consuming new sources of software development so you are always improving yourself.
Yes, it’s remarkable how many sources of information, and even outright wisdom, are out there, not only for software development, but for anything else one wants to do. It’s a blessing. On the other hand, sometimes I feel like we can get into our self-imposed arms race: because it is so easy to learn something or get answers, we ramp up what we try to do.
It is kind of a double-edged sword.
I’m always curious how people today get started learning how to program. For me, it involved simple commands on an Apple IIe, driving a turtle around on a screen with a pen (aka LOGO). People don’t do that today. So what DO kids use to get interested in programming?