Tuesday, March 25, 2008

A reading list for our developers

An idea I'm thinking of trying to get implemented at our place is a required reading list for all our developers. A collection of books that will improve the way that developers think about their code, and they ways in which they solve problems. The company would buy the books as gifts to the employees, maybe one or two every three months.

Some questions though:

  • Is it fair for a company to expect its employees to read educational material out of hours?

Conversely:
  • Is it fair for an employee to expect to be moved forward in their career without a little bit of personal development outside the office?


If anyone has any books out there that they'd recommend - please let me know. Otherwise, here's my initial ideas - the first three would be in your welcome pack:

Update:Gary Myers came up with a good point, being that any book should really be readable on public transport. That probably rules out Code Complete (although I read it on the tube, I can see that it's a little tricky), but Design Patterns and Refactoring to Patterns are small enough I reckon.

Unfortunately, Code Complete is a really good book that gives a lot of great, simple, valuable advice. Does anyone out there have any other suggestions for similar books?

Update 2:Andy Beacock reminded me of Fowler's Refactoring, which really should also make the list.

Update 3:The development team have bought into the idea and the boss has been asked. In fact, I'm pretty pleased with the enthusiasm shown by the team for the idea. I can't see the boss turning it down. Interestingly though, someone suggested that Code Complete go onto the list...

In this order:


Ruled out because of their size:

Labels:

9 Comments:

At 25 March 2008 at 22:33, Blogger Gary Myers said...

I wouldn't have a problem with reading educational books in my time. But heavy volumes can be a real pain on public transport.
Also consider a way of circulating articles, white papers and presentations.

 
At 26 March 2008 at 21:49, Blogger abeacock said...

What about Fowler's classic "Refactoring"?

I'd also add Peter Drucker's "The Effective Executive" and no it's not a business book, Drucker considers any thought worker to be an executive.

 
At 26 March 2008 at 21:52, Blogger abeacock said...

Also check this post out for other ideas:

http://feeds.feedburner.com/~r/MusingsOfASoftwareDevelopmentManager/~3/256820009/

 
At 27 March 2008 at 16:05, Blogger Rob Baillie said...

Nice one Andy - Refactoring gets my vote too.

I've not read "The Effective Executive" though, maybe that should hit my own reading list...

 
At 30 March 2008 at 11:05, Anonymous Phil W said...

The latest Harvard Business Review touches on your questions in an article discussing the tension between training and promotion in-house and hiring from outside.

What I took away was that absolutely you can ask staff to contribute to the learning process through use of their own time (or possibly even more than that) since there is no obligation on you to develop them in this way in the first place. You just need to make sure it's opt-out.

For new hires, I'd ask the question in an interview ('We have a scheme where the company provides books from a standard reading list for free. If you take the sceme up you're obviously expected to read them in your own time. If you join us would you be interested?'). Anything less than enthusiasm for the idea is probably a red flag since who wouldn't want free books?

 
At 30 March 2008 at 19:33, Blogger Rob Baillie said...

Good points Phil. I'll have to check out that HBR article.

You're right. I shouldn't have been surprised when the team were up for the idea - after all, if they were the type of people to shirk such ideas we wouldn't have hired them in the first place.

It's funny though, having spoken to people outside of software development, even those for whom I have a lot of professional respect, there seemed to be a general opinion of "you can't really ask your team to do that". Maybe it was just the particular people I spoke to; maybe there's a more general apathy in the rest of the working world?

 
At 10 April 2008 at 15:47, Blogger Stew said...

I don't think it's unreasonable to expect your programmers to read, or at least skim, one new book every 3 months.

As a software developer with 25 years under my belt (but I'm not a software engineer), I've felt for a long time that if you're not constantly learning new things about this craft, then you're falling behind. Subscribing to computer mags is one thing, but scanning the web for new tools and ideas about your specific work is a must-do. And reading significant works by solid authors is another. I still refer people to "The Mythical Man-Month", which sits on my office bookshelf.

 
At 13 April 2008 at 18:00, Blogger Rob Baillie said...

Stew, it seems the team agree with you and have got into the idea with gusto.

There's a chance that we might have to turn up the dial a little and hand out more than was originally planned.

 
At 6 September 2008 at 00:52, Blogger flip said...

This is a great list, and it's gotten me to finally toss Fowler into my Amazon checkout queue.

I found the GoF "Design Patterns" book rough going without some accompanying exegesis -- I'd put the HeadFirst book next to it as a twofer.

I'd add "Envisioning Information" by Tufte.

 

Post a Comment