Posted by Garry Shutler in Quality
Recently we've been evaluating code generation tools and helpers like Resharper and Code Rush. We've focused more on Code Rush as it has equal capabilities for both VB and C# and we deal with both languages, Resharper is much more focused on C#.
Though the tools help you write more code faster, I have this niggling question in the back of my mind: is this really a good thing? I can't help feeling that I'm missing out on some tactile experience with the code if I'm not typing every character of it. I find that if writing out the code for a class is a chore then I'll stand back and rethink whether I'm actually doing the best thing. Literally feeling the pain in my fingers of possibly poor code.
If that crap code is easy to write, will I not feel the pain and leave potentially crap code in my software?
I'll also miss out on the down time whilst I'm cranking out code that I let my BackgroundWorker think about the wider ideas.
Is it possible to code too fast, or are my fears unfounded?
Posted by Garry Shutler in Community
I've recently been thinking about how I could encourage the development team I am part of to further their knowledge and therefore help the entire team to advance and produce better software.
Though blogs are good for sound bytes and quick heads ups, I believe you can't get better than a good book for helping you grasp new tools and concepts. I try to lend people books I've bought and enjoyed to share the knowledge and to be able to discuss the contents and therefore gain a deeper understanding.
However, I think that many developers, though they want to read, never get round to actually buying the books. There's always bills to pay, food to buy, beer to drink, games to play and I can't really blame them, that's how I thought until recently.
This has led me to the idea of a company library, one that could just be formed from the books owned by the developers that are lent within the company but in my opinion it would be much better if there was some level of buy-in from the company itself. This would lower the access level to the company's developers to the resources they need.
The library should be given a monthly budget (something like £50 would be enough for 1-2 books depending on size, though obviously the more the better) and a lead developer take the librarian role and would be in charge of the purchasing of books and keeping tabs on where they are. Any developer could submit requests for new books but the librarian would have final say. This would mean that they could buy resources to help with an upcoming project utilising a new technology when the need arose.
I don't think that you would need to allot company time for reading the books, the developers should use their own free time to read the books. The company is providing the books free of charge and though the aim is to improve the company, that will be achieved by the developers improving their personal skills which would increase their value as a developer in the job market.
To double my suggested minimum budget to £100 a month, that would cost the company £1200 a year which is less than the cost of a weeks course for a single developer yet you build up a permanent resource which is available for the entire team.
Also, if you are a .NET shop, don't necessarily limit your library to .NET books, expand to books on general development as books of this type are language agnostic and throw in the odd book on design to improve the way your better written software looks!
Why not try and get a company library set up where you work?