Software is not a craft.
Nor is it an art.
Nor is it engineering, or architecture, or anything we've ever before.
I now have words for what development is: the practice of symmathesy.
When we rush development, skip tests and refactoring, we get “Escalating Risk.” Please give up the “technical debt” description; it gives businesspeople a very wrong impression of the tradeoffs.
From @janellekz#deliverAgile
Don’t organize code according to its job title (model, view, utility); sort it according to its purpose (feature).
This reveals interdependency between features, and finds service boundaries for later.
“Software architect” is out of fashion
“architect” implies “design (mostly) before building starts”
We need design in software dev, design that never stops
People.
There is a difference between a backend and an API.
Taking the endpoints that you wrote for your site, slapping some documentation on them and publishing it
does not make an API.
Once a company reaches thirty people or so, the context starts to split: founders have the contextual knowledge of “why”, while newer hires only have the “how”
— so how can anyone make good decisions?
~ @estherderby#uberconf