Recommended links about software development

Recommended books, articles, sites, talks and podcasts about software development. Includes sections on software architecture and design and processes.

  • On long term software development
    "Write super boring code. Write naive but obvious code. “Premature optimization is the root of all evil”. If it was too simple, you can always make it more complex later. And that moment might never arrive. Don’t write clever code until you simply have to. You will not ever regret writing code that was simple." - Bert Hubert
  • Appetites instead of estimates
    Jason Fried's advice on this is excellent. Think about how much you are willing to spend.
  • Reusability trap
    "Well-designed components are easy to replace. Eventually, they will be replaced by ones that are not so easy to replace." — Martin Sustrik
  • How to disappoint people: Part 3
    "When you negotiate on estimates, you may be able to persuade people to change what they’re saying and agree to things they hadn’t intended to — indeed, many senior stakeholders have years of negotiation experience. But in this case, unlike the car, you’ve changed nothing about the underlying reality. You’ve all agreed to say things are possible, but all you’ve won is disappointment." — Neil Vass

Software architecture and design

  • Avoiding the rewrite trap
    "If you can't even articulate why the old system is bad, how do you know that the new system is going to fix it?" — Camille Fournier
  • Choose boring technology
    Dan McKinley gives some excellent advice on the value of choosing boring technology

Processes