I work in finance and we have some calculators that I support. I can come up with programming solutions, but I don’t have a lot of software design or release management experience.
I was recently asked to approve coworker’s code. The enhancement was fairly simple, but during my review I realized they came up with their own method to process input files. We have generic methods that could already be confusing for newhires with only classroom programming experience, and I don’t want to make onboarding any more difficult by propagating poor design in our code base.
I’m concerned that since we’re not a software shop, my managers won’t prioritize refactoring once the problem has a working solution. How hard should I push to keep our code clean for the release?
5
You’ll want to read up on the term “technical debt”.
If time & resources permit, it is much better to do any code clean up immediately while the problem is fresh in your mind.
Leaving clean up as a to-do item for others can turn into a very bad habit. These to-do items are rarely addressed, and after many years can lead to such a horrific mess that management dumps the entire system and fires people (I’ve seen it happen).
1
If any of this is applicable to your situation, you’ll know what to do:
- A correction is made to your generic methods, but the code that created their own is still broke.
- You spend time teaching another new candidate that “all the code uses the generic method” but they have to fix the one that doesn’t. Now you get to take more time to explain how to fix this. You were expected to be able to fix these types of problems sooner, but now there is a delay.
- Because you don’t enforce the rules, your team turns into a bunch of Cowboy Coders. The performance of the team drops.
Don’t ask permission to take the time to do things right. Everyone assumes you already are and that’s why everything in their mind seems to take longer then they think it should. If your boss has to clean up this mess, he’s going to do it by replacing you.
2