What Should You Learn Next?

With so many things to learn what you should you take on next? What’s necessary to learn in order to become a better designer or developer? I’ve taught myself X, but don’t know whether I should now learn Y, Z, or Q. These are common questions and I want to offer some thoughts in reply.

This topic crossed my attention recently while listening to an episode of the Shop Talk Show with Chris Coyier and Dave Rupert. As you might know a big part of the show is responding to listener questions and the question of what to learn next was asked as it very often is.

Chris and Dave have a quick answer. Just build sites. Choose projects and let those projects determine what you should learn based on what those projects need. I agree, but think a little more should be added.

Design in Theory and Practice book cover
Design in Theory and Practice by Ernest. A. Batchelder (1910)

Theory and Practice

I’ve talked about this before and so won’t rehash it all here, but I think both theory and practice are important.

  • Practice — teaches you how to do something
  • Theory — teaches you why it works

If you could only choose one, I’d go with practice. Practice without theory will take you further than theory without practice. The two together will take you further than either alone.

I bring this up, because I think the advice offered by Chris and Dave leans a little more toward practice than theory.

Considerate Constrcutors
Construction site entrance at Birmingham New Street Station

Just Build Websites

It’s great advice. Here’s a secret you already know. The learning is never going to stop. Technology will keep advancing faster than you’ll be able to learn. Don’t worry about it. The reason many people struggle with what to learn next is because they worry that they’ll choose the wrong thing. Stop worrying. Just learn something. Learn because you need to in order to complete a site.

Every site will have its own needs. Build a site because you want to or because a client wants you to and learn whatever is necessary to complete it. Do the same with your next project and the one after that.

If you continue to do this you’ll keep picking up skills and techniques. One day you’ll look back and realize how much you’ve learned without having worried about the question what to learn next.

You’ll learn techniques you can use again and again. You’ll continue to refine those techniques to make them better. You’ll be learning the how of your craft.

The specifics of what you’ll know will come from the unique path you follow. You’ll be learning how to do things based on your own interests and the direction your business takes you. It’s a zen-like way to develop your talents and skills.


A Little Planning is a Good Thing

While I’m a big believer in following your Tao, I think it’s more than ok to lead it a little. Follow your path in life, but feel free to bring a map with you.

Sometimes you don’t have a site in mind you’d like to build and realistically clients aren’t going to give you projects unless you’ve given them some reason to believe you can do the job. It’s ok to think about what you’ll need to know to get some of those jobs and prepare in advance.

Say you want to build more ecommerce sites. Aside from the basic html, css, and javascript you’ll need to know, you’re going to need to understand at least one

  • Database (MySQL, PostgreSQL, SQL Server, etc.)
  • Server side programming language (PHP, .NET, Python, Ruby, etc.)

You can certainly pick up bits and pieces of either while working on a site. There’s a lot to learn, though. A little prep work will save a lot of time solving any problems that arise. If the project is for yourself, time may not be an issue, but it certainly will be if the project is for a client and you have a due date and budget to work with.

Pick up a book or two that teach the fundamentals and work through them. Learning in advance this way will teach you more of the theory. It’ll help you understand the why behind your craft. It will help you determine which technique is the most appropriate solution to a given problem when you’re working on a real site.

The specifics of what you learn can still be zen-like in the sense that you can follow the path where your interests take you. It’ll differ in that you have a little more say in which path to follow.

Several books open

What Should You Learn Next?

Ultimately the answer is up to you. There’s no one path we all follow. Start working on a site and let the site suggest what you should learn next. Think about the sites you’d like to build in the future and learn some of what will be necessary to build those sites when you get to them.

Follow your Tao. Let your interests and talents lead your choice in what path to follow and what to learn next.

Having said that there are a few things that most everyone learns along their path. This is the foundational structure on which you can build what you want.


  • Typography — 95% of web design is typography or so it’s been said.
  • Grids/Layout — All that type has to be supported in space.
  • Color — Probably the most effective way to set the atmosphere.
  • Foundational design principles — there’s a reason these things are principles.

If you learn the above you’ll have a good grounding in the graphic part of designing websites. After that it’s up to you. Let your style develop and your interests dictate specific techniques to learn.


  • HTML — is the structure behind everything. I don’t see how you can build websites without understanding it.
  • CSS — is how that structure is presented. Another necessity for building sites.
  • Javascript — controls the behavior of elements. Learn the basic language or a library like jQuery or ideally both.
  • Databases — hold content. The web has moved beyond the static page. Storing things in a database allows for modularity.
  • Server side languages — interact with databases and provide logic to to your code. They also make everything more modular and allow you to build systems instead of static sites.

After that it’s really about different techniques. Pick these up as you go whether on paying jobs or projects of your creation. Does a project call for some flexible css buttons? Develop some and add them to a library for further use and refinement. Do you want something to happen when that button is clicked? Spend some time with Javascript and learn how to make it happen.

Banner in front of Learning 2.011 conference
Banner in front of the school hosting the Learning 2.0 conference in Shanghai, China


What to learn next is a question most designers and developers ask at some point. The amount of information in front of you can feel overwhelming at times. Don’t let that get to you. It’s a marathon not a sprint.

You aren’t going to learn everything by tomorrow. Outside of a few things what you learn depends more on your unique path than anything else. In most cases it also doesn’t matter so much the order you learn things.

Choose what to learn in 2 ways.

Based on the need of the moment — Every site you work on will have its own needs and offer opportunities for you to learn new techniques. There’a a bit of zen and tao here as you follow your passions and interests and see what they lead you to. This will teach you the how of your craft.

Based on the need of the future — When you don’t have a project in front of you think about those you’d like to work on. Think about what those sites will need and start learning them. Learn some of the theory behind the techniques. Study a subject from a higher level. This will teach you the why of your craft.

Just build sites is great advice for the question of what to learn next. However, it’s also good to think about things you need to learn for the sites you want to build in the future and give yourself a good grounding in those things.

« »

Download a free sample from my book, Design Fundamentals.


  1. I’ve learned a lot now. And what I love about my field, about technology and science is that there is always something new to learn.

    Would you really want a field where you can’t advance? 😉

    I think everyone should learn next what is most practical to them (which they can apply to their projects), because it saves time. Do a personal project first, to get the hang of it.

    I myself am going to learn MySQL, SQL, Python, and JavaScript/MooTools.

    If you can blog about it and impress a client, that’s good too.

    • It’s one thing I love about designing and developing websites. There’s always something new to learn. As soon as you think you might have it figured out something changes and you get to learn a whole bunch of new stuff..

      I think learning what’s practical is good too, though I do think there are times when you have to plan some things out in advance. There are certain things that will be hard to get right the first time and your project may need to be be done right that first time.

      There are a few things I want to take on over the next year too. I’m looking to get better working with Sass and I want to start working with version control, specifically Git. I’d also like to improve my skills working with color and choosing typefaces.

  2. Agreed…you shouldn’t just learn a certain skill as then your stuck just being able to do that one thing. Learn the theory and you will be able to pick the best tools for the job.

    For example the theory behind most CMS are very similar, yet you can use them in different ways for different projects.

    Wordpress might be perfect for one project then drupal might be perfect for another.

    Let the project decide what you do next and learn the best tools for the job.

    • Interesting. I hadn’t really been thinking about CMSs, but you’re right they certainly apply.

      I definitely think you should learn things that will apply to what you’re going to do next or now, but it’s also a good idea to learn beyond the immediate to better prepare yourself.

Leave a Reply

Your email address will not be published. Required fields are marked *