Continuous learning

I've been doing a fair amount of interviews recently and how you keep up to date is a question I always ask and I find answers to it quite revealing.  A lot of the time I can judge how the rest of the interview is going to go and whether it's worth continuing just from it.  It tends to separate the engineers who have real passion and are genuinely interested in the art from those who don't.  Which I guess is the reason I chose to write this post.

When I was younger I always believed there was a point in time where I would have learnt all that I needed to learn and could kick back and rest on my laurels.  Unfortuantely I've come to realise that although you can do that you'll soon find that you wake up one morning and the world has changed around you.  We live in an exciting time where technology is changing at an amazing rate.  I was travelling up to a database conference last week and chatting with a work friend, even though both of us are quite young we can remember times when we didn't have mobile phones and had to arrange to meet friends in advance and just hope that they turned up.  Nowadays all you have to do is turn on your phone and your instantly connected to all your friends.  You can find out where they are by checking Facebook, twitter, foursquare or an other multitude of social networks or even resorting to a humble text.  Amazing as the rate of change of technology is, the same can also be said for the speed at which our development tools are changing.  Development languages and practives are maturing at an amazing rate along with new ones popping up every day.  I recently read the latest Thoughtworks Anthology and was amazed at the number of languages that were mentoned that I hadn't even heard of.

This has of course meant that my dream of sitting back having learnt all I needed to has never really become a reality.  Even at university I thought the rate at which I was learning would slow down once I left but if anything I now learn more than I ever have before and the worrying thing is that the more I seem to learn the less I feel I know.  Scott Hansleman wrote a great blog post about being a phony and I know exactly how he feels.  The more I learn the more I realise there is to learn which makes me at times feel like an imposter, pretending that I know quite a lot about the industry I work in when really I've barely scratched the surface.

Luckily at the same time the technologies we use to develop software are changing and growing the learning resources available for those wanting to keep up are also growing. I find myself reading more technology books than ever before and yet my wish list always seems to be growing at a quicker rate than I can consume it.  Couple that with my Google Reader account which has far more blogs than I can comfortably read and there certainly isn't a lack of reading content out there to learn from.  Of course reading doesn't suit everyone's learning style and fortunately there are plenty of other resources out there.  One that I've only recently started appreciating is podcasts, I have a relatively long commute to work every day but this means that I can easily fit in a podcast.  Current favourites are Hanselminutes, The Web Ahead and Software Engineering Radio.  Most project websites have some good or great tutorials (at least if it's a popular project) and if not someone will more than likely have blogged about it.  Good old mailing lists are still very active in answering specific questions on projects and of course we've seen the rise of Q&A sites with a vast number of knowledgable people out there looking to help anyone who gets stuck.  Video tutorials are widespread and provide some great content and of course there's also videos from a lot of the major conferences.  I recently caught up with a lot of the stuff that happened at Build 2012 over at  The great thing about the web is that all these resources are avialable 24/7 so any time I get stuck on a problem I know that I always can use google (other search engines are available) to find the answer.  Whatever your learning style you can find something out there to suit it.

All of this does mean though that when someone struggles to give me even a couple of ways that they keep up to date I start to wonder whether they have decided to just sit back and rest on their laurels and whether they are the sort of person that I will value working with.