Originally posted on the Early-stage Startup Engineering blog by Juraj Masar, Co-founder & CEO at Better Stack.
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.
Make your mark
Join the writer's program
Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.
Write for usBuild on top of Better Stack
Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.
community@betterstack.comor submit a pull request and help us build better products for everyone.
See the full list of amazing projects on github