Keeping Up With Technology And Learning New Subjects

It’s been a few years, but I can still remember when I first started teaching myself how to build websites and how much I needed to learn. The obvious first step was learning html, which I was somewhat familiar with already. After that I had no idea where to turn next.

Bear in mind when I was getting started things were different than they are today. The industry had not yet adopted css and most sites were built using table-based layouts. I wanted to build websites and wanted to know how as soon as possible. I needed to figure out what to learn in the face of so many languages and tools.

an open textbook

This idea of what to learn next or how to get started learning a new subject, is one I’ve written about before. I’m sure I’ll come back to it again as well. Knowing how to learn is an important skill for everyone, and more so for anyone working in industries that changes as quickly as web design.

My apologies if some of what follows is repeating myself from older posts, but I think this is one of those topics where reminders are always helpful. The pace of technology will only increase and it will be harder and harder to keep up if we don’t have strategies in place to remain current.

Strategies for Learning New Things

What do the following have in common?

I’m sure there are a number of things they have in common, but the answer we’re looking for is they’re all things I know little to nothing about. Thanks for playing. You can collect your consolation prize at the door.

If you pay attention, those few things that are important to learn will become more obvious

I know the names and even think I know what each of the above is for, but I have no real clue when it comes to how to work with any of them.

Yet I see each mentioned often, so often that it starts to feel like I have to learn them as well as all the other technologies and techniques frequently mentioned. After awhile you feel like you’re hopelessly behind everyone because you didn’t master library x or technique y over the weekend like everyone else.

When 2013 began Net Tuts+ published a list of what would be hot for the year. How many items on the list do you honestly know? I can tell you there’s a lot more on that list that I’m clueless about than I know well or well enough.

If it’s similar for you, don’t feel bad. It’s ok not to learn every new thing. The majority will fall out of use just as quickly as they fell into it. The first step to keeping up is realizing you don’t need to keep up with everything. There’s no way you could so stop worrying about it.

You also don’t need to jump on every new technology or technique the first time you hear about it. You can, but you don’t have to. I tend not to be among the earliest of adopters of anything. I usually fall within the next wave of late early adopters. A bit of waiting has several advantages

  • It lets some things fade away so you don’t need to waste time learning them
  • It allows solutions likely to gain widespread and long term adoption emerge
  • It lets others work out the inevitable early issues
  • It allows time for articles and tutorials to help you learn
  • It gives you time to decide what you really want to learn

While waiting will help sort out some of what you should learn there are other strategies that help.

  • Pay attention to your industry
  • Find where technologies overlap
  • Learn on a need to know basis
  • Add constraints, context, and specialization

Most new things thrown at you aren’t anything you need to know, but if you pay attention, those few things that are important to learn will become more obvious. They’ll get talked about more and more frequently and not just for a month or so. They’ll get talked about by people who’s opinion you respect.

Realize that many new things are just different ways to do the same thing. Consider Sass (.sass or .scss), Less, and Stylus. All are css preprocessors. They have a different syntax and offer some different features, but fundamentally they’re the same thing. Feeling like you have to learn all of them can feel overwhelming. Understanding that you may want to learn one is much less intimidating.

Learn on a need to know basis. You don’t have to jump on something because it’s new. You should choose to learn something for a reason. A good one is you need or want to start doing certain things in real world projects.

I started using preprocessors for the simple reason that I thought variables would make writing and maintaining css easier. I learned Javascript so I could make web pages do things when someone clicked something. I learned php to handle forms and I learned mysql so I could save information for later.

Add constraints and context to your learning. Again you can’t learn everything. You have to pick and choose what to learn. You can base your choices on where your interests lie, where you think the industry might be heading, what will help your business the most, and on and on.

These constraints give context to what you learn and signal where you might specialize. Are you more interested in the visual aspects of design? Do you gravitate toward performance? Security? I don’t mean you should ignore everything else beside your main interest, but listen to yourself about what you get more excited to learn.

How I’m Learning Design

Sometimes learning isn’t about the latest and greatest. It’s about taking on a larger subject. That’s how it was for me a few years ago when I started teaching myself graphic design. I was comfortable developing sites others had designed, but was in the position where I both wanted and needed to design them myself.

There are different approaches to learning a new subject. You can start with overviews and work your way down to the specific or you can start by picking up tips and techniques and work your way back up to the general. I prefer the former.

I like to start by reading a book or two about the general subject. This is how I started learning about design. I didn’t expect to walk away after reading a book or two and have my designs improve. What I did expect was to set a context for the rest of my learning.

I start with the general because I want this context. It helps me better understand the most important topics to learn first and saves me wasted time focusing on less important things. With graphic design that’s led to learning roughly in this order.

  • Fundamentals
  • Typography
  • Layout/Grids
  • Color
  • Aesthetic details

The fundamentals gave me an overview and set the context. They helped me see that type, layout, and color are the 3 major topics that would help me become a better designer. They helped me better understand how I should think about and approach design problems and formulate concepts as solutions.

The order above isn’t meant to imply that I learned everything about the fundamentals and then moved on to type, layout, etc. It’s more that my focus started with the fundamentals and progressed toward what comes after. My attention of late is drawn to color, but I continue to go back and deepen my understanding of the fundamentals, type, and grids.

Last on the list above are the aesthetic details, which seem to me something that comes about through practice more than anything else. Everything I learn helps me make better aesthetic choices, but ultimately it’s skill working with tools and code that will give me the ability to add the details to my work.

That’s only one approach you can take. As I said, I prefer learning top down, from the general to the specific. It’s equally valid to learn the other way. In fact when you learn bottom up others will probably see you as a better designer quicker than if you start top down.

The details tend to wow people more than the foundation. I prefer building a strong foundation first. It may take longer to wow with the details, but I think it ultimately wows more in the long run.

Summary

How to learn and how to choose what to learn are topics I come back to from time time. Learning is important in general and especially when you work in a field where rapid change is the norm.

The first step to not being overwhelmed is to realize you don’t need to learn everything or most things. Give it a little time for technologies and techniques to sort themselves out and for what’s important to become clearer.

Try to set some constraints for yourself about what you choose to learn and try to understand when new techniques and technologies are effectively doing the same thing. Pick one dish from column A instead of thinking you need to pick them all.

I prefer to start with the general and progress to the specific, but the opposite is also a valid approach and will likely wow others sooner. Ideally you’d work both ends toward the middle.

Regardless of what you choose to learn and how you choose to learn it, remember than learning never ends. You should always be dedicating some time to learning new things, to improving, and growing as a designer, developer, and person.

Download a free sample from my book, Design Fundamentals.

6 comments

  1. I completely agree with you Steven.

    In the past I wanted to jump into everything, but I soon realised that it was impossible to keep up. I’m also more of a middle / late adopter where I wait for the noise to fade before picking up on any of the above technologies.

    Right now, I just go with the flow and learn what I really feel like learning. That way, I stay true to myself and what I wanted to do.

    I personally know a little bit about grunt and angular js, and heard about the rest.

    Grunt is pretty good imo, it totally help speed up development with automatic minification, compilation, auto refreshing the browser… etc. If that interests you, you might want to check my article out. http://www.zell-weekeat.com/wordpress-with-grunt/

    If not, wait till you feel like trying it out :)

    • I’ve tried jumping on everything too. it’s impossible to learn that way. You can learn more than one thing at a time, but you do need some focus so there’s a limit.

      When I was first starting and thinking about all the things I thought I had to learn it really was overwhelming. I figured all I could do was take one or two at a time and learn what I could.

      Thanks for the link. I’d already seen your post. I’m subscribed to your blog. I had collected the link and added to a bunch of others I’ve collected on Grunt.

      Speaking of Grunt, is it going to get replaced by Gulp? Sometimes you really have to let other people sort some of this out and see what emerges as the technology that’s going to last.

      • Yeah likewise. I decided to focus on HTML + CSS till I got enough initially. Looking back I glad I focused instead of popping all over the place.

        I totally have no idea whether Grunt will be replaced by Gulp. Haven’t even heard of Gulp actually. I think I’m kinda slow on that.

        I’m happy with Grunt at the moment and don’t really bother about others though.

        I forgot you were subscribed :) That configuration isn’t quite as great as I would have love it to be. I’m still tinkering around over time, and I’ll post an update when I have a solid one that totally works.

        Catch you around man

        • Sounds like what I did too.

          I can’t say I know much about Gulp, but it’s another task runner and I’ve seen a few people using Grunt talk about Gulp as though it will be a replacement. I have no idea it that’s true, but they both seem to do the same thing.

          • From what I can tell the part of Gulp which makes it “better” (probably subjective) is that you can chain tasks together rather than relying on specifying input & output files in Grunt.

            For example instead of doing something like:

            validate{
            in: 1.txt
            out: 2.txt
            }

            minify{
            in: 2.txt
            out: 3.txt
            }

            You can just do:

            3.txt: minify(validate(1.txt))

            You can imagine with a long list of tasks this would be much neater.

            This is my very simplistic understanding.

  2. Thanks John. Now that you point it out, I seem to remember the chaining being the reason for using Gulp. I’d be lying if I said I knew much about it or Grunt, but the chaining being an advantage does sound familiar.

    Thanks.

Leave a Reply

Your email address will not be published.

css.php