Various people better qualified than me have created checklists for healthy software development environments. I won’t be offering my own such list, but I would like to mention a couple of items which deserve a place on it.
- Does your company have a good library? Can anyone order a book for this library, easily?
- Do team members attend conferences? Do they give presentations at conferences?
I hope no one disputes the first item. Sure, many software developers like buying their own books; but they deserve access to company copies of favourite references rather than having to bring personal copies into work. And yes, equally many software developers can find better things than books to spend their own money on, but give them access to a good library and they may well make good use of it.
Please, minimise infrastructure. Don’t track who has which book: just understand that when a book gets taken home it should be returned in a timely fashion. Current editions of books should be available, as should multiple copies of popular books: don’t waste time waiting for the company copy of K&R to become available, get another. This simple infrastructure should extend to the maintenance of the library. A team knows which books it needs and which books it is interested in, and team members should be able to order these books without pre-approval.
Conferences aren’t for everyone but events like the ACCU conference (being held in Oxford this week) provide an invaluable opportunity to step outside your own organisation and routine.
If you’re a C# programmer, say, attending ACCU won’t be like going on a 5 day Microsoft certified .NET training course. For one thing, ACCU isn’t trying to make a profit. More importantly, the ACCU schedule is varied and stimulating, with presentations from acknowledged world experts and fellow hackers. Come with an open mind. Who knows what you’ll learn?
I long ago decided that, for me, attending conferences was one of the most effective ways of continuing to develop as a programmer. I also quickly learned that a conference can be an intense experience, so I limit my exposure to them. This year, sadly, I’m skipping ACCU. But I will be off to EuroPython, which I’m looking forward to.
I’ll also be going to a Mathematics and Fiction workshop in Oxford. It’s not aimed at software developers, but literate programmer Donald Knuth will be there, as will David Bellos, translator of the ultimate algorithm-driven fiction.
So, I suggest employers support developers who wish to attend conferences as part of their ongoing training. Should an employer allow staff to burn company time to develop presentations for these conferences?
Without more specific detail, I really can’t say. No two cases will be exactly alike. One thing I will say is that, increasingly, organisations realise the benefits of the kind of grass-roots advertising which can be had from sending people to conferences and letting them talk openly about the work they’re doing.
Since I’ve danced around that question, I’ll end by asking another — a third item for my incomplete checklist.
- Does your company contribute towards the open source code which it uses?