Overcoming Technical Challenges

March 20th, 2019

How do you overcome and learn a new technology? Today, I present a couple approaches on tackling frustration.

Growing up, I've always been fascinated with IT. I learned how to code, debug, and build systems. It took some effort to learn what was the right and wrong way to write code.

And I won't lie. It was tough.

Then the Internet appeared and everything accelerated by 10x.

No...more like 100x.

Once a new technology or language appeared, there always a "technology hill" most people climb to understand that "something new."

This is difficult at first, but as they say, "Rome was not built in a day." It does take time to learn new technology.

Overcoming the Hill

The reason for this post came when I was recently chatting with someone on LinkedIn and they asked a question which made me sit back for a minute and think about it.

Have you ever been frustrated/stuck/demotivated while learning a new technology or language?

My response to him was:

All. The. Time.

I, then, proceeded to explain some of the things I did when I got frustrated with not knowing how to do something in a new language, using new technology, or understanding the methodology behind a framework.

If you've been in the IT field for any amount of time, I'm pretty sure you've tackled this feeling before.

So how do you overcome these feelings when learning something new?

Personal Research and Development (PR&D)

When there's a new technology, framework, or language, I tend to create a bookmark folder and start the R&D on that particular topic. When I find something extremely useful and has value, I place the bookmark into a folder until I can get back to it.

When I have the bandwidth, I revisit those bookmarks and stream as much as I can into the old cranium. With these bookmarks, my brain goes into learning mode and it knows I'm going to learn about this new topic.

After learning about this new thing, I start to remove the bookmarks. Some I consider extremely valuable and make various collections from them (exhibit A, B, C, D, and even E).

Of course, I won't address the elephant in the room for developers: StackOverflow (sidenote: Do you know how much Q&A StackExchange offers on their other sites? Wow...just WOW!)

Training

New technology always has early adopters. When these early adopters are passionate about this new discovery, they dig into it hard and fast.

When they learn enough information, they pass their learning on to others through video distribution or learning channels.

Channels like Pluralsight (affiliate link) and Udemy.com (affiliate link) are excellent examples of learning new technologies from experts.

Conferences

It's always good to get out from behind the electronic devices and talk to others whether they are your peers or new people who share your same passions.

As the old saying goes, "Birds of a feather, flock together."

Find the conferences utilizing these new technologies and express your interest to others. Socializing with people at these conferences may even provide the opportunity to make new friends along the way (No, seriously...I've seen it) ;-)

Conferences like Codemash and Stir Trek provide sessions about what's happening in our industry and what trends are most prevalent in programming circles.

Persistence...

When you learn about something new, it can be intimidating, but the key is to continue learning it as much as you can. You need to persist in your efforts when learning something new.

One of the biggest failures for businesses is persistence. Too many times, founders, developers, or entrepreneurs (or all three for that matter) stop working on a particular project because it's too hard, or they don't have enough time, or it will take too much time to pivot the product. Whatever the reason, they give up.

This also happens when we are attempting to learn something new. We decide it's too hard and we take the easy way out. Some quit.

I have an image in my office sitting on my whiteboard which reminds me to always persist in my efforts...no matter what.

And I recently found a new one as well.

Persistence is the key to learning something new.

...But Know When To Take a Break

While there is something to be said for persistence, you can't run in high gear for endless periods of time.

Take a breather, get up, go for a walk, spend some family time...whatever gets your brain off-topic. Yes, your brain needs a break.

But after the break, get right back into it!

Conclusion

Being frustrated, stuck, or demotivated when I've failed to learn something new taught me three things in my career:

  1. You did not FAIL, you learned. Continue on your path to "learn."
  2. This stokes the fire inside me to become better at this new technology.
  3. While this new language, technology, or framework is the shiny new thing, there is always a better way to do something (i.e. Ajax then, Ajax now)

I hope this inspires other future developers to experience new ideas without fear of failure and become bolder in their endeavors.

How do you deal with frustration when learning? What do you go to when you get stuck? Or is it Who? Post your comments below and let's discuss.