Learn What You Need, When You Need It

With technology moving so fast, our workflows have become the victim of the ever changing web evolution. There are just so many ways to slice an onion these days, how do you tell which is the best way for you and when do you take the steps to learn new techniques and technologies.

Maybe you’ve heard everyone raving about new GUI design tools like Webflow or Macaw, made specifically for designing websites. This could make you feel foolish for even considering firing up your antiquated design tool of choice like Photoshop.

“Wait a minute bro, you’re not designing in browser”

Or maybe you’re still cranking our “Old School” CSS and ignoring the hype of preprocessors like LESS or Sass. Are you writing boring old Javascript or are you a coffeescript junkie? Are you running tasks with Grunt.js?

“Bro, the command line will save you tons of time”

The options are limitless these days. There really is a workflow for everyone out there that fits their style and ability. I do honestly believe there are some technologies and methodologies that are major time savers and people should learn whether you’re a designer or developer, but others are purely opinion. Which leads me to the point of this short little post…

Learn what you need, when you need it.

Just because everyone else is learning ember.js, or node.js or grunt.js doesn’t mean you should too. Ask yourself a couple questions before you go diving into a new language or software and hit the learning curve face first.

  1. Do I have time to learn this?
  2. How will this make me and my workflow more effective?
  3. Does learning this new “thing” affect any other part of my workflow?
  4. What will this new “thing” cost me in both time and money?
  5. Does this new skill make me more desirable/hirable?
  6. Does this new skill/program have a large following/community?
  7. Is it 100% necessary?

So let me take you through a use case of this personal interrogation. The other night at about one in the morning I decided to learn how to run tasks with Grunt. Sound like a good idea right? Grunt is the new hotness right now, in a nutshell it runs the tasks I do on most web projects like compress code, process Sass, optimize photos and more. I currently use the popular app Codekit to do this and have really been enjoying it. So after an hour of tutorials and documentation I stopped and asked myself the above questions.

  1. I’m kind of a busy guy, but I got a little time
  2. Honestly it wouldn’t make my workflow more effective, probably just as effective.
  3. It does effect my workflow, now I have to set up my grunt file at the outset of every project, and get in the command line unnecessarily.
  4. It’s open source, but I am not a command line guy so time wise it might cost me a bit to shake the dust off of my terminal ninja skills.
  5. I work freelance these days, so there is no one who would need to grunt my files into existence, so no.
  6. It has a pretty large adoption rate and growing
  7. No it’s not, codekit is working just fine for my needs.

Score = 2/7

Answer is no, I don’t need to learn or use grunt right now in my life. Although things may be all the rage in the web community, don’t follow trends, Learn to say no, and Know when to start learning.

  • What other questions should be asked when deciding when to learn a new program, technology or language?
  • What does your design or development workflow look like?

Leave a comment and let me know.