I work in an entry level position as a call taker at a Bank. I was given a small project to work on that would involve creating a database and VBA form that would allow our managers to select weekend schedules. It quickly ballooned into an entire application as more and more things were asked to be added, and I spent 3 months working on it. During this time I asked about raises, or if there was a different position I could be moved to since this had become a full-time project, and I was told that I was being a "Team Player" and that "Goes a long way".
I would like to note here that any time I spend working on this instead of taking phone calls reflects on my call statistics, and how those look affects everything from the schedules I am allowed to work to the opportunities I am offered. I talked to a few colleagues about how I could begin to step away from this, and was told that doing so would result in some kind of retaliation; that even if I wasn't fired, I would essentially have no mobility within this company.
At the start of this year, I had a meeting with my VP and expressed that I wanted to step away from it. I asked what functionality would be needed so that he could perform the maintenance himself, and we planned for me to work on it two days out of the month until May. The time I would be spending on it would be scheduled appropriately, and as a result wouldn't affect my statistics.
However, multiple times a week he would reach out and ask that I draft a new report, or perform some other kind of maintenance. He would sometimes ask for some kind of change that was literally impossible without a redesign of the entire project.
I persevered and by May I had added a form that would allow just about anyone to perform the necessary maintenance. It was slow, and would sometimes crash and break everything, but I would just need to port it over to an access form and all would be fine. I went on medical leave for a month, and when I returned, my VP had decided he wanted another change, and had already promised everyone that we would make said change, and it was a change that would require the entire database to be redesigned.
I was already stressed and burnt out. Because while all of this is happening, I also needed to be taking phone calls, and nothing will leave you burnt out more than spending 3-4 hours writing SQL in the worst database imaginable, writing a front-end in a pretty awful language, and then having to take back to back phone calls in which you are asked the most basic, simple questions, and then yelled at because someone doesn't like the answer you give them.
4 weeks ago, I hit a breaking point and I went to HR.
I wasn't expecting anything. At best, I figured they would move me to a different team to avoid retaliation. Instead, after about a week or so, HR called me back and asked if I wanted to just be moved to a software engineering/IT/Admin role in a different department. I said yes, I asked if she had already cleared that with the head of the call centre and the head of the department I would be moving to, and she said yes.
For the last two weeks, I haven't heard much. I reached out to ask what I should be working on in the meantime, and was told to just go about Business as usual. Today, the EVP of the call center reached out to me, told me how impressed he was, and that they would be taking the database and moving it over to the other department, and I would just be going back to taking calls.
This was what I was kind of expecting in the first place, but now it just hurts. I don't really know where to go from here. I'm a good engineer, but money is too tight to justify getting any certifications, and I only got halfway through my computer science degree before I wasn't able to afford it. Also, I really like the company I currently work for, but it really feels like I have zero upwards or lateral mobility. Especially after this.
Yes, it's good to be a "team player", go "over and above", all that stuff. A little bit. Put in an extra 10%, but don't do an entire extra job for free.
The reality is, you can't really change your job, or the company, by doing a side-project to solve a problem. I know... because I've tried too.
The company has a structure, and policies, and probably stuff about job levels, corporate titles, time in a position before moving, etc... that you can't change. If they wanted a VBA scheduling and reporting application, they could have created a dedicated position to do that, hired a contractor, bought it off the shelf, etc. That's what they do for all the applications and projects that they _really_ care about. Yes, they're happy that you're doing it for free, without any of that administrative and financial headache for them. That doesn't mean that they care about it enough to make it worth your while, though.
As others have said... work on the resume, apply for jobs. The real opportunity for advancement is on the open market, you really can't expect to get hired as an X, but do Y, and morph it into a better job in a different department at a better pay. Sometimes that might happen, but in general it's not realistic, if they wanted to hire in the Y department, they would.
As for your current employer, you can be professional, and transparent, tell them you're looking for a career in software development, if they have openings you would be interested, if they want to create a position for your scheduling application then you will apply, you appreciate that they will be a good reference for you... but you understand that they may not have budget to continue developing your application, your software development aspirations may not be realistic inside their organization (hint hint) etc.