Getting out of the Comfort Zone

I often learn lots of new tooling and techniques, when it comes to programming if you aren’t learning something new everyday then you aren’t doing it right. For a good amount of time my projects have allowed me to simply use the tools and items that I know and have collected in my bucket over last few years.  Recently I entered a new project needed to learn a few new tools.

  • Gulp – Javascript Task Runner
  • Bower / NPM – Package Management and Command Line tooling
  • AngularJS – Javascript MVW Framework
  • Atom – Text Editor

The time that I have spent learning these new tools has saved me countless hours to automate processes that I have been doing for a very long time. They also provide me with new ways of thinking and approaching problems. They have expanded my mind and gotten me out of a comfort zone that I have been far too interested in maintaining.

The most important part of all of this is that for me… these new tools have made programming FUN AGAIN!

My suggestion to any developers who really feel stuck in a rut or bored is this, learn something new. Try something new…extend what you know! It can be as simple as changing your editor from Sublime Text to Atom. I still use Sublime Text but having another flavor, another option that I know and feel comfortable with has turned me into a more pragmatic programmer.

Gulp allows me to automate tasks and create a build process that minifies code, compiles preprocessor css and lints javascript. With some extensions it even compresses images and eliminates the need to reload the browser after an edit or change.

Bower / Node Package Manager allows me to install scripts and larger components or distributed packages with a simple command line directly into my project. It saves me a ton of time.

AngularJS is a Model View Whatever framework engineered by Google. I can rapidly prototype new apps/interfaces and functionality on the client side. There are bindings and drivers to hookup to SQL and NoSQL databases and using modules like NgStorage extends it beyond simple one page applications.

Atom is a text editor with package management system written by the team at GitHub. I started using atom as a replacement for Sublime Text because the developer for Sublime Text has been on a very long vacation and I don’t feel like much love goes into it anymore. Atom is very similar to Sublime Text and most of the packages I use in Sublime Text have been ported to Atom. Even the best feature of Sublime Text the multicursor editor is available as an Atom Package.