- That working with a group of smart and well-informed developers is really enjoyable, but not sufficient to reliably make high-quality software (i don't know why not).
- How modern system administration is done, and a little about how it ought to be done.
- That large-scale automated CI, with dozens and dozens of slaves testing every conceivable aspect of the software in a short space of time, is possible and awesome.
- That if one day you don't feel like doing a proper job of something, or perhaps even finishing it at all, you can just tell everyone you're "focusing on delivering the business value", and it's fine.
- That the financial industry really is run just as badly as you feared.
- That root cause analyses, heartbeat retrospectives after every iteration, and regular open lightning talks are great.
- That if you don't have a written description of your process, you don't have a process.
- That a company can actually change the way it does things in a matter of weeks: we decided to build a shelf of new products, and radically changed the processes, attitudes, and technology half the company used to do so.
What i learned my last job