Always Be Learning

6 minute read article Leadership   Technology   Wisdom   Career   Learning Comments

Once again, I’ve been looking back at some old blog posts I wrote that didn’t make it here when I converted to Jekyll a few years ago. This one was written on June 16, 2014, just a touch over 10 years ago!

The question from the original blog post is an interesting one, and still very relevant: how do I learn new technologies and language?

This was written while I was still independent, but it’s still relevant. I talk about learning a LOT in the conference and meetup sessions I give. I talk about learning a LOT in the metup I run. I talk about learning with my team and my peers.

Learning (as an indie)

I was recently asked the following question on twitter:

how do you ever learn new technologies & languages? It’s not like you have copious spare time.

Instead of trying to answer in a bunch of tweets, I decided a post would be the best way to answer.

The fact is, it can be a struggle to learn new things. Many times I’ll learn new technology on the fly, as-needed by a given project. I actually don’t mind learning this way. It brings a certain amount of focus that more casual learning doesn’t. On a recent project, I found myself having to do a lot of bit manipulation. Since I don’t have a Computer Science background, this was new to me. I learned by diving in, writing a TON of tests and figuring it out. It was really satisfying to see my tests pass, and even more satisfying when the firmware team I was working with gave my code the “thumbs up”.

Over the years, as my network of friends and colleagues has grown, I’ve started going directly to the experts in a given technology and getting some great one-on-one instruction. For example, a little over a year ago, I need to get up to speed on all the Microsoft Azure offerings. I wanted more than the normal marketing fluff from Microsoft, so I asked my friend (and Azure MVP), Mike Wood. We connected via skype where he gave me a solid couple hours of instruction. I did the same thing with Jim Holmes when I needed to learn about the telerik test studio, specifically in the context of testing WPF applications.

While a little off-topic, I also like to pair with friends when I’m stuck on a problem. The majority of the time, all it takes is getting them on skype and explaining the problem to them before I have that “AHA!” moment.

Conferences, for the most part, are more about the social aspect than sitting in sessions. Recently though, I’ve started seeking out sessions on tools and technologies I’m interested in. I know I won’t come away an expert, but I’ll have a much better idea of what I need to know and where I can find more information. A recent example from Codemash 2014 – I’d been hearing about scriptcs and it sounded interesting so I made sure to hit my friend Kevin’s session on the subject. I now have a better understanding of what it is, how I’d use and where to look for more information.

As a long-time speaker, people ask if I like to pitch “unknown” topics to conferences so I’ll be forced to learn the subject. While many speakers do this successfully, it’s not something I like doing. When I go into a room of attendees, I want to know the material inside and out. I want to have actually used it on a project so I can talk about it in terms of “production code” versus “demo code”. I recently had a good friend (and mentor) tell me I should do this regarding some web technology. While I respect his opinion, I still can’t bring myself to do it.

I do try to carve out a couple hours a week for learning, whether it’s surfing to find material, reading one of the many tech books that I have on my bookshelf (most are on web related technologies since I know that’s a weak spot I need to improve on) or watching videos on Pluralsight. I’m not as consistent with this as I need to be, but that’s only because billable work (or Lite Accounting work) is always waiting.

Final Thoughts

Learning should never be deferred to your employer. It’s your career, you own it. Find ways to sharpen the axe that don’t rely on your employer “letting” you.

I’m always learning because the alternative is not appealing.

When it comes to languages and technologies I’m learning today, I am focused on gaining a deeper knowledge of Azure, specifically around networking. It’s not what I do day-to-day so it’s challenging. I’m also trying to fullfil a career-long goal of learning C and maybe C++. I’m also learning Spanish. I’m almost 600 days into DuoLingo!

Here’s a great talk from my friend (yes, if you watch it, the intro might make it seem like we’re not friends, but we are) Tim Wingfield from the 2012 KalamazooX Conference giving some great career advice!

A seal indicating this page was written by a human