Ask Slashdot: Handing Over Personal Work Without Compensation?
rsmith84 writes "I'm the Senior Systems administrator for a small trade college. When I was hired on, it was strictly for L3 related tasks such as advanced server administration, Exchange design and implementation, etc. They have no in-house programmers, no help desk software, and no budget to purchase one. I'm a moderate PHP and MySQL programmer on the side and am easily capable of writing something to meet their needs, but do not believe I should be A) asked to or B) required to, as my job description and employment terms are not based upon this skill set. I like a challenge, and since all of my goals outlined since my hire date have been met and exceeded, I have a lot of down time. So I wrote the application. It streamlines several critical processes, allows for a central repository of FAQ, and provides end users with access to multiple systems all in one place. I've kept a detailed time log of my work and feel I should be remunerated for the work before just handing over the code. The entire source was developed on personal equipment off company hours. My question is: what should I do? If they are willing to compensate me, I will gladly hand it over. However, it's been mentioned that, if I do the project, it is all but guaranteed that I will see no compensation. The application would streamline a lot of processes and take a lot of the burden off my team, freeing them up to handle what I deem to be more challenging items on their respective punch lists and a better utilization of their time and respective skills. I'm a firm believer in not getting 'something for nothing,' especially when the skills are above my pay grade."
Just curious if you've even breached the subject with your boss or whoever is running things? It's hard to say what you should do if you've not even asked.
That's the diff between a job and career. People with careers invest their personal time because the reward is you get promoted for doing great work.
...and you just need to eat it. Good things don't go unnoticed, though. It is these sorts of experiences that will separate you from the pack, later in your career. It will pay forward, one way or another. If you want to get paid, negotiate time at work to perform these tasks or don't do them. There are side-effects: once you make an app, you will be expected to support it forever... and likely you won't get any time to do that, either. I would make part of the agreement to hand over the code is that you will not support it.
You should do what's required to make your stuff work. Ask for credit later. Document it and do it right. Writing scripts is part of the job, and reducing burden for your team is also part of your job.
> no budget to purchase one
> all but guaranteed that I will see no compensation
If they didn't have the money to do it, and you were told that you wouldn't be paid for it, why would you expect to be paid for it?
Most organizations are not deserving of free work on the part of an employee, regardless of hourly or salaried compensation. The only two times I can think of that might warrant some kind of uncompensated work would be where either a a company is in trouble and employees pulling extra effort might save their jobs, or where the extra work is likely to result in a better position in the company.
I don't see either being the case in the way you describe it. If you can't do it on the clock or at the office, don't do it.
Do not look into laser with remaining eye.
Got another job lined up? Trade colleges know working there beats the crap out of a real job (especially the cake schedule, we worked four-day weeks) and they can get replacements all day.
I'd use the app, and not disclose shit about it. If you get laid off they can write a support contract if they need to. Heck, customize everything you can to your benefit while you are there. All users want is an absence of hassle.
Hoard knowledge, make YOUR job smoother, look busy, and remember you are in an ACADEMIC environment. Play that game and don't pretend you aren't in a trade school.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
Remember that if you hand it over, YOU will be expected to administer, troubleshoot, maintain, and improve a system that you did not and are not getting paid for. The only work around I see is for them to update your paygrade as renumeration then add those taskes to your new job description. Otherwise you are in for a trampling.
Silence is a state of mime.
Before you actually start coding, discuss this with your boss and find out if he/she wants something like this badly enough to pay you for it. If so, negotiate the terms under which you'll be working just like you would if you were an outside consultant. Once you have an agreement, get it in writing and make sure it's signed by somebody with the authority to sign things like that so there's no chance of misunderstandings later, or room for them to wiggle out of paying you properly later on. If they're not interested in paying you, or in putting the agreement in writing, you shouldn't be interested in doing the work.
Good, inexpensive web hosting
You have no interest in the success of your company and you would hold this project over their heads to get a short-term payoff.
Sadly, if your employer was better to their employees, they might see the benefit it working as a team to make the company succeed.
Seems to me that neither of you have each others interests at heart. A good place to work would be one where I am striving to help the company succeed and my company is sharing is that success. Sounds like you need a new job.
BTW, you have added more work to your schedule fixing bugs and adding features to your "new system". Good luck with that!
Flexible bare-metal recovery for Linux/UNIX
Which is it, did you have a lot of downtime or did you write the app entirely on your personal time and equipment? Did you use your work time to test and/or determine features?
When I was a kid, we only had one Darth.
You had best enjoy how much it made your job easier and document what you did for use when you interview for your next job.
OH! Welcome to the club!
You will find that we meet most nights, at the bar.
No brain, no pain.
just need to add a couple important steps and you won't need a lawyer nor have any worries. Use qemu with option to set bios clock. Create a virtual machine running at time before you had present job. Be sure your app can run under versions of interpreter, etc. in existence at that time. Make tarball of your wares with the pre-job date and containing pre-job dated copyright notice. Now you distribute that, and if employer makes a stink, just say it was open source software you wrote before you started job, it just happens to fit their needs and they should be thankful you let them use it.
You get promotions and raises by going above and beyond and making yourself valuable to the company. If you "stick to your pay grade" then that's all you'll ever be. When I look to promote someone I specifically look for things they've done to help the company/department. I look for innovation and drive. If you took the liberty to do it, you're reward is in the good faith you generate with your superiors. That will eventually pay off big when it comes time for a raise or promotion.
A job title and description is not a contract meaning "this is what I do and nothing else." If you choose to do nothing else, you'll never be noticed.
Happens to the best of us, in fact we tend to work ourselves right out of these in-house positions.
You should probably find something else for yourself to do (say, like, implementing your side project), or start looking for other jobs. If they have no budget to implement core systems, they certainly have no budget to hang on to Sys Admins with "a lot of downtime".
"since all of my goals outlined since my hire date have been met and exceeded, I have a lot of down time".
"The entire source was developed on personal equipment off company hours"
these two statements make absolutely zero sense when placed together.
if the guy wrote it and actually TESTED it on work time, then he owns exactly fucking 0 of his source code. he is considered a 'work for hire' employee.
of course, there is a chance that the administrators are too dumb to understand this. he could claim he 'registered copyright' (a phrase which has no actual meaning) and see if they will jump.
on the other hand, this is a 'trade school', which could in theory mean one of the diploma mills owned by hedge funds who are betting on the education bubble collapsing and betting against the student loans they pump and dump during day-time tv commercial hours. Im thinking ITT or DeVry here.
in that case, their corporate HQ will probably have some highly educated, experienced lawyers who will be able to run a truck right over any bluffing he tries to do.
lastly, im completely talking out of my ass. but it all sounded so good, right? right?
parts of it have some resemblance to reality, id wager.
I wish I had a job where: "all of my goals outlined since my hire date have been met and exceeded, I have a lot of down time."
At every SA job I've ever done, the work never ends, there's always more to do - I've never ended up with true downtime to let me pursue other projects.
And what does this mean: "do not believe I should be A) asked to or B) required to, as my job description and employment terms are not based upon this skill set."?
Outside of union work, I've never seen a job where you can say "Hey, that's not in my JD, so I'm not going to do it, instead I'm going to sit on my butt and enjoy my well earned down time". If it's something I could do, I'd do it. Otherwise I'd ask for training (or books), then do it.
But then, I've always worked in the private sector, never in education or government.
Did you write it to get compensated? Or did you write it to help your team?
If you wrote it hoping to get paid and they say they won't pay you then put it on the shelf and forget about it.
If you wrote it to help your team ...streamline a lot of processes and take a lot of the burden off my team, freeing them up to handle what I deem to be more challenging items on their respective punch lists and a better utilization of their time and respective skills then hand it over knowing that you've done something to make your workplace a little better. Next time you have a performance review with your boss make sure it is discussed that you did this on your own time and that the staff are benefiting from it. It will only help your career to show your employers that you are willing to go a little further than expected.
But, if you are one of those people that just work 9 - 5 and walk out the door at the end of the day not thinking about or not caring about your job (and there is absolutely nothing wrong with that, different people have different priorities) then shelve it and forget about it.
I got my job by going above and beyond, programming when I was supposed to be simply a walking reference book. It made my job faster, and more available. The more I automated, the more time I had to automate more things.
I got hired on a help desk team, 12 or so people like me who just wrote stuff and gradually became a recognized team. The team didn't set out to get recognized, just get faster. Management did not realize how important it was to automate until it was already done. Then we were indispensible, actually before I even joined the team.
But, they didn't pay to retain, and the team fell apart. We were all essentially help desk people doing real programming work, above our pay grade. Many people went for better opportunities when upper upper management had to meet stock-related goals, some involuntarily.
You can know the people are better off, no matter what you get out of it. You can know when you leave, the system you built will be virtually unmaintainable even if you document the crap out of it, because whoever tries to replace you statistically won't be a good code reader. You can know that you could have helped, but didn't because it didn't suit your philosophy.
I suggest proposing the system, with statistics on how much money will be saved, and most likely how many jobs can be eliminated as a result. If it is approved, negotiate payment and come up with the solution well under the deadline. If not, do what you feel is right.
Speaking personally - if someone with no track record volunteered to give me a piece of software written in php that requires access to a mysql server, I wouldn't accept it. That's a gigantic security hole just waiting to be exploited.
Lots of people "know" php and/or mysql because they're easy to learn - but that doesn't mean they know how to write even marginally secure code.
#DeleteChrome
About 6 months later, I had a 500 dollar bonus on my paycheck and I was bumped up a step in my pay grade. It was little, but I certainly appreciated it. At no point did I think, "I could probably double dip as a consultant here." Had they asked me to do it on my own time, things may have gone differently.
Not offering any suggestions on what to do one way or another, but that's my experience.
I'm a hiring manager. If I see a resume that tells me the candidate went above and beyond their original job scope to create innovative solutions to old problems then I would definitely be interested. If the resume implies that they withheld good ideas and innovations because "It's not my problem" then I'd pass.
You might as well open source it, which if it is extremely useful will bring other developers in and then you can walk away a hero, knowing that you contributed code and radically altered the course of history. When I was doing my graduate work, the university administration when to great lengths to point out that all of my work was in fact co-owned by the University. I would be surprised if the same wasn't true of you. If you release it into the open before anyone knows what you are doing, then it will get taken up by others and advanced before the university has any idea they ought to make a claim on it.
if your life is such a big joke then why should I care?
If they didn't have the money to do it, and you were told that you wouldn't be paid for it, why would you expect to be paid for it?
It's difficult to convince managers to invest in software that might one day exist. They might invest your time but if they're not confident about your skills, they might fear that the project might take longer than expected and/or never get finished. Saying "We'll pay you if/when it's done" is also problematic (then there needs to time invested to crafting specifications about when it'll be done, there might be conflicts about that, budgeting money for investment that might or might not occur is a bitch, etc.). If you can show them a product and say "Here's a product that does X, if you're willing to pay Y, we'll start using this tomorrow" you remove the risk completely and it's much easier costs/benefits analysis.
That said... I think that the OP is in a situation where he has no chance but to give his boss the product. If he says "Okay, I knew you don't have money to pay me but I still made this piece of software... Just to tell you that I'm not going to give it to you!" it won't exactly improve his status within the organization. So either he'll tell nobody about it or he'll end up giving the software to his employer for whatever price he might or might not be able to negotiate for it. If the employer really can't pay him with money, I think this would be a good chance to negotiate some non-monetary benefits. Think it would benefit both you and the company if you could allocate one day a week to any work-related project of your choice (Google-style)? It's a good time to make the case when you hand over that piece of software. Want an extra week or two vacation next year? I bet that's doable if the product really is as good as the OP claims. Want the office with the nicest view? It could finally be yours...
It is not very often that a company gets software designed for exactly what their needs are. Put together a decent package, i.e. licensing terms, costs (licensing and buyout), feature list, benefit comparison, maintenance fees. Spend the time and put together an LLC (sole proprietorship would likely be a little too risky in this instance). Don't be lazy and put it in to a nice professional looking folder. You'd be surprised how differently people respond when they receive something that shows some effort and professionalism compared to some guy saying "hey I've got this thing, you want it then give me money". The best part is they already know you and know the quality of your work rather than the line of some sleazy sales guy.
Lastly, don't expect them to buy. Just because you see the need and it may be the perfect product for the company you work for doesn't mean they will want to buy it. At least you will provide a view of a compelling product and you're giving them the opportunity to consider things in a format that they are accustomed to and gives your supervisor something more tangible to give to his/her higher-ups. Don't nag and be sure to do some follow up in 2-3 weeks if you haven't heard anything from them. If they indicate they're not interested, don't bother pursuing, but if they say maybe or better just hold the line and keep following up every 2-3 weeks. Sometimes other cogs in the organization have to spin before a decision can be made and that can take time.
Also don't be unwilling to negotiate. Perhaps you can show them the maintenance fees and say that you'd be willing to waive them with a minor change in job description that fits the necessary duties and a modest raise to make up for the difference in cost (perhaps that raise matches the amortized maintenance cost over a 12-month period...) which would also allow for performing maintenance and minor feature improvement during normal working hours.
You say that it "isn't part of your job description" and that you've got tons of down time, but you developed this on your own time and equipment. That all sounds like a monumental cop-out to me. If I were your boss and I saw a posting like this, I'd probably fire you just as a matter of principle. That whole concept of not-in-my-job-description is just so much crap. Odds are very good that you did plenty of thinking about whatever this solution was during your copious down time during work hours, and in all probability, you spend plenty of work time doing things that polish the skills you used to build your solution, even if you didn't actually work on that specific solution at your desk during business hours. It'd be one thing if this was a general-purpose solution to a common problem that wasn't specifically related to your job - then, by all means, quit and productize the thing, and keep the fruits of your labour to yourself. But this sounds much more like a custom solution to a very specific local problem and you are just trying to muscle some cash out of your employer for work you've already performed that has no utility outside of your job. Imagine if every software engineer tried to bill his boss for the thoughts he had on the drive to or from work, or in the shower, or wherever. Most of us do the vast majority of our creative thinking away from our desks. Your employer didn't require you to do the work and you sure as heck aren't entitled to compensation for it. By all means, refuse to turn it over, but as an employer, if I've got an employee that has a better way to do something who refuses to do it that way because it 'isn't part of his job description,' then I won't keep that employee around for long. Just long enough to have HR deliver his severance information, basically. Fundamentally, if you've got copious down time, then you should have been spending that down time automating the task that you chose to do in your off-hours instead, no matter what your job description says. Look at it this way - in the long term, doing that will actually provide even more down time, so it is a net win for everyone.
a senior sysadmin should expect to write some in-house tools, yes.
You're looking at this the wrong way... You have obviously done the right thing by taking the initiative in the first place, but now, I hate to say, your attitude is all wrong.
Here's how it works:
1) You get some job
2) You "beast" it. That is... you do what you're asked very well and you take the initiative to use the extra skills you have to wow everyone by changing everything
3) You ensure that it is known that you are responsible for your work
4a) They offer you a payrise or more responsibility and pay
4b) They don't, you stick it on your resume and you get a better job somewhere else with a beamingly positive reference
Do the right thing, make sure there are no problems of attribution and it will pay off in the end. Do not crap up your reputation by trying to strongarm more money out of them upfront. Keep a good attitude and it will pay off in the end. If I had tried to extract extra pay for going above and beyond every time I did so in my career, I can all but guarantee I would not have done as well as I have.
Do interesting stuff, be unbelievably useful. The money will follow, it always does.
The thing is, it sounds like this project is directly related to the OP's role. Even in jurisdictions that don't allow "we own your soul" contracts, something directly relevant to the performance of the employee's normal duties would usually be covered by the basic IP clauses in an employment contract and would be enforceable in most places. And frankly, that's not so unreasonable.
If it's unrelated work done on your own time and at no cost to your employer, that's a different question. If it's related to work and inevitably based on knowledge gained from work, then holding it over the employer for additional compensation is not only likely to lose (it's probably already their IP) but to get you fired (for breaking the basic employer-employee trust relationship, if none of the several other possible reasons).
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
My pay was $10k less than my actual salary range according to my title for over a year. I still exceeded expectations by doing what was necessary, and saving time.
I doubled my salary in 4 years, by consistently delivering. In a Fortune 120 company, with strict restrictions on raises.
I put in my time, I got screwed, now I'm comfortable. And, i have lots of contacts inside and outside (people who have left) the company, people who would recommend me. I'm being pursued by someone I worked with.
Do you feel like you're at the top of your game, or at least at the top of other peoples' games? You might bubble-sort to the top. If you are seen as expendable, you might be the many people I've seen get screwed over the years.
No one here can tell you how your management will respond.
"I like a challenge, and since all of my goals outlined since my hire date have been met and exceeded, I have a lot of down time. So I wrote the application."
"The entire source was developed on personal equipment off company hours."
If you have so much down time on company hours then you why not work on it during company hours?
Part of getting paid a salary, and in particular server administration, is that you can have a lot of free time if you do your job correctly. You are supposed to fill this is useful projects not play WoW on company hours and then work on projects very related to your job off companies hours and ask them to pay you extra for that.
But regardless, salary workers in general do not get to do contract work as well for the company on the side (and there really is no off company hours in a salary type job). They are paying you a set fee for all the work you do. If you have too much work or are more useful to the company then your pay warrants then ask for a raise but I do not think that asking to be paid for completing a project is to way to go.
Troll is not a replacement for I disagree.
RT (Perl) or Traq (PHP) will both track tickets well enough. There are plenty of other open source web-based help desk programs, and installing such software and configuring apache falls within your sysadmin role. Yay.
If I read this correctly:
* you saw a place where some software could really help;
* you knew they wouldn't buy it;
* you were told they wouldn't pay you to write it; and
* it wasn't in your job description to write it (side note: seriously?)...but
* you wrote it anyway; and
* now what?
With all of this, I'm left wondering why you wrote it? You say you like a challenge, but was this the only way? You further write:
am easily capable of writing something to meet their needs, but do not believe I should be A) asked to or B) required to, as my job description and employment terms are not based upon this skill set
Well, hey there, genius - you said you weren't asked to, or required to. So, again - why'd you do it? What did you think would happen? What did you expect? Your whole story really confuses me.
Oh yes, to get back to a recommendation about what to do: I don't have one. Your attitude is petty and small-minded, and I can't give any suggestion that would fit in with that attitude. If you had some decency, you'd go to your management and show them what you'd done, maybe get some kudos, and use it to boost your resume. Taking initiative looks good. If you had some entrepreneurial inclination, you'd start a small company and market it.
But I think you'd rather just maintain a constantly surly attitude and fold your arms and huff "I'm not gonna get paid for it? Well, screw you". Squandered opportunities, dude. Sometimes you have to take a risk, you know?
I've read Atlas Shrugged. I'm not sure that you understood it.
A lot of people think that "code" is worth something. With very few exceptions, the code itself is almost worthless. Code is only worth something when there's people around to support it and make it alive. Without those people, it dies.
Your college is unlikely to buy your code base from you. It's certainly possible they will, but you lack all the support structure a normal software vendor has since it's just you. If you decide to walk away all of a sudden, what the hell do they do since they don't have any kind of software development in house? What seems more likely is that the college might be interested in your code base if you gave them the code (GPL it if you think it's useful to anyone else). Then parlay this into a new job with higher pay where you continue to support and develop the infrastructure. If they're unwilling to do even this, then forget about it, and chalk it up to a learning experience.
AccountKiller
There was a guy just like you at my job a few years ago. He created a lousy wiki-ish software to maintain ISO-9000 procedures, on his own time, and he offered to sell it to the employer, who declined. Then he "licensed" it for free (which was a huge PITA for everybody) and left a few months later to peddle his masterpiece. Last time I checked he was fixing beepers and unlocking playstations in a shitty electronics shop.
On the other hand I know another guy who created a "suboptimal" Access horrorware to deal with complex inventory management. He not only gave it for free to the employer, but happily supported end users for a while. This was basically a POC and later a budget was allocated to create a more robust software; the guy did not have the skill set to write that one but he was identified as a SME to define requirements and provide guidance, and a year down the road he had his own team to manage the inventory project.
Your software is worth nothing, it's your experience that is valuable. My advice: give your code for free to the employer, call it a pilot, and even if this leads nowhere, it will be a good bullet point on your resume.
lucm, indeed.
Perhaps the wages or treatment of staff is particularly poor
If a trade college is similar to a university then the wages will not be great but the treatment of staff will be very good. One of the main attractions of working at a University is that it gives you more freedom to do your own things and show everyone what you really can do. Assuming it goes well you can then get hired by industry with a glowing resume which shows what you can really do or you find that you really like having the freedom and you stay on in academia - at least that's how it generally works in Canada.
However with this sort of entitlement attitude I'd suggest the OP moves into industry ASAP - part of the compensation - and expectation - of an academic environment is flexibility and freedom. If you want a 9-to-5 job with fixed tasks and concrete job descriptions then academia is not for you!
If it's small, simple and well documented the exact opposite is the case. I've seen examples in every workplace I've been in since about 1987.
... and provide affordable housing.
Do you want to see the shanty towns in other parts of the world?
IANAL but write like a drunk one.
This guys is obviously not a programmer. As an experienced programmer, I try to write code that will be so good, it will solve the problem that I am being presented with, that I may move on to new problems and projects and never have to revisit something twice.
This NEVER happens. It may be days, months, or weeks later but they come back. Sometimes its a stray bug I missed. More often, the client/user has come up with some new feature request that they just cannot live without and they must have.
In any event, the iron clad rule of development is: you write it in a week, you support it for eternity. So with that in mind, give them your code. If you wrote anything worthwhile, they will come back with more requests and then you can negotiate for raises and such. If you do this, don't go for the jugular in your demands. Negotiate small projects and raises. Again, over time, as they see your value you can move into more responsibilities and pay.
HA! I just wasted some of your bandwidth with a frivolous sig!
Give them the product you wrote. Yes, you won't get paid. You knew that ahead of time so you should not ask. If you do, you are likely to be told no, and that'll just disappoint you. Don't ask for disappiontment. However, you will be compensated in many ways which make implementation of your product worthwhile. Your employer will love you for your creativity and dedication to the organization's mission. You'd be paid in respect. Your employer will now find you indispensable to administer/maintain the product. You'd be paid in job security. Your team will love you for making a product which makes their work easier. You'll be paid by increased productivity from your employees, you'll be paid by increased dedication by your employees, and increased loyalty by your employees to you. That's loyalty to you personally. That could pay off in so many ways down the road. Your resume will look awesome, which will pay you in more opportunities down the road if/when you move on and seek work elsewhere. Your resume will make you look generous (even if that's not a major facet of your personality at work or elsewhere), and that's an attractive feature. You'll pay yourself in satisfaction with work and contributions well done. Don't underestimate that. (nice doodle on this at RSA Animate here: http://www.youtube.com/watch?feature=player_embedded&v=u6XAPnuFjJc) -- Josh
Your software could make life easier for everyone on your team. Surely, this will trickle down to making your life easier, too.
You already know they won't buy the stuff. So why are you looking for profit in a place where you know there is none to be found?
If it's so great then prove it: Sell it online. If you sell enough copies it will pay for itself and then you can afford to give it to your school for free.
Not only does that help your career but - as a condition of sale - you can use it as a marketing ploy and the school becomes one of your test beds for updates.
Everybody wins.
Good points.
I would add that it can be worth developing an income stream which is unrelated to your primary work, a "hobby" income if you want. Something you enjoy doing and which can help when the TSHTF and your primary work vanishes. Better if you diversify; as unrelated to work sectors as possible but this is often not possible.
If you are lucky it'll take off and you get to retire after a couple of hectic years.
Deleted
Yes, I think open-source it, make it clear that they don't own it, and make an agreement with them that any further work you do on it in company time is also open-sourced.
Anyway, never mind what they might or might not benefit from it, the most important thing is how YOU are benefitting from it.
My approach is to put in my best, even if I am underpaid, because pushing your own limits, you increase your own capabilities. Compare this to some slacker who puts in the minimum and never improves. So having increased your own capabilities and also accumulated a load more selling-points on your CV, you're in a much better position to get a better job or to negotiate a better salary.
Open source gives you several great advantages. You don't give it to your company, but you get the credit anyways, while maintaining control of the project. The company gets to use it and you get the advantages you spoke of at work. You also improve your resume globally.
Sometimes just recognition for the work you've done, and a pat on the back is payment enough.
Toot your horn.
Seriously, I have found this thread to be an eye opener. I didn't see the OP as anything except someone showing initiative and having a motivation to improve his workplace with a win-win solution.
Yet, other people saw him as being a non-team player trying to game his boss & org.....even project hostility about it.
Wow, different people really can see things completely differently without any malevolent intent.
Good lesson.
Another good lesson: the thing to do with down time at work is to do your best to find a way to put it to good use. A boss will think that is when the OP should have gone "above and beyond" for the company.
I also agree with the people who expressed the sentiment that you should go "above and beyond" when you can. Those are the people who get more when more becomes available. Even if you don't get financial compensation, you can take the skills you developed elsewhere. You also have a lot more fun being innovative than just sitting back and turning the wheel at your job.
"since all of my goals outlined since my hire date have been met and exceeded, I have a lot of down time" + "The application would streamline a lot of processes and take a lot of the burden off my team" = they have more hands than work already and you're trying to make it more lopsided. At some point they're going to look at chopping some heads.
Seriously. As soon as you try to negotiate or assert your position, the overwhelming chances are they will balk or claim your employment contract grants them rights to your work. It's much easier to talk to a lawyer now who knows the circumstances unique to your location and can advise you hat your chances are.
Don't forget, you can also 'donate' it to your job and position yourself as the good guy, which might help you out down the line, depending on your bosses and the company. Not to mention, it's also a nice thing to put on your resume that will look great at the next interview you go to.
OP states "I was hired on as a Senior SA" doing L3 type stuffs. Yet programming a portal in PHP and mySQL are above his paygrade? Wouldn't that be below?
My feeling is if you created it, it is yours unless you signed something that says anything you develop while employed there belongs to them whether it's on your time and resources or the companies. You began making it without any type of approval for funding upon it's completion. I'd say you should expect nothing other than easing the workload of your subordinates.
Bite the bullet and turn it over asking for nothing. If you didn't sign anything that says it solely belongs to them, then release it online as CMS/Ticketing system that is donation based.
I am Bennett Haselton! I am Bennett Haselton!
First off, don't expect compensation for past work, that's not going to happen. However, If you turn over the software you can do so with the understanding that you will be required to maintain it as a part of your position, and since your current pay grade does not reflect that position the company should look into that "promotion" after the software has been shaken out and tested in a live environment. The better it works out the more valuable you will be to the company. Then you can fully justify your new/future position and the company should not feel that you are unworthy of that pay grade.Everybody wins, but you just need to be patient. Your hard work will pay off as long as you did a decent job on the software. Next review time you have some leverage to work for that promotion and something better to put on your resume if you are still unhappy.
When you go to look for your next job -- hey, it happens -- they're going to ask you "what did you do at your last company?" You want to be able to say, "I wrote this amazing piece of software, way above my paygrade, that made the whole office purr like a well-oiled kitten," not "I did what I was told, I got paid, I went home."
Similarly, if you stay in your current position, you want to be able to show off the wonderful things you've done for your office. Giving them the software means job security, because you can say, "Look at this. I am your god. And oh, by the way, nobody really knows how to maintain this sucker but me."* It's also a tangible reflection of your work ethic.
All this can open doors for you. Don't blow it by coming across as lazy, small-minded, or ungrateful to your employer.
There's an economic principle here called "sunk costs." You've already done most of the work on this project, and it sounds like this company is the only one that could really use it. If the software never gets used, then its whole value is the joy and enlightenment you got from writing it.
* I don't advise getting into a situation where nobody can take over your position. I've been there.
You want the truthiness? You can't handle the truthiness!
Does your employment contract say all software written by you within the scope of the company's business or your work duties belong to your employer? If yes, then it belongs to your employer. If not, probably not. Ultimately, you created something for work, so roll it out and hope for the best.
The original poster's statements are kind of shocking. Among others he said "as my job description and employment terms are not based upon this skill set..."
I'm not sure that since I obtained professional employment ever took that course. I've drawn a salary for a work focus area. If I need to move out of my work focus area (job title) to do something the company needs I do it.
If you want to expand your scope and title, and you think you deserve more money for it, then you should have a discussion with your boss and see if he agrees. It's possible that your work is of no value to them, and they have no need (real or perceived) for the skills you are trying to provide them. Perhaps, sorry to suggest, your view of the worth of your creation will not be matched by theirs.
If you attempt to present it to them, and request compensation, then you're going to be in a very awkward job situation if they believe that as their employee you should be creative in your work and that your initiative should go to them.
As one commenter above said, if you have created a general purpose product of value to other companies, then you can attempt to sell it on the open market. But if what you developed revolves around the processes and structure of the firm for which you work, then what you've created could be considered their proprietary information which you obtained through your employment and you could find yourself out of work and defending a claim at court.