powered by Slim Framework
Follow @NesbittBrian rss

How much code do you read?

Oct 11, 2011

Do you make it a point each day to read code? Maybe it's during a peer review. Maybe it's the linux kernel. Maybe it's a search on github for your favourite topic. Maybe the latest open source project released from google/facebook/twitter. If you don't you should start...today! I also think it goes beyond just source code. Understanding different deployment systems or production environments can also provide a great learning experience. Seeing how others write code, structure projects, create build systems and deploy can show you how to do things and maybe sometimes how not to do things. Either can be equally as valuable.

You hear all the time how important it is for developers to consistently learn new languages. I completely agree with this. The other great thing about this is it forces you to read code, better yet new code. Part of learning a new language is understanding why it was written and maybe some of the history of the language. At some point though the only way to really "get it" is too read some code and then try it for yourself. It can be a fun challenge to read some source of a new language and attempt to understand it.

During interviews at my old company we asked candidates about the worst/best code they had read lately. The question was great at quickly filtering candidates. We were never really that concerned with the worst or best part, but mostly with what code and how long ago, if at all. With a high degree of accuracy, that one answer determined what level of developer they were. The type of code and the detail involved during the potential conversation about it provided great insight. If they hadn't read any code lately that has red flag written all over it. Some better answers might be a few snippets on a blog, a particular project on github, the latest XYZ web framework, a compiler or kernel.

How do I get started?

The open source community is so vast that there are endless projects just waiting for your help. You don't really need to go much further than github to find a project you would be interested in and using github makes it very easy for you to get involved. If you haven't used git before (where have you been?!?) then you get to kill two birds with one stone, as they say. Find a project and help fix a bug or submit a new feature, both will probably also involve some tests as well. Doing this will force you to read other parts of the project which gets you to your end goal of reading more code.

What language are you going to learn next? What src have you read lately?

Day 1 of my move to a stand-up desk  Home Play framework sample application with JWebUnit and synchronous ajax  
blog comments powered by Disqus