Humans are most noted for their ability to think up solutions to problems quickly and efficiently - we in the technology industry call these solutions dirty hacks and try to avoid them at all cost, not because they were intrinsically bad, but because they are difficult to maintain.
See when something becomes riddled with quick dirty hacks it may work, at the moment and it might even work in the next moment, but as soon as you start to make adjustments to change, try scaling the darn thing, or making any kind of modification it all just starts breaking apart. To an average human being this is most easily explained via real life dirty hacks we like to use every day.
For example, you come home and find that you need to put something down but have no proper place to put it. So you look at the nearest semi-available flat surface - usually a chair of some sort. You put the thing there. Then you neatly forget about having to put it away and just leave it there; hey, it works, don't change it right? Then somebody comes over and you need the chair. Your solution must scale.
So you put the thing that was occupying on the chair somewhere else, also usually an impromptu solution. Over time, with these kind of incrementally quick solutions you achieve something horrible. There is a flat surface somewhere in your home, or even just a floor corner, where a large pile of crap has built up over the week/month/year that is so high in fact you don't even know what's in it anymore ... and now you suddenly absolutely need that surface for something!
Regardless of all this, I used a dirty hack last night when I wanted to read on my bed and still have tea available nice and easy. So I wedged it between the wall and the bed. By some strange coincidence I spilt not a drop.
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Senior Mindset Book
Get promoted, earn a bigger salary, work for top companiesLearn more
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️