Conway’s Law

“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.”

So true.


Dev-Ops is awesome

But also a lot of work that’s hard to anticipate.


Clearly defined interfaces clearly need to be tested

We didn’t test ours, and it took other dev forever to track down a bug in our system.


Deal with the bugs you have, not the ones you might encounter

Your software will never handle all possibilities. Invest the time into good monitoring, rather than anticipating every possibility.


How to set up a robust environment

  1. Set up a dev, test and production stage.
  2. Set up continuous deployment into all stages.
  3. Set up a monitoring system.
  4. Start coding.


Your system doesn’t need every bit of new technology

And it probably doesn’t have “Big Data”.



As Martin Fowler writes:

you shouldn’t start a new project with microservices, even if you’re sure your application will be big enough to make it worthwhile