2011: A polyglot programmers journey

Thoughts from the team
By    | December 15, 2011 | Musings,

At Storm we like our developers to be polyglot programmers. We believe knowing a wide range of languages, APIs and toolsets makes for better programmers and ultimately, better deliverables for clients. It means we can pick the most appropriate tool for a task and deliver an excellent final product. As the old saying goes, ‘if your only tool is a hammer, everything looks like a nail’ – and that’s bad.

So, what have I learnt this year to add to my programming arsenal?

  • I’ve learnt Ruby and Ruby on Rails as an alternative to my native C# and ASP.NET MVC.
  • As part of learning RoR I’ve picked up RSpec and started following a Test-Driven Development process.
  • I’ve spent time getting down and dirty with Powershell and (for my sins) batch files to help automate build and deployment on Windows. This also meant digging into MSBuild.
  • I’ve learnt about Active Directory / LDAP, how it’s structured, the query language and a whole bunch of other Windows sys admin bits through our development of Cloud Experts. The latest phase of the project has seen my learning all about the inner workings of Exchange Server.
  • I’ve switched 100% to using Git instead of SVN and I’ve recently added Git-Flow to the mix.
  • I’ve started writing my CSS files in SCSS.
  • I’ve written integrations with SagePay, WorldPay, SmartDebit and FuturePay.
  • I’ve hacked together an app using HTML5 geolocation.

In retrospect, not a bad years work. What’s next for 2012? Well,

  • C# 5 will be out in 2012 and I can’t wait to play with the new asynchronous goodies – I can already taste the performance boost that will give some of our projects.
  • CoffeeScript has been introduced into Rails 3.1 and it’d be rude not to have a play.
  • Node.js is the current cool kid on the block and I’d love to develop something with it.
  • Some of funkier bits of HTML5 haven’t been needed yet. I’d like to play with WebSockets, local storage, workers and offline caching.
  • I’d like to try rendering with SVG and HTML5 Canvas.

What have you added to your tool belt in 2011? What will you be adding in 2012?

More like this