Some heuristics to build better software, quicker by learning from the past, the present and the future in your software projects.
🤨 ignorance,😫 incompetence +😕 insignificanceThe Ingredients to Build Great Software@MikeMcQuaid
View Slide
me👋
Principal Engineer in Communities(GitHub Engineer 2013 – Present)
Project Leader on Homebrew(Homebrew Maintainer 2009 – Present)
the best project🎉
avoiding legacysystems and buildingnicely from scratch✅
doing things right thefirst time andavoiding failure✅
well-staffed teamwith well-plannedbacklog of work✅
project result:💩
ignorance🤨
you knoweverything
you knoweverythingnothing
(How I Get Things Done)https://mmq.lol/how
(G.K.)Chesterton’sFence
“this fence is useless,let’s remove it!”🙅
“this fence was usedfor keeping sheepout, let’s remove it!”🙌
“this code is useless,let’s remove it!”🙅
“this code was usedfor keeping botsout, let’s remove it!”🙌
“this code was usedfor ….?let’s be careful…”🥳
incompetence😫
do thingsright thefirst time
do thingswrong thefirst time
https://timharford.com/2022/05/cautionary-tales-bless-the-coal-black-hearts-of-the-broadway-critics/
do thingsright thetenth time
you will fail
you will failprivately
you will failpublicly(unless privately)
failingprivately==low cost
failingprivately==low traffic
failingpublicly==high traffic
insignificance😕
huge ship!🛳
huge team!🏢
huge scope!🔭
huge risk!💣
tiny ship!🛶
tiny team!👭
tiny scope!🔬
tiny risk!😌
your MVPis notvery M
your MVPis notreleased yet
the worst project🎉
built on legacysystems with littleunderstanding⛔
shipping hacks toclean up later andfailing early, often⛔
under-staffed teamdoing unplannedand backlog work⛔
project result:🥳
😫 assumed ignorance😫 expected incompetence😕 initial insignificance
🧑🎓 assumed ignorance🧘 expected incompetence🔍 initial insignificance
questions?🙋https://mmq.lol/best/@MikeMcQuaid[email protected]