Thoughts.on(coding)

Slava Akhmechet
Development speed is everything.
Minimize complexity. The simpler the product, the more likely you are to actually ship it, and the more likely you are to fix problems quickly.
Pick implementations that give 80% of the benefit with 20% of the work.
Use off the shelf components whenever possible.
Use development sprints. Make sure your sprints aren't longer than one or two weeks.
Beware of long projects. If you can't fit it into a sprint, don't build it.
Beware of long rewrites. If you can't fit it into a sprint, don't do it.
If you must do something that doesn't fit into a sprint, put as much structure and peer review around it as possible.
Working on the wrong thing for a month is equivalent to not showing up to work for a month at all.