I have been grinding in technical debt for some months on end and with some uninspiring user-stories on my plate. This happens now and then, how cool your project may be, there's always some stuff that nobody wants to do, but it just needs to happen.
But now that I'm working on fun user-stories again, and in a greenfield side-project, my level of code quality, attention to detail and willingness to have 100% test coverage and all these little things are so much easier and come more natural than when I'm working in a codebase with technical debt. So I guess that means the joy you get from the work, directly influences a big part of the quality standard of the code. Is that professional of me?
I guess no, that's actually not really professional of me, but can you really expect an employee to deliver 100% quality, 100% of the time? I doubt there's a profession out there where an individual would be performing 100% all of the time, however passionate he or she may be. Passion is not a guarantee that you'll be 100% happy and productive every single day. Passion just keeps you going. And Passion is a finite resource, if you burn yourself out, your passion may be gone forever. So actually yes, I would say it is professional of me to protect my passion and wellbeing. I think it's normal that the percentage of quality an employee delivers can fluctuate over the year. It's up to you to respect your boundaries and take breaks, talk with someone, maybe change up the stuff you're working on for a little while, even if a deadline is creeping closer. The deadline isn't the only important thing for a software product to be successful, it's also the people that need to stay passionate, happy and productive.
I think passion is especially an important aspect of this line of work, sometimes you really need to grind deep, and you can't expect to work in the cleanest codebases all the time, so it's that passion that can keep the engine running through those muddy roads. The last thing you want is to lose your engine in the middle of a swamp, it can be lost forever, then what did you accomplish by making that deadline? It will be your last deadline. Protect your sanity and speak up when you need a change.
So next time you're in a rut, or you just can't manage to get to that 100% standard, talk to people, try to change it up. The fact that your V8 engine is running like a beaten-up Chevy isn't going to contribute to any good causes in your company. It'll just bring a mountain of consequences for you and the people around you. So be professional and steer your own ship. That's what I'll be doing from now on. Or try harder at least.