💾 Archived View for tilde.team › ~steve › blog › future-self.gmi captured on 2022-04-29 at 11:30:51. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
I've been working in the last couple of months on refactoring an old project of mine, created some 4 years ago. In the last couple of months it started to show its age. No one knew how long it will take to repair it and then a decision was made by me to just do it. It was a very nice experience; I was able to switch frameworks to something newer, refactor the code completely, clean up the project, improve it in some aspects and fix some long standing bugs.
At first I thought to myself: I could have done a better job on that project 4 years ago. The project is an algorithm doing some predictions and recently it was clear it's becoming outdated. By a better job I mean to have the prediction model automatically train and update regularly. In that sense, it's a tech debt. But then I thought about it more: I'm pretty sure that my 4-years-back self would not have done a good job! i.e. that a refactor would probably be needed anyway sooner or later because I looked at the code and the 4-years-back me wrote some terrible code. In addition, the extra time the old me would have had to spend doing it was going to be longer than the couple of months I just spent on renewing the project.
I think it's a good case of trusting your future self. Your future self is going to be smarter, know more, code better and more efficiently, not to mention tooling and frameworks are probably going to be better in the future as well - or are they? Is this case an outlier, where I was able to dedicate some time to close the debt with no apparent harm done?
If you liked the BTTF3 reference or just want to say hi, please write to my @email.