Showing posts from October, 2018

Weird Software Engineering Proverbs

This is how I work in my career.  Some of these are counter-intuitive and require explanation.

Shipping code wins. On schedules: Picking an arbitrary deadline is often moreefficient than carefully planning things out.  I've spend 20 years decrying this, but if you add up the time you spend planning, negotiating schedules, then executing, it's less pain if you just work-to-deadline and throw features overboard in the process.On teams: A disciplined team of professionals cultivating mutual trust will outperform a team of talented jerks.  There are exceptions, but only if you're writing the Linux kernel or something requiring 10x insights daily.On technology selection: Always pick the technology 1 step behind the bleeding edge, because it's mature and documented For example, when everyone was going to Rails, use Spring MVC.  This will reduce your technical risk profile in every single case.  Treat everyone as though they might be your boss someday.Code only exists if it…