What you, the small business owner, should expect from a web developer (and what you need to do yourself) 8 March 2005
Summary Report of Brochureware and Beyond: Case studies of formation processes and roles in consultant-developed small business web sites 3 February 2005
Making Internet technologies a strategic part of business 21 November 2001
E-commerce and Australian Regional Communities 15 September 2000
Writing
Solid Code was the first really useful software engineering book I
acquired. It provides practical advice on constructing robust C programs,
which was my main employment at the time. The case studies of Microsoft
failures are particularly intriguing, revealing the struggling coders
behind the marketing machine, and some truly dreadful mistakes.
Working as a contract programmer I was subjected to poorly managed projects and dived into Debugging the Development Process to discover the alternatives to the management process we were undergoing.
Getting hold of Steve McConnell's Code Complete was a great pleasure. It focuses on specifics to apply in developing and debugging code and is highly practical across procedural languages. Readable, with lucid examples, it's easy to put his suggestions into action and see some immediate gains.
Steve McConnell just seems to keep pumping out the classics, and I ended up with both Rapid Development and Software Project Survival Guide from the same author. Much of his material appears orientated towards larger development teams, but I apply many of his ideas to our development processes with considerable success. The large menu of different development methodologies discussed in Rapid Development is distilled down to focus on the staged development process in Software Project Survival Guide, and I found the guide to contain more practical and applicable material. On the other hand, the horror stories in Rapid Development are a good read!
More recently I've found The Pragmatic Programmer particularly useful. Primarily because it reminded me about some fairly fundamental ideas, such as maintaining a database schema in a file format from which both the SQL schema and the HTML documentation can be derived. Not 'rocket science', not even a new idea, but one I certainly appreciate being prodded to implement. Here's a quote from the Amazon book review that states it better: It displays your own accumulated wisdom more cleanly than you ever bothered to state it, and it introduces you to methods of work that you may not yet have considered. The authors have helpfully posted several related and interesting articles on their pragmatic programmer web site.
Jon Bentley offers practical advice and clues to a problem-solving mindset in his Programming Pearls. Based on articles written for the ACM during the 80's his material remains completely relevant today. I apply the ideas on 'Back of the envelope calculations' almost every day. (As an aside, if you follow the link through to Amazon books, you will probably be offered the chance to purchase a pearl necklace from their auction site instead of the pearls of wisdom you might be seeking). Jon Bentley also wrote More Programming Pearls, which contains some superb material on 'little languages' and, although now out of print, is well worth tracking down.
Kent Beck's Extreme Programming Explained comes highly recommended from Software Development magazine, among other places, but I wish I could have borrowed it from a library and photocopied out the useful bits. Some applies to our small-team development, but much of the material seems to be orientated towards larger groups.