You say this:
I feel that If I could prove the concept to my boss, he would see it
as a viable replacement for aging (10+ years) software.
First red flag. If the code is 10+ years old & failing do you think you are the first person to have ever brought this issue up? You might have an idealistic idea of “changing the company from the inside out”, but I am pretty confident it won’t work this way. 10+ years and software failing without real action reeks of some larger organizational issues at play that a simple recoding won’t solve.
For example, perhaps the decision to use the system is not based on it’s real value but rather a political one. Such as an ex-employee everyone liked coded it. Or maybe someone on staff at the company made a decision to use this software & moving away from it would make them look bad which is something your boss does not want to touch with a ten foot pole.
I feel I would have to do a chunk of this preparation in my off time -
It's not approved work and I do have other more pressing issues to
attend. Honestly this doesn't both me much, I see it as:
- Improving my own skill set.
- Showing to my boss that I can take initiative to further the goals of the company.
Your first point is the best reason to pursue this. I code in my free time to do exactly that. And sometimes my projects are born out of the needs of an employer. Sometimes it’s just me experimenting & learning. And you never know: Your experiments could impress your employer to follow your lead to rework code for the company.
But your second point I am not too sure about. Perhaps they will see initiative. And that is good. But perhaps they will simply not care. You cannot bet on something like the second point.
I’m not sure my boss would take the same mindset though.
Don’t ignore your intuition.
So is it acceptable to research and work for projects intended for a
company off the clock? Are there are guidelines for situations like
this?
You can research & do anything you want off the of the clock. That is your time. That said, if you will be working on your time on a project, you need to absolutely make sure you get something out of it. And I do not mean compensation or recognition.
You should basically see if doing a project like this on the side can be something viable in the rest of your career beyond this specific job. Meaning can it be made generic & applied to others in the same field? Can you open source it on your own to share with the world & perhaps grow a great project into something bigger?
In general, code this for yourself with an eye of this being a project that will help you yourself and perhaps show your boss this proof of concept is worth pursuing. And if your boss doesn’t think much of the proof of concept? Well, you still have code worth doing something else with.
Also, if the best case scenario for you plays out, the chances of you getting compensated for off-hours work is zilch. The best you can do is hope that this coding will lead to a promotion or raise in the future. But that is it.