4 ms·
I listened to rather a nice talk by George Fairbanks at GOTO Copenhagen kinda related to this topic on Tuesday (http://gotocon.com/cph-2012/presentation/Master
by adrianhoward 14y ago
I listened to rather a nice talk by George Fairbanks at GOTO Copenhagen kinda related to this topic on Tuesday (http://gotocon.com/cph-2012/presentation/Master-builders%20have%20rich%20conceptual%20models%20of%20software%20design http://gotocon.com/cph-2012/presentation/Master-builders%20h...). One of the things he brought up was the idea of what you'd tell your twenty year old self to get them to be as skilled as you are now - and it was a hard thing for me to answer off the cuff. After a couple of hours I was thinking about things like that I pretty much totally misunderstood in my twenties.
* Building software is much more about people (both the team and the users) than it is technology. So called "soft skills" are vital to shipping.
* Value starting small and growing a system, more than starting large and solving everything.
* Validate what you produce. Do it with the shortest feedback loops possible.
* Build up abstractions from working code, don't create working code from abstractions.
* Make sure that you build the abstractions from the problem domain/solution into the code, not just the abstractions you need to make the code easier to produce and comprehend
* Always be able to explain the decisions that you make in development.
... and of course the shit load of experience that doing development for thirty years in multiple domains, teams, languages, contexts, etc :-)