I'm taking a vacation that has a been a while coming. Having worked at this company for 30 years, I get a lot of leave but I haven't been able to take as much as I'd like. I've built up enough leave to lose some because we can only retain up to 200 hours of vacation leave (and another 200 hours of sick leave). After that, it just disappears.
For one thing, the projects I'm working on still need a lot of work. Even though the main project I work on is over 16 years old, and there are newer options for some of its features, it still needs to be updated from time to time. And I am the only person actively working on the code so if I take time off, no work gets done on this product. Whenever we need to release a newer version, we have to scramble to find an available testing engineer because they are all busy on newer or developing projects. We've done six releases of my product in the last two years. I'm not just the developing engineer but I'm the build engineer, too. And when especially hard problems come in to our Tech Support department, I pitch in to help on those, too. I used to have to run the project, too, but now we have someone to organize the meetings and coordinate between engineering, production and marketing.
For another thing, as I get older (I'm 67 years old) I find it harder and harder to get things done. If I take time off, it means it takes me a while to get back into the swing of things when I return. The younger engineers seem to be light on their feet. They look through multiple ways of solving a problem and seem to be able to find the best solution quickly. I plod along looking through the existing code for the problem or to find a way to include a new feature and then struggle with the solution. Part of the problem is that I don't want to make major changes to a product that has worked well for so long. Also, you don't want to change how something works when customers are used to it working that way. Change for change's sake is no way to improve a product.
I'm also part of a new, exciting project that will eventually entirely replace the old project I'm working on but there is a long way to go on it so the old project must be kept going. I like working on this old project. It's nice to be able to get a request from a customer and fit it into the the existing framework without slowing down the existing program or making it harder to use. It's like adding rooms and passages and stairways to an existing building without annoying existing users or making them stop using it while we work to improve it. We just pull back a curtain every few months and say, "Look what we've added," or, "Look what we fixed." A smooth transition to a better version of the existing product is a joy that keeps me going.