Tech Learning

Most web developers know that the tech industry moves at an accelerated pace, with hundreds (thousands?) of new technologies to try out that all promise to make our jobs [easier|faster|more efficient|stronger|more shiny].

The problem is time.

How do you know which technology is worth your time to learn? Which ones will actually deliver and make actual improvements?

I've spent the last seven years (2005) working in Ruby and Ruby on Rails as my primary development environment. I've used a smattering of different technologies but my default stack has changed very little over the years (I'd like to think that I've grown into the stack and am using it better than when I started).

Occasionally I'd try out something new which would have a huge payoff for me, like jQuery or Sinatra. Many other times the “new thing” wouldn't work or would only pay off in specific cases that I don't encounter. Even if there isn't an immediate benefit, I still need to make sure to set aside time to learn new tech.

To formalize this a bit and prevent it from getting put off for “later”, I've decided to follow what David Eisinger did. He picked 30 pieces of technology, spent one hour per day, and tried to actually use them. I'm going to do it a bit differently and do only one per week (maybe two) but I'd like to continue doing it over several months.

I've been asking around on Twitter and have a rough idea of the technologies I want to try out. If you have another, suggest it in the comments. I'm open to mostly anything; programming language, framework, library/plugin, etc.

  1. MongoDB
  2. RedisLearning Redis
  3. Resque
  4. Datamapper
  5. Riak
  6. Cassandra
  7. CoffeeScriptLearning CoffeeScript (with a dash of Node.js)
  8. Knockout.jsLearning Knockout.js
  9. Angular.js AngularJS – Weekly Tech Learning
  10. Backbone.jsLearning (and Failing at) Backbone.js
  11. Ember.js
  12. riot.jsriot.js, minimal MVP – Weekly Tech Learning
  13. Spine.js
  14. batman.js
  15. phantom.js
  16. casper.js
  17. Web sockets
  18. pjaxLearning pjax
  19. Socket.io
  20. Canvas element
  21. HTML5 geolocation
  22. CSS3 animations
  23. fog gem for EC2 and Rackspace cloud servers – Fog – Automating Cloud Servers
  24. VIM
  25. Padrino
  26. Node.jsLearning Node.js
  27. express (framework for node.js)
  28. tower.js (framework for node and express)
  29. flatiron.js (framework for node)
  30. derby.js
  31. meteor.js
  32. Iridium (tutorial) (JavaScript toolchain)
  33. handlebars.js
  34. RSpec 2
  35. EventMachineLearning EventMachine
  36. Goliath
  37. C
  38. Objective-C
  39. iOS development
  40. Phone Gap
  41. Lua
  42. Io
  43. Selenium
  44. Erlang
  45. spooky (Sinatra-like framework for Erlang)
  46. python
  47. django
  48. mongrel2
  49. Elastic Search
  50. WordPress plugins
  51. Compass
  52. MiddleMan (Static site generator)
  53. Renee
  54. fallen (daemon library for Ruby )
  55. knockback
  56. fnordmetric (Railscast)
  57. tmux
  58. R
  59. GoGo – Tech Learning
  60. QUnit – Tech Learning

I haven't completely thought out how this will work but at the very least I'll try to write up a summary of my experience with each technology here.