Designing for Performance

  • 12/12/2003
  • Think carefully about the goals of your project,
  • Include performance goals among them
  • Use those goals to create budgets for each project area
  • Design up front in such a way that you have a good expectation of meeting those goals
  • Do early homework researching the cost of services you intend to use to form the basis of those conclusions
  • Build prototypes to verify costs if necessary
  • Do not over-research, use the planning phase to manage project risk to the right level for your project
  • Measure your progress against those goals regularly and make corrections as needed
  • Build in some time for course corrections into your schedule
  • Do not be afraid to cancel things that are clearly not going to work — better to cut your losses to give you time to build something that will work
  • Do not confuse a design that duly considers performance up-front with “premature optimization”
  • Do not “write it the easiest way first and make it fast later” because sometimes the easiest way simply can’t be made to go fast
  • Do not blindly ignore these rules and expect to get good performance in your projects automatically
  • Do ignore each and every one of my suggestions when you have a thoughtful reason to do so



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Rico Mariani

Rico Mariani

I’m a software engineer at Facebook; I specialize in software performance engineering and programming tools generally. I survived Microsoft from 1988 to 2017.