The mythical Future You

You should focus on making things good enough from the start, rather than relying on a mythical "Future You" to fix issues down the road.

Let's put it this way: you think that writing code fast and furious (which is a practice so highly respected, unfortunately, that looks always as the only True Way) means cutting corners, taking shortcuts, and delegating the "making it better" to the Future You, with even swiftly writing those bombastic tickets describing what needs to be done next. You attach a red label to those tickets: "Tech-debt" and call it a day. Job well done, the Future You will take care of the rest.

Here lies the problem: the Future You doesn't exist. The Future You is just YOU, the Present You, mashed up with the Past You for added flavor. Nothing special about that person, don't get fooled. Nobody is going to work on those red-labeled tickets. Not you, and certainly not the people who praised the "fast & furious" typing on the keyboard in the first place.

Good code quality has only one directive: you have one shot, one opportunity - as the song says, at making things Good Enough. Those corners, those shortcuts? You can't really afford to use them, but you have to, so choose carefully. Learn how and what to test effectively: don't write useless tests! There is indeed a problem like "too many tests". Learn how to not waste time on sucky tools and terrible environments; those can be made better (and you can help, by the way). Learn how to make things accessible BY DEFAULT, not as an afterthought! Learn how to think "securely", and always assume the worst-case scenario. Play defense: yes, you can code fast and furious, but don't forget the safety belt.

Yes? No? Meh? Let's keep the conversation going on LinkedIn!