Quick and Dirty vs. Polished and Perfect: The Two Sides of Engineering
Every great engineer knows how to toggle between two fundamentally different, yet equally important styles of work: "Let's wing it" hacking and corporate-level "measure twice, cut once" engineering.
As more people hop onto the software engineering bandwagon just for the paycheck and lifestyle perks rather than a true-bread love for technology, certain contrasts between the "tech virtuosos" and the "clock punchers" start to stand out.
One such distinction is knowing when to flip the switch between the two engineering approaches.
Here's the scoop: Traditional paths like universities, internships, and work experiences at mega-tech companies usually only teach engineers the ways of "polished and perfect engineering".
Don't mess things up!
You have to be a team player. Stick to a common code style, whip up unit tests, and give your code some good documentation.
Your code should be a breeze to maintain and enhance.
Long-winded commits and pull request messages? Bring 'em on.
But if programming is your hobby, chances are, you love playing around with the latest tech. You might find yourself churning out 50-100 line scripts just to test that shiny new API. Or maybe to scrape a list of rentals to snag the perfect apartment... or score the best car deal.
These are throwaway scripts that probably won't see the light of day again.
That's why many self-taught coding enthusiasts often resort to a patchwork approach to make things work... and fast.
There's a common misbelief that the "polished and perfect" style of engineering is always superior. But it's not. Tests for code that's gonna gather dust in some corner are just a waste of your time. Staging environments for pre-release software? That’s ridiculous.
If you're an engineer at an early-stage startup, being able to prototype is a golden skill.
What really sinks startups isn't ugly code. It's the failure to create something people are willing to pay for. That's why being able to prototype quickly, especially in the early stages, is super important.
The crème de la crème of engineers can do both: whip up quick and dirty prototypes, validate their concepts at breakneck speed, and then spin those ideas into top-notch production code.