Most software development advice tacitly assume you want to write code which works and is long-term maintainable (potentially by someone other than yourself) and which fulfills some purpose beyond just the fun of writing the code.
Does anyone actually do this? I think it's the opposite.
I've spent truly absurd amounts of time thinking about how to do things properly. I read books, read other people's code, read programming language implementations, I just read and learn as much as I possibly can before I even start doing anything. I want my code to be right. I want it to represent the truth of how the world works.
In a professional context where people actually have deadlines, working code is usually enough to satisfy them. How complex and maintainable it is tends to be a lesser concern, to be addressed at a later time or never.
> Does anyone actually do this? I think it's the opposite.
Code style, structure, and design are more of an art than a science, so different people will have wildly different opinions (extreme examples notwithstanding).
The most maintainable code tend to be the least clever. But developers enjoy being clever, so without any outside pressure to deliver maintainable code, developers will tend towards less maintainable code.
If you’re interested in creating software that makes people happy, solves their problems, gets cherished and recommended - then work hard to not lose sight of that goal in the thick of crafting a massive code edifice.
If you’re interested in pushing the limits of your own creativity, and building a technical structure capable of handling domain complexity with ruthless efficiency - then sure, don’t worry too much about how it looks, how it reads, or how others respond to it.
If you’re lucky, you might get to do both in the same body of code. But not likely.
Hopefully.
But yeah, the end result is useless then, and can be thrown out.
Yes!! That makes me so happy.
Anybody who has looked at their own code done more than 5 years ago can surely attest.