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?
The job you have now doesn't meet your needs for challenges and activity. If downtime isn't good for you, you need to find a position that meets both your financial terms and stimulates your creative requirements.
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.
What did you expect they would do? You clearly say you have no real hopes that they would compensate you. Then you did a project anyway. Now what?
Announcing here on /. that you have a lot of down time says they need to either renegotiate your responsibilities, or make you part time, or hire someone cheaper for fewer hours.
Your best solution may be to open source it, and get the satisfaction (or pain) of supporting other organizations that also have that set of needs.
Why not generify it and upload it to somewhere like github? That way you can use it, maintain some (artistic?) ownership, and possibly spread the joy. Then you could download it and use it at work like any other piece of software.
You might want to talk to a lawyer about whether work would own this, though.
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.
I hate to be a jerk, but your job description is what your employer says it is. The caveat here being if you're a contractor. I've been in positions where I was hired for one job description and it ended up being dramatically different. However, if I wanted the job... I had to adapt.
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
Probably a firm believer in open source when its someone else's hard work too.
What is wrong with you? Why are you even working for this small trade college when your skill set is way beyond what they hired you to do? Why wouldn't you do the very best you can at your job? Give 100% and ask for a raise at review time. Or, go find a job where you feel they are worthy of your skill set. I will never understand people like you.. the company is paying you and asking for your best. Why don't you stop allowing them to pay you for all of that downtime?
I hope you get laid off so someone that wants a good job can have yours.
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 just need to weigh the pros and cons for yourself.
Or if you're looking for the best way to get paid, I'd say:
Create a little website to sell your application, at a license price 2x what you'd like to get paid. Suggest that you could either buy a license to said software, or develop it yourself for X (and get the source code and full control as a bonus), or continue maintenance effort without software support, which you can document taking Y yearly man-hours at cost Z (presumably in the ballpark of at least 1/2 X, otherwise with a more than 2 year recoup you are not going to win this sale).
Given a rational choice between 3 options, most organizations will choose. And once they've chose, you either know you can get paid for one of the 2 earlier choices, or you know that the organization would prefer to continue throwing away money on the manual process.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
... you were doing nothing on company dime already.
Quit, offer your (freshly started company's) services for a reasonable fee. If you feel certain there wouldn't be any budget then, despite clear savings and all that... well, you just wasted a lot of time, didn't you?
...don't give them the code. Take this as an opportunity to write the code over. Really gold-plate the hell out of it. Make it great. Deliver it. Then quit. If you truly believe you are being underpaid for this kind of work, then your recourse is to ask for a raise, or quit.
They certainly will not compensate you for time you already volunteered. That's your idea, your risk (of time), and your loss. It didn't pay off. We all do a lot of stuff we don't get paid for. Get over it... and get a job somewhere where you will get paid for it.
"The application would streamline a lot of processes and take a lot of the burden off my team"
You wrote something that would make the people around you a lot happier. It is going to look bad in front of them if you hold out for cash and that cash never comes.
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.
They sound like ungrateful wretches, the lot of them. Don't even mention you've created this software for them. Sell it to their nearest competitors instead. You might even get a job at a pay rate more suiting your skill level from them as part of the deal.
Instead of worrying about being compensated for the time spent writing the thing, license it to them for a reasonable fee (while retaining full rights) and offer paid support, if needed.
If your skill level is so high, get a better job and let someone who "fits" this job have it. If the reality is, you are not able to obtain another job, then you should be thankful for this one. There are a number of unemployed SAs that can write scripts that would like your job. Bringing this extra level of expertise to the job should just make it so your employer does not find someone cheaper to do your job. I've written extra things for my employer "Just for the fun of it" I enjoy what I do and I like doing the work and seeing it deployed just for bragging rights. My guess is that you don't contribute to open source. I have two open source projects. Rethink your attitude.
Prove your value above and beyond there and begin looking elsewhere for work if you do not feel you are being compensated accordingly. If nothing else something like this can be used on your resume and a demonstration of you implementing something outside your expertise which makes you more versatile thus making you more desirable to other employers.
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.
Ask yourself this simple set of questions:
Would Bill Gates demand that he be paid?
Would Larry Ellison demand that he be paid?
Would Lakshmi Mittal demand that he be paid?
Would Carlos Slim demand that he be paid?
Would Steve Jobs demand that he be paid?
What do these people have in common, and where do you fit in? Don't be someone's pawn. Get paid. Show "your boss" what you're capable of by producing a short demo, and then let your boss worry about the budget. Get paid. And if they don't like it, don't make it your problem, move on to greener pastures.
postscript: how ironic that the captcha for my comment was "plebeian"
Although it may not have been required, if you don't implicitly licence it to your company in the copyrights, they may tell you to remove ALL of it. (Been there done that.) They may also shoulder surf you to make sure you never use it again.
Unfortunately you dug yourself a hole. If it wasn't agreed upon in writing, you're basically being insubordinate if you refuse. The guy who wrote the first half of the code before I snatched the incomplete version, was fired for NOT giving it to (oh should I name names? Begins with W and ryhmes with Pest.) They later told me after they I had been using it for months in a more finished version for it and I said "OK" but this version had Copyrights in it. Subsequently they told me to erase every last trace of it and they watched me do it. More to the point though, it used the client's undocumented API's of the NPANXX database, so even if the company wanted to sell it to their client.
But yeah, if it doesn't say you're hired for programming and they didn't make you side a NDA and "Prior inventions" document, you basically wrote that program on company time for company use, so it's company property if you didn't start it outside the company, copyrights intact.
If they won't directly compensate you, work it into your goals for the new year. Then "slowly" work on the software. Give management a schedule and give releases prior to the dates given. This way you'll always have extra time to figure out your next goal you'll accomplish.
I only suggest this because I don't imagine you have a lot of upward mobility in your department. I have also had that underwhelming feeling when handing over software and not being compensated. Never again.
It's not clear to me if you were asked by your boss to write the app, or if you just saw the need and wrote it on your own. It's best if you can think through your position before starting work rather than afterwards. However, at least you are thinking it through now so you are learning. If you saw the need and wrote the application, ask for money. It does not cost anything to ask and you will learn about negotiating. Make a case for being paid extra and put it to your boss. Give it everything you've got. Then if he says no, give the work over with a good attitude and tell him you are glad you can participate and be helpful. Remember that everything that you do builds your reputation, so if you are doing extra work and fixing problems that are beyond your formal responsibilities while at the same time meeting your responsibilities and not stepping on any toes, you are actually ahead of the game. At some point if the job is not giving you what you want, look to move on. Then in your interviews, you can speak in positive terms about the extra contributions you made.
Stop right now. Yo are opening up yourself to liabilities for work you should not be doing. You will be the first scapegoat to get hit from your supervisor at the first whiff of a problem. Do your job and let them hire programmers if they need them.
Most companies take the position that, if you are salaried, they own you 24/7. Anything you do, in the office or out, is theirs. Your compensation is called a paycheck. If you want to be paid, separately, for off-site work, quit and contract to them. Otherwise, suck it up and quit whining. Be happy you have a job.
Start a company (it's easier than you think, just form an LLC) and transfer ownership of the works to that company. Setup a subscription licensing model that provides an initial purchase of the product and 1 year of updates for a reasonable fixed amount, with additional yearly updates available at an extra cost. Then notify your boss that there is a product on the market that provides the required functionality. Show him the product brochure, and tell him that you think you could easily install it. If he opts to buy, then you have your new side business model. If not, then he obviously is not willing to pay a reasonable amount to obtain the functionality and just wants something for nothing.
Do not offer to sell the product directly. Always setup a corporation and make sure the corporation owns the product.
If your employer knows you wrote it, he will immediately attempt to get it for free or for a steep discount, then will add maintenance to your job description without providing additional salary.
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.
If you have the down time you suggest, the company is paying you already for work you are not doing. Sounds to me like your job is to ensure your team is as productive as possible. They hire you, not just your advertised skills. If you can make the business more competitive it is your job, and that of any employee, to do so.
I too feel like I've been screwed for doing far more work than my 'position' warranted, and I was definatly doing work for others so my groups wouldn't fail.
There was no real gun to my head so I only have myself to blame for the success.
On the other hand I am afraid that following your advice would lead us to a Tragedy of the commons situation and ultimate failure: Lay offs.
----
I am unwilling to risk that so some people always get a free ride.
Yes, I am jaded.
No brain, no pain.
... to make things work. That's what they are paying you for. If it was me, I'd count the coding experience as just that, experience. If you decide you want to look for a better paying job, you will have something to add to your resume and a good recommendation from your previous employer.
For in politics, as in religion, it is equally absurd to aim at making proselytes by fire and sword. - Publius
Certainly not you......
I'm sure others will comment on the legalities and ethics of the situation, and they will be good comments. I'm going to come at this from another direction.
Successful software companies love alpha/beta testers, love getting feedback on how their software is really used, and love having smart enough users to provide good feedback. They pay big bucks to find the right testers, and get feedback from them. Also, many small developers would give almost anything to have an employer tolerant of their side project.
If I were you, I would try and find a situation where you get to use your work experience to enhance the software, and perhaps even get to work on it during work time. Maybe in return for that you have to provide them with a license for free, but you get to retain ownership and can sell it to other parties.
On the flip side, if you don't give them any deal on the software you can't complain if they come down like a hammer on you and prevent you from working on it during work hours, and maybe even try and take action against you if you use knowledge from your work to improve your personal software.
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.
If you're doing work for a company and being paid for it, you're working under "work for hire" terms and they will in fact, own the application. Whether you excelled in your job and created a lot of downtime is irrelevant because it really breaks down to this: there are X number of hours in a day and they're paying you for 8 of them, 5 days a week. During time when you're being paid by somebody else to do work, they own that work unless specific terms have been spelled out otherwise.
Now, this isn't to say that you can't negotiate other terms for such a system. The biggest thing though, if you're doing this for the challenge, with a moderate hobbyist skill set and the company can see some benefit that's great. If there are comparable systems out there that can do the job you're proposing building the system for, evaluate them, price them, and put together an estimate for the cost of your time vs the cost of having those systems implemented and maintained for a price comparison. If there's a system out there that costs $100,000 / year in licensing fees and you think you can build something in 1-3 months time, based on your expertise in your employer's needs they'll probably be willing to let you give it a shot and let you keep the rights to the system as long as they get to use it at no extra cost. They'll most likely want some percentage of the sales if you decide to sell it, because after all, they're funding you. That would be a pretty reasonable trade off though.
The downside to something like that is that you create the system, you're moderate skill set creates unforeseen problems that have to be fixed by somebody with more expertise, you end up getting all of your time sucked up by maintaining and fixing this system until your employer to either buy a piece of software or hire somebody else to fix your code. Just sayin. :-)
This is one area that a lot of programmers lose sight of though. If somebody is paying you to do work, the work is theirs, not yours under the terms of "work for hire". Just like if you're in construction and your team is building a house, then you decide to go build an outhouse while you're at work....they own that $h!t.
"Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
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.
"I have a lot of down time." Makes me think you did it on your employers time which you've already been paid for. If anything, I would either ask to retain the copyright or the right to release it open source.
In the future, here's a good set of guidelines to follow, I'm also not a lawyer this is just things I've learned over the years:
1. Never use their equipment for any personal projects.
2. Never install anything on their equipment for personal projects, even if it's to help them.
3. If you want payment from someone for something, then never do any piece of the project without confirmation in advance that you'll receive compensation for the work.
4. Don't do anything if it's not in writing.
The thing is, doing personal projects in your own time is fine and dandy, but already can be rough if you didn't read your employment contract closely as they may own it if you work for them. Using what may have been a personal project during your "work hours" for an employer may give them rights to that work unless you had an agreement otherwise. Beyond all that... if you didn't have an agreement before the work started you really can't expect them to pay for it now.
Now from the summary it sounds like you've just done design and not implementation, you're never going to get extra compensation for design you took it upon yourself to do, but do yourself a favor and just stop right there.
... Never, Ever, Ever go the extra mile for an employer.
They won't be loyal to you. They'll fire you in a heartbeat over nothing because "all computer guys are the same". You're a fool. You wasted your time, you will get neither compensation nor respect for your work.
I can't believe people would waste personal time to lick corporate boots. You sicken me.
"Other duties as assigned."
I see this on almost every job posting. It's the catch all for "whatever else we can use you for and keep paying you the same." I say get used to it or find another job. I'm not saying you should contribute your personal work done on your personal time, but if you can provide the service during normal working hours (whatever those are) then you are obligated to contribute.
The business first needs to make a decision. There are a lot of risks a company takes on:
1. How much time will you need monthly to maintain the code?
2. What happens to the code when you leave your employer?
3. What happens if we change systems your code depends on?
Lay out a project plan for them. Show them hard numbers: Current time spent on X is NN:NN. By using my proposed application, we will save NN:NN a week.
You can't expect them to compensate you for something they didn't ask you to do, let alone the fact you wouldn't have written it if you didn't work there. If you hadn't written it already and they said yes, then do it on company time, and take the pat on the back along with your normal paycheck. (You had fun writing it, didn't you?)
Since it sounds like you already wrote the program, I'd not tell them about it, and ask for a few days off to write it (and go to the zoo or something). Watch this: http://www.ted.com/talks/dan_pink_on_motivation.html
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
I completely don't understand the OP's mentality, but perhaps that's because I've been an exempt employee ever since college. I think the OP has completely handled it wrong. 1) I don't understand not doing any and everything thing I can to do the best possible job, even if it means "performing above my skill grade" or "pay grade", whatever that means. Just do the best job you can, sheesh. 2) doing this thing after hours, using your own equipment now really makes this complicated, because now you really feel like you'll need to get paid on the side for this. Never should have done that. You've created a difficult situation here, instead of an opportunity to be a great employee with all the positive things that might have come from this.
Don't bet on it. Everyone assumes that's true, but it's not. If you can document (like the original poster did) that it was done on their own time using their own equipment, they OWN it, not the company.
This is especially true in this case, since their actual job does not involve writing applications.
Fact: colleges and similar schools are notorious for not paying for what they need (especially the small, for-profit schools).
Fact: people who go above and beyond their job descriptions have better leverage in future opportunities, especially in salary negotiations (whether with current or future employers).
Fact: people who whine that they don't want to do more than their job requires, will eventually be replaced by someone who will. That person who replaces you will be the one who went out of their way to do stuff at their last job, and will be making a higher salary than you when they take your position.
Part of systems administration is doing the things that make your job easier. That includes developing processes and writing scripts (or code) to streamline them. Not getting paid for it? Maybe not now, but if it's documented on your resume that you went above and beyond your "job description", I guarantee it will pay off later.
Advice? Quit whining and get the job done. If they don't pay you for it, either as a bonus, a raise (when you mention it during your performance review), or with some other compensation (time off is always good), then square your shoulders, write up a case study, and pop it into your LinkedIn profile so you can show how you get shit done even when it's not part of your job description. But above all, stop whining.
Alternative: "open source" it as a project (looks even better on your resume). Then implement this open source software at your school as a system admin. You know they're not going to pay for it, but at least you can get public credit for developing a project that others can use, and that will also improve your future employment prospects.
Note: this all assumes you are a regular, W2 employee. If you are a contract employee or a contractor, then you should write up a proposal for the implementation (with benefits analysis, process suggestions, and maybe some visual diagrams to help sell the idea) and negotiate a new or separate contract for the implementation.
If you did the coding during work hours, then what's the problem? Presumably you did this to make your life better at work, right? You knew they didn't have a budget. You have lots of free time. Good grief, maybe they should get rid of you.
Mean what you say...say what you mean.
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.
Why do they know about it? Before your client is given any clue about your work, he knows your license terms and rates. Once you disclose anything about the work (e.g., the fact that it exists) you are upside down. Because they know about it, it's probably a "work for hire". If they didn't know about it, it would be a product you could offer, after you've left, perhaps under the auspices of (and limited liability of) a corporation.
If you wanted to be compensated for this, you should have talked to the company before you started. If you do have a lot of down time, they'll probably assume you actually wrote it at least partially during that at-work down time and therefore they've already paid you for it.
Or at least offer it to your current employer for sale, and if they don't want it, then sell it to a competitor.
There a 3 major ways of working:
a) You write it, you sell it (or support for it) if you dont, you *dont* have a job at all
b) Its your private fun to write it. Ask your employer about the conflict of interest and explain to them that you will publish it as Open Source.
c) You work for you employer and you do a little more work than the hours in you contract say. I say: forget what is written in your contract. Think if you are happy with the salary and the freedom or other advantages there. If yes, then stay and try to slowly rise the salary. If no, then go. Trying to get money for something you did as part of your job without clearly stating this before will reflect *extremely* badly on your attitude assessment.
If you did this on your own time, you own it. If it will save them money, it's in their best interest to pay for the software. Figure out how much it saves them per month/year, and offer to charge them half of that (on a monthly/yearly basis) to license your software. If they say no, either GPL it (and give it to them free) or start approaching other schools that could use the same type of software.
OP i understand how you feel about doing work outside of your juob description. most of us have been there at one point or another.
Just remember your juob description does not word for word describe what your daily tasks will be (unless your in a very strong union which means most likely you would be on strike half of the time)
When writing a job description we highlight the tasks we think most relevant to the position. The things you must do to get the job in the first place. in plain words somebody who truly excells at their position will do the job description without a problem will excell in team development, leadership, and accountability of himself and of others. if you're a hard worker that is what you do. in your field its the program this is referring to among other things.
DO IT If you take pride in your work and want to help the company and more importantly yourself
DONT DO IT if you dont care about your progress in your job and if you have strong resentment in your work rather than pride.
if you are unhappy in your job move on
Professionals get paid for what they do. Period.
As an intern about 5 years ago who worked for my local county's probation department, whose job responsibilities closely resembled your own (that is we setup computers/network equipment, fixed computers, etc), I built a PHP/MySQL based web app manage inventory (computers, pda's, and other tech equipment) which replaced a legacy microsoft access database that was very horribly written. Luckily I was able to do most of the project on company time - probably 60% of it at least. In my case I was able to migrate the access data into this application's database and get it working such that all the other IT people really wanted to use it. From there it became the new system used throughout the county.
I also took the source code along with some sample data (they didn't care) and showed the application at several job interviews. This helped me immensely in getting a job in the industry.
Building something that actually works, and demonstrating it - that is, being able to explain to potential employers how it works and how you designed it - will go a long ways towards getting a career. Throwing it away would be a shame and more of a waste of time than anything. If its really well done and had other potential uses I'd say perhaps you could open source it..
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.
1. Get a lawyer
2. Add DRM
The DRM will expire their site license at the time of your choosing.
The lawyer will cover your ass to make sure that it is done legally.
After they've come to depend on it for business process, and your lawyer says turning it off is A-OK ... you will see compensation.
If they break the DRM instead of paying you, then you AND your lawyer will see compensation.
Maybe while you're in the process of asking your boss for more money you can discuss the amount of money you have to give back for surfing the internet during all your "down time".
And if this is what you did during your "down time", then guess what - they already paid you for your work.
The old phrase "No good deed goes unpunished" comes to mind. This is never more true than in IT. The more work you do, the more your expected to do, usually without any additional rewards, monetary or otherwise. If you do that then what's to stop them from expecting you to support this on top of your existing duties plus they'll start coming to you when they need other things done. If companies expect their IT people to do development work then they need to add free time to your schedule to allow you to do activities such as development.
I work on a help desk. I have seen more and more work expected of people in my position over the years. At one of the companies I've worked for over the years, a corporate big wig said something in a company wide email about why the company couldn't be more like Google. My thought is that the trend of micromanagement gets in the way of being more like Google. If companies don't put free time in people's schedules and a clear reward for free time work done then employees don't have incentive to do anything extra for the company. If employees come up with something important to the company then they should be migrated to work on that project full time.
*It's not what you can do for the Dark Side but what the Dark Side can do for you!*
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.
You've already done the work, go ahead and give it to them, put it into production and prove your worth. Explain this is given to them as a demonstration of your higher level skills, that you plan on making your long term career. If there are other projects like this one they would benefit from, put together a proposal of your new job description, and a mention that you would expect a wage appropriate to that description. If they don't bite, simply mark it down as an achievement on your resume, and get a real job.
(If at first you don't succeed, do it different next time!)
a senior sysadmin should expect to write some in-house tools, yes.
>>as my job description and employment terms are not based upon this skill set
If I were your boss and found out about your attitude, I'd probably kick your arrogant ass straight out of the company, Mr Know-It-All-And-I-Am-Too-Good-For-This-Company.
If you can only think in terms like that, you're not worth much to that company.
You recognize that your team is carrying a heavy burden and all seem to worry about is how to get payed.
I pity your fellow workers. Nobody told you to make something in your own time.
If you feel you should be compensated for something nobody asked you to make, then next time don't.
As lead designer it sometimes is my turn to clean the toilet because we don't have janitor in our office.
As lead programmer I fix all kinds of things far beyond the scope of my job description.
But who cares? If you're so worried about meeting your goals you would love working for McDonalds where they have excellent goals for how many burgers you should flip per hour and you will be greatly rewarded if you meet those goals.
They have no in-house programmers, no help desk software, and no budget to purchase one.
No budget to purchase one likely means definitely no budget to pay a developer the going pay rate skilled developers are paid to build one. Usually it costs more to properly build a product than to buy it, and it's a bit of management decision to determine whether to use company time or resources to build/acquire one; although often the choice to buy software is an IT manager choice..
But no budget to buy software almost certainly means no budget to pay a non-developer extra $$$; this will be difficult to justify, even if you can justify the $$$, management may have simply not chosen to allocate it like you think they would.
Question your organization's management (carefully), and with the proper attitude if you must, don't go behind management's back and expect to come out ahead in the end.
A happy boss is a lot better than some happy coworkers.
Oh, but if a helpdesk or IT employee does build an app related to helpdesk work, then your development is in "scope of work"; therefore (probably) owned by the company.
You stand a good chance of being fired (best case); if you let management know what you have developed but refuse to hand over. In worser cases, employees have been sued over such things, a very expensive ordeal for the employee.
streamlined a lot of processes and took 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.
This is the kind of thing you could put on a resume / job history info to get hired. Your average manager would love "Streamlines processes" "Reduces costs"
Your best bet is to share your code, and if management won't compensate you for it, take the compensation in the form of a good resume line, and good references from your coworkers and maybe immediate manager/boss/supervisor who benefitted the most from your work.
Unless you think you can partner with someone else, productize your work, and sell it back to your own company as a purchase decision they get to make or not; I don't think you're actually going to get what you want. You need an adequate description of the value your development actually adds above what an IT admin would be expected to do
Building a web page that provides access to many systems in one place is just the sort of thing a senior IT admin would be expected to do or assign to someone else.
There is plenty of free FAQ management software available, and most organizations would expect an IT admin to implement best practices at best cost / benefit ratio to the company, or at lowest cost.
Also, Just because you met your job objectives and have "downtime"; doesn't suddenly mean you should not still be working. Using that time to work on improving your job or assist coworkers is well within the job scope of almost any employment.
Unless your job is to be ready at "standby", such as 'on call' for incident handling / support, and not to engage in work unrelated to education / preparation for such matters, then you should be doing work of some kind to help your department or organization better / more efficiently achieve its mission.
There's no excuse for "downtime" in IT, unless you've already worked many more hours than you are supposed to, and you want / require some rest.
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.
When you were awarded the job, did you provide information about your skills as a PHP or MySQL programmer?
These are applicable skills. That is, they are in scope for IT admin duties, especially of a senior IT admin.
By the way, Se
It depends on your employment contract. In some cases anything you create while an employee belongs to your employer. In other cases if the creation is related to your job in any way it belongs to your employer. Another possibility is that if you used equipment owned by your employer to create your thing, you may be obligated to give your employer a license to the item.
There are other questions here - are you an hourly or salaried employee? Salaried employees generally don't have fixed working hours to the same extent hourly employees do.
Then finally it seems to me that there is an issue of what you feel your relationship to your employer is. Maybe I am a bit old fashioned, but my general opinion is that regardless of what your pay level is you should be using your entire skillset in service of your employer. One thing I know for sure that if an employee of mine presented me with a proposition like you are entertaining I would be pretty unhappy. However if you volunteered something like this I'd be talking to you about possible expansion of your role in this company.
Then say "Hey look at this great tool..."
I am very small, utmostly microscopic.
It sounds like you're not going to be paid for it. Once you accept that issue is over and settled, the next question is how to get them using it while not feeling like a chump.
Release it under a free license. That way, you're not giving it to them (it's still yours), but they'll be using it, so your job is going to suck less. Any sort of maintenance is going to be on the clock, of course. Stop working for free, now.
It's also possible that maintenance may end up being done by someone who isn't you, and the app will fork from what you did. Be ok with that. Be happy about it, when it happens.
You might think that the app is so specific that it's going to be a Free Software project with 1 user. Maybe it will be. Don't worry about it.
1) Inflate and scramble your codes such that they are totally incomprehensible by anyone but yourself
2) Hide expiry timers in your codes as many places as possible
3) Hand over your codes and promote them as next best thing since slice bread
4) Your gullible boss merrily decide to use your code without paying you a dime
5) Secretly remove any possibility of recovering old codes by removing the codebase backup
6) Ask for huge compensation before expiry, expect to receive stuckup noses
7) The day of expiry is the point you yell PROFIT!!!!
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 original posts seems to completely omit anything that would explain, if this "application" is actually deployed and used.
If yes, asking for any payment would mean holding data and established processes hostage. That's about as unprofessional as it gets.
If no, you are in exactly the same position as anyone else offering a product that performs the same function. If they didn't buy a product from someone else, it's very unlikely they will want to buy it from you.
Either way, this is stupid, and you are stupid.
Contrary to the popular belief, there indeed is no God.
If you are a wage employee (paid hourly) then you should get extra compensation for your work. If you are salaried, guess what, you're always on the clock. The idea being that certain types of employees aren't just working during work hours, you're often thinking about problems driving home, etc. This is why many companies have a form you sign when you start work indicating that anything you develop at work or away may be the property of the company. That said, managers always have leeway to grant spot bonuses, good raises, etc. Talk to your manager. If she/he isn't willing to work with you, don't give them the software at all. I'm guessing they are probably willing to meet you half way.
You said that you were made to understand that there was virtually no chance that you would be compensated for this project; don't expect to be compensated now that you've completed it. What I don't understand is why you wrote it if, as you say, you feel that you shouldn't be asked to do so. If you want to try to sell it, that's fine, but having something so specific to your workplace already created and ready to go, and then holding on to it until the price is right, seems like a bad idea. It would be one thing if you were submitting a proposal for something above and beyond your job description. This is going to seem like you're not fully invested in your job, and you're looking to hustle something on the side. If I were a manager at your school, I would look askance at this. It smacks a bit of the old fire-fighting companies that would show up in front of a burning house and wait until the owner put up some money until they put the fire out.
This unbiased moderation brought to you by the Porcine Aviation Group!
I am you. My company never hires the people it needs. Then people like me come along that have a lot of skills on the side but no certs... I get bored and write what they need. The problem is, people like us ARE the problem. We allow them to continue to not hire the right people and never get compensated ourselves. Not only that, if something goes wrong with it, it's YOUR fault. You'll end up supporting it forever, they'll never hire anyone that knows what they're doing and they'll be exasperated that you don't have the time to support the application you wrote 4 years ago in your off time and never got paid for.
Not all companies are willing to reward you even down the track, you'll do stuff like this and give it to them for free and be hoping for some kind of reward down the track, but don't be surprised if there's absolutely 0 pay for it, 0 bonus, 0 anything, and when you do get a raise for being there x months/years, it will just be the regular that they would give and what you done here would have been for nothing and they'd profit from it. Make sure you get paid or are going to get a bonus for it or something and get it in writing.
If you wrote the application during work hours, you are not justified in demanding some sort of lump-sum bonus in return for doing productive work during this so-called "downtime." I was not aware that there was such a thing in IT. There is ALWAYS work to do. Forget these strange notions about how the work is outside of your job description; what is this, a Union shop? Your job description details a list of bare minimum requirements useful for things like disability accommodations, unemployment denial appeals, etc. It does not set a ceiling, beyond which they are morally obligated to pay you extra.
Now, if this application is truly above and beyond your job description... Turn it over, let everybody see how insanely superb it is, and then bring this up when it's time for a raise. If they don't give you one, feel free to look for another job. Your potential new employer will look favorably how you took it upon yourself to write an application that massively improved productivity.
If you hold the application (that you've already written) "hostage" in return for a bonus or raise, I fully expect the response will be: "Don't let the door hit you in the a$$ on the way out." If they are especially savvy, they'll take the application from you before they fire you (as they should, as you wrote it on their time.) If the manager is a crafty one, he'll give you a raise, pay it to you long enough so the application is understood and is maintainable, and then fire you. Why? Because employers aren't in the habit of rewarding employees who extort a raise or bonus to receive completed work product that the employer has ostensibly already paid for.
If I negotiate $500 with my mechanic to change out my head gasket, and then when I go to pick the car up, he tells me he noticed the valve train was worn and decided to rebuild it, just because he thought it would make the car burn a 25% less gas, and demands $500 more for the work (which I never authorized), I'm not going to applaud his initiative. I'm going to hell him to hand over the keys, and I'm going to drive off, never to go back there again.
If you had negotiated a raise contingent on the successful completion of the application before you wrote it, this would be an entirely different conversation. But you didn't, and now you are wishing you had that discussion long after the time to have it has passed.
Cleans the windows without anyone asking and then wants to get paid.
Your first mistake was letting on to them that you are capable of doing it in the first place. Your second mistake was even discussing the notion that you'd be willing to do it at home during non-work hours. Now that you've made the predators aware of the prey, they're going to dog you until you actually do it, you will not be paid anything extra for it or receive any positive recognition for it, and if there are any problems that it causes, even with itself, you'll be expected to fix them, for free, regardless of how long it takes you, for as long as you work there, and perhaps even after you leave that job. Your only way out of this mess is to either claim that you tried and discovered you actually couldn't do what you claimed to be able to do (and take the hit to your reputation with that company), or commit suicide now, and hope that they don't hire a necromancer to resurrect you from the dead and still make you do the work for free.
Moral of the story is: Don't volunteer to do anything extra at your job unless you want to have to do that thing for as long as you're working there, especially in this economy.
even if you knew there would be no extra compensation? If it makes your or other's jobs easier, it was worth writing it. You need to broaden your thinking.
What makes you think that every detail of a job is spelled out in the job description you saw when you were hired? Sticking strictly to that job description is like only wearing 15 pieces of flair. You may be meeting the requirements of the job without writing the app you wrote, but when the poo hits the fan and IT people start getting kicked to the curb, the people who keep their jobs are the ones who wear more than 15 pieces of flair. Your app is like putting on another 10 pieces of flair. By writing that app you've demonstrated that you take the job seriously and you have useful skills (above your pay grade). That sort of thing sometimes leads to new jobs with new responsibilities and more $. Don't blow it.
This is gonna be a fantastic one to watch: Will /. stone the guy for wanting money for software (we're all about FOSS, right?) or revile the /trade college/ for being frugal with its monies.
""I'm the Senior Systems administrator for a small trade college.""
So he doesn't work for some huge corporation that drips dollars from it's eyes, and I'm guessing his concern is that if he empowers them with the software, they'll have less of a need for someone who has so much down time they were able to automate themselves and his next pay check might be his last.
I'm pretty sure that most places have this case already covered with their "anything you do while you work here is the property of your employer" clause; it's a standard clause to clarify exactly this kind of situation, and given that it's a /trade college/ they'd be pretty failarific if they let employees start milking them for doing each others' jobs.
-- A change is as good as a reboot.
If you have so much "downtime" at work, why do your co-workers need "freeing up" to concentrate on other tasks? Are they busy as beavers, while you web surf all day? Can't you have been concentrating on those other tasks instead of writing this?
Our userbase license cost us like $500.00 and some piddly amount for the support renewal ...
And hey look, they have an Education Edition too. http://www.ilient.com/education-edition.htm
And the best part? You don't have to do the bugfixes. Why you wanted to reinvent the wheel.....
Just be happy you have a job. I've never worked in a single IT position where I wasn't asked to handle things well outside my job description. The smaller the company, the far greater the diversity of work I was required to do - from working on generators to putting together desk chairs. It happens. If it cuts the boredom of hours of downtown, and makes me more valuable, I'll do it.
"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?
1. Hand program to trustable friend, tell college that your friend has a solution to their problems; Have friend pay you a consultant fee equal to roughly 90%.
2. Accept that you won't get paid.
You state that the college doesn't have the budget for new software. If that statement is factual, you have your result: They cannot pay for it, so you won't get paid. If that statement is not accurate, say for example, you think they can add it to their budget under the right conditions, then see idea #1.
Either way, *you* as a single entity will not get extra money (or paycheck amount) for having created the software.
Your post sounds a little like sour grapes that you do not get paid enough, and are expected to perform beyond your contract. Instead of renegotiating, you are hoping to give extra value to get extra value. In this economy, you won't get that.
Now, if you accept that you won't get paid, but still want them to use the program, you can open source it. Personally I'd use that "trustable friend" again, and have them be the admin for the package somewhere notable (freshmeat, sourceforge, google code).
After open sourcing it, then inform the college that they could use that software, and you can (as a service to them!) even work on it, but per the conditions of the software, you'll need to provide changes back to the upstream.
But trying to encourage your employer to pay will likely result in either lawyers being involved (and you possibly losing the rights to the code), or you getting fired/not renewed.
Be thankful you have a job, would be my advice. Don't push your luck.
First, I recommend to not provide the source code, and no documentation either, especially if you wrote the code on your own time.
If your company is interested, propose to write some documentation during your working hours (see below).
Secondly, use your program to start personal branding.
If what you did saved a lot of money, write a site explaining what your tool does, and propose to sell it for cheap without maintenance, but ask big money for improving it.
Marketing is more important than coding, and you probably don't like to sell yourself.
If you badly need money, you need to start selling. Try to read blogs and books about personal branding, marketing and SEO.
Thirdly, publicize in your company what you have done !
Don't hesitate to meet your CEO and tell him what you did.
If he's interested in investing in your tool, ask for a new job title.
If he's not, just tell him that you did that to help your service in the company, but you cannot provide the source nor documentation, since it's a personal project.
Let them use the tool, but retain property.
The main point is: make everybody aware of what you did. This way, the next raise will be for you, not for your manager who will take credit for your work.
I've read Atlas Shrugged. I'm not sure that you understood it.
Most decent CRM software has built in ticket tracking, so your company may already have a solution that you don't know about yet. If your company doesn't have decent CRM, Sugar CRM Community Edition (free) has a built in system to track help desk issues.
Hopefully they will reward you if this is truly outside of your job duties, but unfortunately they have no legal obligation to. Building tools to streamline your team's daily activities doesn't sound outside of anyone's duties, however, and every position I've ever had - down to working the cash register at a coffee shop - includes "other duties as assigned." It sounds reasonable for them to expect you to contribute using knowledge you have when you have downtime, even if it doesn't appear in your original job description. The fact that you have had significant downtime also makes this sticky. One could argue that you leveraged that time to think through the work and thus some of it was done on company time even though the keystrokes occurred after hours.
Any firm worth their salt will give you a bonus for contributing something like this or use it as a notch on your belt for a promotion. And if your company isn't of that caliber, it sounds like you have the skills to go elsewhere.
Doing something without being asked to do so and outside the terms of your employment is called 'volunteering'. Volunteers don't get paid.
Transitioning your workplace to an unauthorized homegrown system without being directed to do so and then refusing to provide said workplace with access to the program source unless you receive some sort of payment is at best unethical and at worst extortion.
Look, you told work they could use this thing. They said they have no budget for it. You did it anyway. Thy still do not have any budget for it. You can either deploy your thing, start using it, make your work easier for yourself and your colleagues, and accept only the 'payment' of knowing you have done good work for a cash strapped organization, or you can throw your unrequested work away and do your job according to the terms of your employer - even though their way is harder and less efficient.
Seriously, they have no budget for this. They have told you they have no budget for this. Be a volunteer or don't be a volunteer, but don't be an extortionist.
"Belief means not wanting to know what is true." [Nietzche, The Anti-Christ, 1889]
Okay, you you wrote something on your own time. Good for you for taking the initiative. Now stop being a greedy prima dona about it already. If you hold it hostage then you look like an ass and it will bite you in the long run. I doubt it's fully done and all the bugs worked out. Offer what you have done already to your boss as a demo of what the program might do for them, and either suggest they either get a real programmer to finish it or pay you to finish it with the understanding that your talents are limited. Don't expect to get paid for time already invested. Lots of free lancers rough out a demo to pitch for a later sale.
Seriously, take the high road here. Try not to point out that you otherwise "have lots of downtime" which to me translates as "you are disposable and don't take any initiative".
Your attitude sucks, and how you've "exceeded expectations" and acquired the adjective "senior" is beyond me.
Check your premises.
You could also try a monthly installment plan where as by as long as they use it you get paid. This would probably be a trivial amount for them a month vs one large payment. This can be very appealing for schools and businesses. You could also do a lease to own that they could terminate at any time.
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
I tend to think "Senior Systems administrator" includes some custom programming, especially if your workload is light, but it probably depends on how crappy your salary is. The fact that you work in education makes me think that you are probably overcompensated, and are just being a pain.
"I assumed blithely that there were no elves out there in the darkness"
From my experience, being selfish doesn't pay. If you somehow manage to convince your boss to use the software, rewards will come with some patience. Instead of asking for cash now, grow your profile and ask for a raise few months down the line when the benefits of your software are proven.
It will look great on your resumé. Then find another job.
Getting into the habit of being more than anyone expected tends to pay off, assuming you have the wisdom to avoid taking on things that actually harm important relationships and joy in your personal life. Unless you're at the point of starting a side-business, you're also probably better off if you can get a remarkable reputation among the kinds of people you most admire / want on your personal "team."
If you can generalize it into a little open-source project without having it eat up your life, maximum points and future attention from potential future employments.
If you can turn it into a separate business and sell it to a bunch of clients with support, maximum opportunity to make money, though if you suck at business it's also risky. Of course, if you suck and business you shouldn't be trying to sell this to your employer (which is what you are trying to do, whether you like that idea or not).
If all you can manage is to give it up for "free," adding it to your resume, improving your work flow, and pleasing your co-workers will all be more valuable than whatever satisfaction you gain from withholding it.
(captcha says "psycho": bear in mind the value of free advice...)
For all that, you already did the work! I think you'd have been better off asking "who do I want to be" rather than "what can I get out of this."
Go public and make a bazillion dollars. You're welcome. (I take donations...)
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
Release it under GPL before even telling them it exists. If you need to, us a pseudonym. Create a credible looking website, and a sourceforge download page. Then, let them know about this great free product you found. This doesn't get you anywhere on the compensation front, but what it does get you is an office full of dedicated guinea pigs for testing, which most oss projects don't get.
This signature has Super Cow Powers
a senior sysadmin should expect to write some in-house tools :P
http://bloguba.com.ar
A
If your contract does not specify they own this work already, then by all means offer it to them.
The key question for the purchaser will be 'how do I maintain this software if you leave'.
If your answer is 'any competent PHP/SQL person can do it', then you will generate a catch 22 which will fail with an obvious exception - i.e.; not a skill set they hire for.
Lastly, (sorry to be a wet blanket here, don't mean too, but I might as well finish it) you have not given a clear idea of the precise functions of your solution and the environment in which it is used. If you did, it is likely someone here would recommend a relatively off the shelf solution which would have a simple support path (and even just active forums) even if it were open source/free.
As eloquently as stated by the AC, you are going to have to give up your work without compensation.
Now you may be able to trick your employer into giving you the Copyrights, but that would be the limit.
If you need previous case history, just look at snap-on. A guy worked in his garage to invent the "snap-on" dynamic.
However, he was salary, and he was working on something specifically for work. Therefore, the company owned said invention.
Congratulations!
You just managed to get the stupidest Slashdot question of the year submitted in time for 2011 consideration!
We were dealing with a huge GIS project at my office, and farking around with paper maps and such. I had the know how, so I whipped everything into a brain-dead Google Maps interface for everyone to use. Took a ton of time, even quite a bit off the clock.
I did it because:
1. It made my life easier.
2. Demonstrated a skillset the boss didn't know I had.
3. Made the firm more likely to be successful.
Not in my job description, and I didn't get compensated for it at the time. But I got a really nice letter from the boss' boss' boss. Later, that turned into a fat bonus.
Your mileage may vary.
I doubt you will get paid for it, employers usually aren't too keen on shelling out for things they didn't specifically ask for, and they can get a bit pissy if you hold something out on them that they could actually get use out of. Think about it like this, if it makes your/your employee's jobs easier, then that means you should theoretically get more done in the day. This makes you look better, and in turn could turn into a promotion later.
Another solution, as stated elsewhere, is to just open source it before you tell them about it, then let them use it. At least then you get credit for the work and if you ever want to do more work in the field later (paid work especially) you can use this.
Personally I'd rather have my idiots at home glued to the TV than out doing idiotic things
I have written several programs at several workplaces and gotten compensated for them outside of my normal pay. Sometimes the required program was within my job description but required for a specific purpose other than my daily routine. I have repeatedly gotten paid for doing so. In some cases, quite handsomely. You just need to talk to the right person at your workplace.
Another opportunity, again which I have done, is to develop it outside of your work environment, and offer it to them as a solution. It is VERY important that you can prove you did not develop any of the product at work, or using work's tools (i.e. IDE, Complier, whatever). Then you can offer to them just like any other software company.
Yeah- stick on your resume that you're a sucker that works really hard and does extra work without compensation. That'll work.
Let me get this straight.... You "have a lot of downtime" because "all of your goals have been met", and you want to withhold something that could be valuable to your employer because you don't think it's fair that you don't get paid extra?
Let me ask you this... Are you returning salary during that "down time"? I'm sure you are not, so you expect you're employer to give you something for nothing, but you don't feel any desire to reciprocate?
I've managed many techical organizations in my career, and you appear to be one of the following to me:
1) You are a very bright, valuable employee who is young and hasn't learned that a good manager sees and appreciates extra effort, and your career benefits from that extra effort (not all managers are good, but even if yours isn't, someone in the organization will usually recognize talent).
Or
2) You are an arrogant bastard who has a self inflated feeling of worth.
I've fired a lot of very bright #2's in my career. A hard worker who isn't a superstar is FAR more valuable than the cancer caused in an organization by a #2.
I hope you are a #1 who just has a lot to learn, but even if you are a #2, you have it in your power to become an asset rather than an ass, it's your choice.
Give your employer the software and enjoy the kudos you get for being a team player.
As an aside, I got my first management gig 20 years ago by writing a database to automate a paper based help desk, which I did on my own time. I enjoyed learning how to put the database together properly, it helped me do my job, it helped my peers be more productive, and when I went in to ask my boss about a promotion a few months later, he offered it to me before I could even ask for it and lay out my reasoning.
Don't worry about the money, you'll be a hero and hopefully get rewarded later with a promotion and perhaps that higher pay grade that you're capable of. If you're really that hung up on a short term shot of cash versus a potentially bigger upside long term, by all means demand money and shoot yourself in the foot. It sounds like you have the potential to do more at this company, but when you talk about meeting all your outlined goals and you have a lot of "downtime", those are some danger signs, IMO. I've found throughout my career that the rewards come to those who go beyond their outlined goals and are humble about it. Those who just meet their goals, demand to be paid or recognized for every little thing they do, and have a lot of down time tend to be gone when layoffs happen. Good luck and choose wisely.
Tired of being "punished" by the Slashdot $rtbl since 2002. I'm now over at http://soylentnews.org/ .
"I have a lot of down time. So I wrote the application"
So did you write it on your own time or at work?
If at work you have been compensated already.
... and didn't ask for. Something that they can't support, as they have no programmers. Now you want them to pay you some extra money for it?
It seems to me that the professional attitude would have been to tell whoever is in charge that you have "some downtime" and if they like, you could use that time to improve their internal processes or whatever it was that they have as a priority.
If you want to know what to do, my response would be to document your work, package it up and THEN release it under a free license to that everyone gets the benefit from it. Since your hobby seems to be producing software, you can pursue that on your own free time.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
two things. first, you'll find that the reason they didn't do it without you is because it really wasn't worth it to them. so the amount of money they'd be willing to pay will be negligible. remember that they don't care if the solution is better software, or more of your team's time. it's all the same. so better software isn't any better of a solution -- they may not take advantage of the differences for a long time, and one of the advantages is being able to fire half of the team.
second, you're forgetting what taking money means. forget the work you've already done. if you take money for it, you become responsible for it. every bug, every request, every feature creep, every tech support call. every question, every answer.
ultimately, you did it for fun, keep it. if you want to donate it to the cause, that's great, it'll make you look good and be considered more valuable -- not because of what it does, but because you're willing to donate it.
you don't want the money, they won't pay the money; both are why you didn't get the money first.
You carried out a project (as an alleged 'professional' no one cares what the time split was) so no you shouldn't have done the work it if you had questions about doing it as part of your job. Certainly not give it away for free, wait and then try and extort money after it is in wide use.
I think you need to ask yourself this:
Can you trust your employer to reward you for doing great work?
If yes, just implement your system.
If no: can you easily get a new job if you lose the one you have?
If yes, you can afford to negotiate with them regarding the system you've written. Depending on the value of said system, it may or may not be worth it.
If no, don't implement your system at all. It will probably only bring you more trouble.
Legally...
IANAL etc. but I do see pretty similar happening all the time...
Are you using ideas and concepts you learned at that place of employment? Are you developing software specific to their environment? It sounds a lot like it. If so, they've got a pretty good case that you're using the benefit of their privileged information in order to develop this product and thus, yes, they have a pretty good claim on it.
Also, be careful what you say in massively public stories on very public websites. You say, "The entire source was developed on personal equipment off company hours." You also write, "I have a lot of down time." I'd say, "Which one is it?" but it doesn't matter. You've now publicly said the latter. Even if you meant it in terms of, "I have a lot of down time at home," you didn't say that when announcing it to the world. In a court filing, they'll present it nicely out of context as a clear admission on your part that you used downtime they were paying you for.
You've given enough ammunition, if an employer is sue happy, for them to drag you through the courts long enough to bankrupt you. At the point you can't pay a lawyer to defend another round of investigation and have to settle, they own the idea anyway. Don't make the mistake of thinking courts are about the person in the right winning: most business vs. small individual stuff is about them running up your legal bills until you can't fight back. You will lose.
Pay Grade And Leet Skillz...
If your skills are that wonderful and you can genuinely charge for them at a higher pay grade, why aren't you? If you can do so, leave, collect that higher pay grade, fulfill your belief in people "not getting something for nothing." At the very least, an offer in writing from somewhere else may serve as leverage for your getting the pay grade you clearly feel entitled to.
Unless, of course, you're not that good. Don't worry: a lot of people can do basic enough hacking of code that they can get something sort of working if there are low expectations for it. They make great personal tools but it's also not the level someone'll pay you for as they expect it to work properly, all the time, with all the features they can think of and not just the easy ones. If that's the case, you're not going to get that pay grade you deserve elsewhere and that should tell you something about how much you genuinely deserve it where you are. If that is the case, you're at best going to deliver them some nice hacky tools and you're probably already being compensated for that kind of development. Not stating this is your level, you may well be capable of the former option. But it's always worth taking an honest self assesment before getting entitlement complexes.
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.
Offer the college a standard non-exclusive and perpetual license for the system and set your price. Protect your code/work.
Actually, for me this is very simple:
1. Do you like your job?
2. Are you making enough money to be satisfied?
If the answer to both of those questions is "yes" then doing extra work on your own time for the job merely as a value add without additional compensation is permissible. The goal in this case would be an investment in job security, rather than direct compensation.
On the other hand, unless you are desperately afraid of facing the job market, there's no reason to do extra work when you are unhappy or underpaid. What it does is set up a precedent that you'll work lots of extra hours for no compensation.
Oh, also, if this means that it will add extra work for you going forward you might want to think twice about giving it to them.
"MIT betrayed all of its basic principles."
Even if it's not part of your job, there's a very clear conflict of interest between your responsibilities as an employee helping your team and your own moonlighting as a software developer. You clearly see this as doing something in addition to your job, but you should be aware that many will see this as doing something instead of your job. Every time you answer "nope, only do system administration" then go back and write some more code you're looking to sell back to them any perceived unhelpfulness could be seen as an act of disloyalty. As a consultant I can also tell you that people are either internal or external, they're not going to let you sit on the "inside" and gather tons of useful intelligence that you can use to sell them stuff from the "outside". One of those careers is going to end very quickly, if not both.
From your description I'd also say there is considerable risk that you've already in some way used internal company information in developing your application, not just generic skills. What you don't want is them going to their lawyer saying "I have this employee that's been holding back information, developing tools for our processes and is now trying to force me into paying him extra for it! Can he really do this? Is this legal?" and even if you're right, you'll spend the next years fighting out the finer points of the legalese in your employment contract and your code is in legal limbo. Most likely you will settle and agree to hand over the code as unemployment and lawyer bills don't go well together. A cynic might even consider that this is the likely endgame so they can get that code for free, whether you like it or not.
Look, I can agree with your basic sentiment that you shouldn't expect something for nothing, but then you should come to an agreement with your employer first. Right now you're effectively a mole, secretly running a side business - or at least a would-be side business - under the guise of a regular employee. I don't think there's any way you can spring this on them that will look good. Either hand it over in the hope you'll get something for going "above and beyond" or delete it and chalk it up as a learning experience. Or try making a deal now and slowly release your software as if you were developing it, but if they won't pay then they won't pay. That it's already written isn't going to change that, it only tells them tat if you say no you get $0 for your work and something is better than nothing so they'll offer you a pittance or no deal.
Live today, because you never know what tomorrow brings
wha?
Quit doing drugs.
You hit the nail on the head. The part I left out was that it's so frustrating to see this kid has taken the initiative, made himself an opportunity, and now is squandering it for...what? The hope of a few extra dollars? Pride? Because he's not sure what he wants, but he know he wants something, or else?
If he follows your steps, really it should be a win-win no matter what, unless he sticks with the attitude and can't follow through on 4b (getting a better job).
read the fine print in your contract, your boss probably already owns it.
Its business, they will find every excuse to not give you money. No matter how lame.
As has been suggested in another post - try talking to them, but don't reveal you have the code.
Personally, this kind of code gets cooked up all the time and isn't really worth all that much, despite what you may think.
However, you are within your rights not to give it to them without something in return.
Also - if you just give it to them they will expect you to maintain it, which is too much to ask.
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!
I'm a health care professional. I did some reading and worked out a way to use my equipment more effectively. It'll probably save lives. I did this reading on my own time. I feel like I should be renumerated for my reading before I actually fix anybody.
You brought your work home with you. Live with it. If you think your work should pay you for it, sell them on the idea that you're the only one who can deploy and maintain your Drupal ripoff.
...I'd be making you pick up the fired guys duties in addition to your normal ones, and reduce your pay.
Read your employment contract to see if anything like this is covered. If not, it's reasonable to expect the company to pay you some money for your time; however, more likely they will refuse and perhaps eventually fire you because of their hard feelings towards you (ie; not getting something for nothing).
9/11 Eyewitnesses to Explosive WTC Demolition 1 of 2
However, they would be using a piece of code that only you knows how it works, your place in the company will be irreplaceable if you become irreplaceable. The more people that rely on you, the more critical you are to the companies operation.
Just don't. The current economic climate is filled with people who are a disgrace to the market. If you hand over the source, expect no compensation and to be fired within 3 months (redundancy).
Perhaps you've noticed the situation -> as a programmer, I'm sure you've come across various articles referring to programmers as worker bees, and the importance of keeping a bee hive going. While these are all management metaphors, and are intended to keep a technological company healthy, it cannot be dismissed that various people employed at your organization will view you as a worker, as a bee, with something of value to be carried off. Anyone who has worked with bees is aware that bee-keepers siphon off a fair amount of honey, leaving enough for the bees to survive the winter. So to do these people see you not as another person, who enjoys earning money as much as themselves, but as some animal to be yoked, and at times milked for everything that he's worth. It took me over a decade to grasp that while you are taught that good acts will be rewarded, and that business's reward / promote people based off of merit, reality has taught me otherwise.
You see a program which makes the company more efficient, and allows your people a less stressful job / frees them up for other tasks. They will see a program that makes half your team redundant, as they will need 2 people now to handle the same workload as 4 people. They will not compensate you (maybe a 2 for one dinner at Dennys, if you're lucky), and someone will fire the others, making themselves look good in the process and getting a bonus for eliminating overhead.
File for a LLC, sell the software to the company. If they don't want it, take it to their nearest competitors. Get a lawyer.
I am John Hurt.
It's tough but you most likely won't get paid for anything. Just make sure to get the proper credit and learn a lot from your side projects so you can improve your resume with some new technologies or make it more rounded. It also might not seem like it but you'll likely get some extra job security even if you're making things easier. People fear what they don't understand and if you're the guru of the 'new system' they probably aren't going to get rid of you if they can avoid it.
I probably wouldn't do this but it's fun to scheme so is if you haven't told anyone about it and it's obvious that it will produce immediate value. Reduce the app to a feature-lacking prototype and go to your boss and say you've been working on it in your spare time for awhile but you could really just use some extra time to pound it out. See if you can get a part time contract for extra hours on the side to polish it up and then whip it out in a month ahead of budget.
If you do a good job, it can only help you.
It will give you more visibility and more responsibility. If you are doing it for work, stop doing it on off hours. Pull it in to your job and do it during your down time. Get paid hourly on it. You will need to maintain it and fix various issues over time. When you are up for yearly review, get this project and a description of what you do mentioned. In the future you can ask for a pay raise or a tittle change because of your new job duties and responsibilities.
Should you ever leave your current position, this project will give you huge returns in hunting for your next job. Employers want to know about these types of projects and you can talk about it in detail with great confidence.
Im a gamer, not a grammer major. This post is full of spelling and grammer mistakes.
Do you believe in working for free (i.e. not getting paid)? If so, then you should have no problem handing over your work without compensation in return. Any sane person will tell you that you're a fool for doing so. Unless it's your own personal project that you're doing for fun, then expect some kind of compensation, preferably monetary.
So, essentially, what you've done is you've used your downtime unproductively because to do otherwise would cause you do do something which is outside the scope of your job description. Then, you wrote work-related software in your spare time, documented the effort, and you're having a dilemma, moral or otherwise, about what you should do with respect to this software and your organization.
Whether it be immediate firing or something down the road because you've managed to subtly tick off someone who thinks you've done something unethical and they're finally ready to can you, in my opinion, if you ask for money, you're on your way out.
If I were you, I'd burn the log of your time and offer to donate it to the cause. I'd also start trying to find ways to be productive during your downtime. The not-in-my-job-description thing stinks a little.
I'm on a small team at a large company that's in charge of accounts- creation, deletion, & password resets. When I interviewed, I was like "That's it?" Well, as I soon found out, yeah, it is- with hundreds of UNIX and database servers, and dozens of internal applications- all of which require different setups & combinations of UNIX/db/share drive/etc., it turned out to be. When I started, though, it was very clear that my team was in WAY over its head. The scripts to create db accounts, for example, required editing a file w/ the account name to create, then running a shell script that generated a small SQL batch file which created the account (all users had the same static password) and maybe sent them an email w/ the password. Several other steps were also required, including any unix/wintel stuff, entering a log into the tracking system, etc. Oh, and also, our db "admin" user account/password was hard-coded in the script as well. And each app had its own separate scripts for creation, deletion & reset.
I went to work right away, creating a command-line menu-based tool that did all that at once- prompted for admin password, generated random user passwords, handled all the different application configurations, sent the emails, & even created the log entry automatically. It was also capable of parsing bulk revocation requests which we got daily in Excel format (don't even get me started)- when a single user has literally hundreds of accounts, trying to manually delete only the ones that were requested (and no more) is next to impossible, and a task that may have taken hours (or days) now took a few minutes, tops.
Did I get any recognition for this? Sure- my team loved it, and everyone on it (and a few managers from other teams who've seen what I've done) was generally quite impressed. Unfortunately, my team isn't very important in the grand scheme of things, especially when going up to a global level, at which point nobody gives a shit because their regions don't -have- such a team. It hasn't helped that our next-level-up manager has changed about 5 times. Also, as a contractor, I have pretty much zero rights (compared to a full-time employee), no bonuses, and in 5 years I have yet to get a single raise (my contracting company gave me a very tiny bump (less than 3%) out of their cut of what they make off of me, which I'm not counting). It's possible my work has saved me from several round of layoffs, but that's about it.
So yeah- sometimes you go way above & beyond what's expected of you, and you don't get jack shit for it.
"Above my pay grade" is an attitude that may work for an IT worker in a union shop, or government / public service worker, but doesn't bode well career-wise. SAs, even Senior SAs, are by job definition on a rotating 24/7 on-call service to many IT shops. The "pay grade" includes, or should include, an elevated monetary compensation for your extra effort.
I worked as a sub-contractor SA to a government systems engineering / information technology contractor, with a quite generous union scale benefits package. Compartmentalized support meant that I didn't write code beyond some administrative scripting -- that was left to even more generously compensated software engineers.
But when it was a test system server whose primary storage crashed at 0400 on a Saturday morning, it was me that spent the entire weekend on-site, not these software engineers. My extra effort regularly expended earned me respect, extra bonuses, and an employment contract that got extended four times.
You should consider your off-the-clock software coding to be part of the service you provide, even if not directly compensated. You could always issue a non-exclusive license for your code to your employer under GPL, and use this on your CV.
One thing I heard and feel is a pretty truthful thing is: "A lousy job with a good manager/employer beats a great job with a lousy manager/employer". If you like who you're working for then you are happier than if you have your dream job but dislike who you're working for. If you don't like who you're working for, for everyone's sake look for a different job.
On the flip side I believe it is your job to make your employer successful. That means doing things within reason to make things work. This is where the above comes in: if you like your work environment you will be willing to make more of an effort. You and your organization will benefit from you putting in more effort. If you don't benefit from doing more than is in your job description then your employer doesn't care about you and that should be a sign to find a better employer.
Your mileage may vary, but you will get out of your job what you put into it. Limit what you put in and you limit what you'll get out. Put more in and you (should) get more out. If the employer values you (and not all employers do) then you will get opportunities to grow personally and professionally and be rewarded when you do.
---
I haven't got a webpage on working to rule. But James Salt spamed me tonight.
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.
I have to concur with this.
The submitter should sit down and think about how lucky he is to be employed in this economy.
How do people get like this get hired and keep their positions? I'd happily code whatever my superiors asked if it meant a steady paycheck and a job to drive to every morning, taking work home and working through the night be damned. Certainly wouldn't be expecting any extra cash (!?!?) or have any asinine notions about something being "above my pay grade".
If this guy doesn't want his job, can I have it?
Or:
4c) you get fired for bogus reasons which they can neither confirm and you can neither deny (due to none of it being in writing) to free up paperwork/due to personal issues.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
You did it all on your personal equipment and on your own time. The way they word the clause in your contract is very interesting. It has to be something that you could not have written without work at that company and in the same field. A example would be working for Microsoft and writing a Operating System. That they could claim. Since you work at a trade school in IT, they can't take your work. You work in IT and not programming. So it would have to be a skill set you learned else where, and a trade school does not make any programs.
This is in Canada anyway, so look into what your contract says.
You work for a college. If you're not willing to donate your time to it you work for the wrong place and should leave. Seriously.
There is only one thing to do - Nothing. Just continue going about business as usual, just make sure the time spent manually doing the task is documented. With enough documentation and reported correctly (especially the costs of not doing anything vschanging the process) can get manegement to change their tune. The hard thing is figuring out how to report it because you have to make it seem beneficial to the people that have the power to take action. I have seen many excellant ideas that would save millions but it wasn't reported properly so the powers that be skipped passed those ideas for other less favorable ideas but one that were clear on what the benefits are.
If it's taken a while a "why am I doing this for free" attitude may have developed or they may have been talked into it. I get people trying to instill that attitude into me every time I mention to a 9-5 office desk worker that I had to stay late to finish something or come in during the middle of the night to get systems working for people to use them in the morning. The attitude that some tell me I should have is that it doesn't matter if these incidents only happen every year or two, I should just wait until 9am and not care if a lot of people cannot get any work done until I get there. Some people talk like that but if they are in positions of responsibility I'm not so sure they would act they way they advise.
I speculate that if the major motive was to get paid for it then nothing would have been done until there was some indication that payment was likely.
We're not going to find out either way by just insulting the guy and making wild assumptions based upon personal baggage.
you mention that you built the applications in your 'down time'. I assume here you mean that you did it while you were at work, and possibly utilizing work computers to do it.
if this is the case, you should check your employment contract quite carefully, as i'm guessing it has a clause about IP or 'works' creating on company time (or property) being owned by the company.
Others have addressed many reasons on which road should take. I'd like to chime in on some important factors on which road you can take. Specifically:
If you have written anything already, your boss may already own it.
This shocks people sometimes, but it's entirely true. If you wrote it on work time, with work equipment, or even over work bandwidth; (in the USA) it legally belongs to them under federal copyright law. As soon as you're being paid to do it, they have a claim. Interestingly, this is why you always here about companies refusing to pay for something to negotiate a lower price, then being all shocked that the author sold it to someone else (or just gave it away). This sword cuts both ways. As soon as someone can squint sideways and see some way you were compensated to produce this software, then that benefactor has a claim.
That said, even if you've done it clean-room, on your own time, and entirely with your own resources; can you afford to defend it? Owning it doesn't mean much if they can just ignore you. Have a lawyer friend that will help you keep your ownership clear and is willing to send scary lawyer letters. This also means you must be willing to lose your job. It further means that your boss must have enough assets that, should they fire you, it's worth suing them.
Most importantly, try to do a better job selling it. Very few bosses will turn down a good opportunity. Even bad ones, when convinced of the savings, will go for it. Don't assume it's their job to know this stuff. It's their job to hire and manage people who know this stuff--that's a two-way street. If you want an opportunity to write some serious software, understand that you need to give them an opportunity to identify talent that can do so. Until you've both helped each other take that step (and both benefited from it), there's no way anyone can benefit. They're taking a risk--so sell them on it.
You'll find that you can do amazing things when your boss trusts in your judgement and will give you freedom. A lot of times the difference between a job and a career is finding management that you can interface with. Being a successful programmer or architect is entirely a people skill--establish trust, find a good boss, and you can make good money writing code without the BS. Alas, that might mean leaving your current job.
Finally (in case I haven't made this obvious yet), don't get so attached to your job. Really. If you're this concerned about how "your" job is going to take advantage of (or fail to take advantage of) your skills, I humbly suggest that you should mistrust your attachment to it. Working is like dating in a disturbing number of ways. It doesn't matter how "great" the place is, and it doesn't matter how much they "deserve" your "help". Find a partner that will appreciate you, or you're just going to be in a dead-end relationship and you won't realize it until you're way out of your prime. There are other fish in the sea (even in this market), and you should keep getting what you need from this one until you can trade up. If you feel dirty doing it, that's great--just don't settle for less than you should.
I think Mauve has the most RAM. --PHB (Dilbert Comic)
Don't hand over anything to this looter school. Atlas Shrugged is becoming more true everyday.
What is this? It's the second time today I've read on /. the term "Atlas Shrugged" in different stories. Is is a new meme? Quote of the month? From what I can find using Google the term isn't even very insightful.
*Psychotria shrugs*
You think wayyy to small time. If you think u have a product worth any money then first see if you can implement it in a real world setting. Getting the boss to use ur system would be the first step to making this product a success. You walk with the ability to say you system is used in xyz organization. Also if you are able to have your system implemented at work you can put that on your resume saying you built the custom system that xyz currently uses. I see it as an oppurtunity for growth and not an oppurtunity to lose in any way. Still if you feel it is a product u can sell, then take the required steps to protect it with patending n all that that legal stuff. This allows you to still say u designed a product tgat is used on the market.
Make a company, have a friend run it, and then tell your boss you found a company with a solution that meets their needs. Set a price and give your friend a little money and keep what you think it's worth.
The true reward of writing code is seeing it executed. Just hand it over. If you want more money get another job. Dice is full of them.
That sound ruder than I meant it. Basically you are just overthinking it.
Agreed 100%. I would also like to add for the original poster that if you are not in a position where you feel that doing more than your job description is actually fulfilling to you in itself no matter if you always get external validation for it or not, chances may be that you are not in a company, environment or position that is right for you.
If you are truly passionate about what you do, you automatically want to do more than expected of you just because it's fun. It makes it much easier to pursue your goals when your goals are not only in external rewards, but also in the work itself.
Also, a great way to direct your career path is to shine in those aspects outside your job direction that you want to pursue. If you want to do more programming, show off your programming skills. If you want to have a management position, show off your leadership skills etc.
...write the software, you aren't really in a position to demand any compensation, whether you wrote it on your time using your own equipment or not. Look at it this way: if you offer them the software gratis and they adopt it and expect you to maintain it on company time in addition to your other duties, then that is the time to negotiate a slight increase in pay or some non-monetary perqs.
It would be a complete waste to shelve the software if you know it would be a net benefit to your team (after taking into account the fact that it's one more thing to support and maintain). Hoarders and opportunists are never looked upon favourably, especially in this economy when there are 100 un(der)employed people eager to take over your job for less money and longer hours.
'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
As another guy said, you have a product so you could pitch it to your company. They may not pay much or anything at all.
However, even if you give it to them for free, then will have a company using your product which you can use as a reference if you wanted to sell the product to another company. I guess it depends if you want to become a developer/entrepreneur.
If you are not interested in changing jobs then maybe your boss can compensate you in some other way. eg time off, increased bonus etc.
(1) Consult a lawyer, you shouldn't take legal advice from slashdot that goes past "you shouldn't take legal advice from slashdot".
(2) Admit that you wrote this because of your job and that "now you should pay me extra for it" is a combination of pipe-dream and sour-grapes exacerbated by pride of creation. The project either came out better than you expected, or was chosen because you felt a real need for it and you _knew_ that it was never going to happen or be approved as "real work". This means that this was some sort of clever ploy on your part, deliberate or not, to drive the thin wedge of a chisel into your employer.
(3) If your program is that good, and it really is worth the extra green folding applause, open-source it on Source-forge or something. This way you can reap the glory of your code to get a programming job commensurate to your skills from another company instead of trying to wedge one into existence at your current employer.
(4) Never admit to future employers that you have any system administration skills. No matter what job you go to, they will invariably end up wanting you to administer some system beyond whatever you are hired to do. It's like having herpes, putting your self through college by stripping, or having "an earthy past"; you can never un-have it and your life is easiest if you can hide it from anybody not directly impacted by the shame of it all. It took me several years to wash the taint of "systems administrator" out of my resume and longer still to scrub the "never mind, I'll fix it" habits away. Programming job? fine, but do you mind if we call you any time day-or-night if we can't print and its "Really Important"?
The entire question and genesis of your "hobby" implementation smacks of passive aggressive maneuvering.
Then again, I have made several "hobby" implementations of things and then open-sourced them through my company's back door. [http://underdog.sourceforge.net being the latest of such, though it is stalled for at least another month.] Since I am not "a programmer" at my current job, and there are various impediments to the lateral movement of software in my company if "any project" paid for the development, spending some of my personal time to make my professional life better is time wisely spent.
See there is this thing, shat upon of late in our culture, called "enlightened self interest". That is where you do things that seem, short-term, to not be in your absolute best interest because the total gain is worth it.
If your project really was a hobby action, then you _already_ got the expected return. You have already paid yourself what it cost. Any further payment, be it cash from your company or recognition from them or others, should be pure profit.
The structure of your question, however, belies that tautology. You expect (future tense) to be rewarded with value for the effort expended. This expectation belies any claim of you having done the project for its own sake as a hobby. So to me, and probably to your boss, your question reads "I did all this work, related to my job but un-asked-for, and now I want some payback.
I dearly hope you get your boss to pay you for your work. You will deserve the horrible fruit that will actually bear. Trust me, it will be horrible fruit. If your boss decides to buy the software from you under separate terms, you will find yourself on the hook for free, as in utterly unpaid, support at all hours day-and-night. It won't come under the terms of your base employment, it won't count as overtime etc, and if you try to say "no" well, your boss controls your "actual job" too, so you have nowhere to walk and nobody to blame but yourself. Yes, I have seen this happen to others, and yes it has happened to me.
The two winning moves are:
(A) just drop it on the bosses desk and say "I did this out of pure frustration, do you want us to use it?".
(B) put it on source forge _then_ go back and drop it on your bosses desk and say "I did this out of pure frustration, do you
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
There are 3 issues that interest me from this post:
First, If there was no agreement for you to do that work (either implied or explicit) then why did you do it? It is as simple as that really. You did it, thus it should be assumed that it was from the goodness of your own heart and that you have no expectation of reward, because if you did it in order to try to ambush your company into paying you that would be unethical, and we should assume you are not that kind of person, you assumed the role of provider of free labour freely, then accept the consequences graciously.
What baffles me is that if you had free time it would have been dead simple to add an extension to your term of employment to do the work you did on company time in terms that were clear to all.
This brings me to the second point: job descriptions. I just can't believe that in this day and age geeks on this website are whining about having a precise job description.
I don't know where you chaps have worked, but clearly is mostly in small shops, in the places where I have served (with distinction I should say) they always had precise job descriptions for the different people in IT.
So System Administrators did not do application or website programming, programmers didn't do DB administration, and DBAs did not run around fixing people's PCs, and hardware technicians were not fixing problems with Windows. Computing technology has grown so vast that somebody telling me he can do anything and everything in the field should be seen with suspicion in my opinion, any company asking one person to take many roles at once should be seen as fools or poor (and here I say, charity starts at home when it comes to corporations).
Job descriptions are the best safeguard against you being exploited chaps, spare me the helping the company nonsense please, unless it is your own company financed with your own money, this helping the company, working for free, doing things you should not be doing, just cheapens the profession, giving the bean counters the impression that we should be paid badly for as much work as we can stomach (are you on call for free? Working out of hours without compensation? Then sir, you are a fool).
Even if your job fulfils you so much that you would do it for free, you are a professional (aren't you?) And professionals don't work for free.
Which brings me neatly to my last point: individuals financing with their time commercial interests, often vast and multinational. It is like a beggar helping a banker. Give me a bloody brake folks. The company (any company) will churn you out at the first sign of quarterly misfortune. The workplace has changed substantially in the last 25 years, loyalty is measured only in the basis of a mutually advantageous commercial exchange, if you are giving your time for free thus losing time with your family, friends, and most importantly yourself, you clearly have not been paying attention to how companies behave with their workers....
Wake up people!
IANAL but write like a drunk one.
If you're good at something, never do it for free.
So if you are hired as a System Administrator, and your boss tells you to mop the floors, or serve him a coffee, you just would do it?
Also what this chap did was not just a bit of code slinging...
IANAL but write like a drunk one.
Until their quarterly profits fall below expectations, and then you realize that what you thought was a career was just a job, you muse about the non existent difference in your way out of the building while carrying your belongings in a cardboard box.
IANAL but write like a drunk one.
... 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.
.... I do however think that you are woefully naive of the realities of the business world.
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.
So you don't believe that you should be asked to do something outside of your job description even if you are completely capable of doing it?
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.
What are you doing with this "down time"? If this is an hourly position are you putting this "down time" on your time sheet and not being paid for it? If it's a salary position are you finding something else to do or going home early? Why didn't you use this "down time" to code this project instead of doing it on your own time for nothing?
However, it's been mentioned that, if I do the project, it is all but guaranteed that I will see no compensation.
Your salary isn't compensation enough? I'm confused here; are you a contract worker who just did something for free hoping to sell it to your client? Or are you an employee who is upset that he isn't being paid extra because he stepped outside of his job description to do something valuable for the company?
I want peace on earth and goodwill toward man.
We are the United States Government! We don't do that sort of thing.
I just don't understand how can people get bored when they have free time....
IANAL but write like a drunk one.
i cared for his story and i found it interesting. now what.
Read radical news here
If they do not wish to pay for it, you could simply open source it and put it on a website (not on school property, though).
And surely you know that there is a tunnel or ferries that will gladly take your motorbike (or car, or truck) for a fee.
IANAL but write like a drunk one.
If you GPL it, you could charge them for your home time to support/expand it even. If they won't pay, maybe others will? You wouldn't be the first to start a business like this and make a living out of supporting their own GPLed code.
I was promised a flying car. Where is my flying car?
Want to know how this conversation would go if I were your boss? I'd open up your job description, revise it, and print it out on the spot. Then I'd hand it to you. Here's what it would say:
Duties:
Packing up your shit and getting the fuck out of here
Host it on your own server(s) outside the company. Charge them for hosting plus usage, monthly fee, first 3 months free or something. That way you keep control, they get to try it out and not make an initial investment. SaaS is hot these days, get on the band wagon while you can. Yes, they'll be sticking their head through your loop. Big deal, they should know what they are getting themselves into just as well as anyone here on /. commenting about it.
I was promised a flying car. Where is my flying car?
Best approach i can see is..
1) Make sure you do own the software and there's no way they can claim it belongs to them. (ie, talk to a lawyer)
2) Tell the company you work for that you've been working on some unrelated software in your spare time which you're selling.
Say you have some buyers lined up, be causal about it, don't make it sound like you wrote it for them.
Say that the software with a few minor tweaks could also be quite useful to them, go into reasons why and what the software could do for them.
3) Let them try the software on a trial bases for X months with an agreed price at the end "if" they decide to buy it (and an agreed upon service plan).
4) Go out of your way to fix, improve and enhance the software during those months. (Your goal is to make it so at the end of the trial they can't live without the software)
5) Profit.
normal economic rules don't apply at institutes of learning. you should be working for free, and happy you can eat at the cafeteria and actually get a paycheck too. Most of the people around you work just as hard and don't.
Best thread in a long time! And the comments are, as always, brilliant.
It's interesting to see the comments ranging all the way from people on the far end that are encouraging each other to do this kind of things, moonlighting as a contractor for your day-job employer etc, and on the other end a lot of commenters actually say "I'd fire you if you were my employee".
I think it depends a lot on what the company culture is like. If you're working in an environment where own initiatives are encouraged, then you'd feel it's natural to do this work on company time, and hence it would be your employers property. On the other hand, if you are micromanaged and monitored, you will not feel that you have the possibility to do this on company time. And then, the company should not own the end result.
I have worked in both kind of environments. At the first place, if I would have made a "personal app", I would definitely have kept it to myself. That kind of creativity was simply not comme il faut at that company. At the other place, we were encouraged to think outside the box, as long as we got the work done. Freedom under responsibility, I guess you could call it. Need I add that the second place was a lot nicer to work at?
So I think there is a better question to ask here: How should we manage our employees, so that they feel they want to go outside of their job descriptions to add value to their employers?
It's a leadership issue.
As for the OP, he should look for a better place to work, where this kind of question never needs be raised.
That's my two cents.
How employable are you? I've always taken the view that the more useful I am, the better are my prospects at work. Maybe you are super duper employable and that doesn't matter - is that true of anyone anymore? I've created or sustained my own job by showing senior management what needs to be done more than once. Wouldn't you want to hire someone who shows creativity and will implement cost-saving solutions regardless of what a piece of paper says their job should be? And isn't someone who is creative and solves problems a better candidate for promotion and likely to enjoy their work more than an apparatchnik who ticks boxes and watches the clock?
Nonetheless some managers are threatened by underlings showing initiative and will look for a way to block you. And yes I have been screwed before. It's always dull bureaucracies like educational institutions that do not reward creativity in admin and infrastructure staff who are seen as non-core replaceables. Never believe promises of what great things will happen for you in the future if you bust your balls doing such-and-such, it's usually a con. So: I'd agree with those posting who say you should make a solid proposal to management (don't be greedy). Get quotes from external contractors to show how cost-effective your proposal is. Whatever you do, don't appear to be blackmailing management - that will backfire badly. Weigh up what the benefits might be of implementing your solution if they don't want to cough up money. For example, will it make you indispensable if you are the only one who can maintain the code? There's a lot of people out there on the unemployment line right now.
You have managed to become a liability to your employer. Something they need is closed up in software they neither have the source code of nor control over. You are now in the position to create a major conflict, from which you will both emerge as losers: you, because you will likely lose your job, as your employer can not afford to keep a destabilizing factor like you on board; your employer, because they face a transitional period in which your successor(s) will take over.
You would be well-advised to look around for mediation or arbitration. Moreover, the "software is not important" argument above points toward a clever way out.
Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
It seems obvious that you have impossible goals at this company in terms of getting paid for software they told you you would not be paid to write...
Pitch it to them anyway, and ask them to hire you (for greater pay) as a back-end software maintainer or similar. Don't ask for the hours you "already" put in on it, that's totally irrelevant to them and probably impossible to justify. Just sell the solution of *you* and your code.
If they don't want it, walk. Find another job, it won't be too hard. You can still quit on good terms, so don't fuss over it. If they don't want it, put in your two weeks notice politely and get out. This is business, and it is totally fair and ethical. Nobody will ever look down on you for it.
Or, go to school and learn to code even better -- you already seem to have a great start, and then find a much better job. If you choose this route than you just need a job to pay the bills while you're sharpening up your skills.
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.
You contradict yourself on whether or not you wrote it on company time...and I don't believe for a second you didn't. In which case, you give them everything because it isn't fucking yours, and trying to extort additional money from them for something that was their property to begin with will ensure they try in every legal way to keep other employers uninterested in you while you enjoy unemployment.
If this is the motherfucker of all support software, you zuckerberg that shit, but unfortunately you fucked it up by posting the evidence on the internet. So you can hope they don't find it, or hope that your "personal equipment off company hours" bullshit flies just enough. Either way don't go peddling it straight back to momma bear.
Since it probably isn't the motherfucker of all support software, and you would like to keep your job, probably just dump it in the deepest darkest corner you can find, then stop being a dick and do your job all day. Or, if you have no job to do and would like to avoid being terminated, figure out how to katamari it and other shit into your position.
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 the code to a friend and get them to sell it to your employer. Settle up afterwards with your friend. Simples.
I've dealt with problem employees like you before. Congratulations on making yourself unhireable.
If you were so smart you would have spent five minutes' research to figure out that RT is perfectly good helpdesk software.
(Applying the restrictions and measures in a standard UK contract)
1) Did you do this on company time? Even if you consider is "down time"?
2) Did you use any company resource (Internet, PC, designs, specs)?
3) Could anyone consider asking you to write this as a "reasonable request"?
If the answer to any one of these is "yes" then that work is the property of the company and you either hand it over or face disciplinary action.
From the summary I suspect 1) and 2) are "yes" and I personally consider asking someone with "down time" to use that time to enhance their own skill set as reasonable.
Sorry - I consider this application to be the property of the company you work for.
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
If the boss doesn't know you've written it yet, pretend like you haven't and ask if you would be compensated for something like this.
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.
I'm sure this will come off as cynical, but this is from my 13 years experience working at a large computer company. Your boss probably doesn't have the budget to pay you for your program or to put you in a different job. Even if he does have the money, he would much rather spend it promoting people who don't deserve to be promoted. I spent years working 60 hours a week but being salaried I was paid for 40. I carried the team I was on. Yet team awards and promotions were given without regard to how hard people worked or who achieved the best results. I quit and no one even asked me why I was leaving. They were happy to see me and all my free hours of work for them go. Other hard-working, smart people have since been laid off. A lot of stupid people who were "yes men and women" are still there, with just enough smart people to keep the department from imploding. Once you start asking for more compensation, you become a problem.
If you haven't already told anyone where you work about your program, then don't! Use it to get a higher paying job at a different place. Also, do not stay in the same company for more than a few years. That was another one of my mistakes. Good luck.
As an employee your argument sounds like you really want to be a contractor.
As a contractor your argument sounds like you are the mercenary type! Even contractors should display an attitude which show they are around to solve the client's problems, not just squeeze cash out of them. A contractor that identifies the need or potential for extra software should raise it with his client up-front and try to negotiate a way to implement it which is beneficial to all.
An employee with spare time that comes up with good solutions should get compensated but this should not have to be with cash necessarily. It could be faster promotion, a bigger bonus and probably making your job more secure. Even in the absence of direct compensation, you would be in much stronger negocating position when your appraisal take place. By the way, sticking strictly to your job description may work in your favour right now but what happens when it becomes out-of-date? ... should you get fired then since your tasks no longer exist?
Your 'behind the back' approach and 'keeping logs' attitude seem to indicate that you have gone into this with only your financial interest in mind. That does not constitute a very good starting point for any negociation. You'd need have a more constructive way to present your pitch to stand any chance to obtain a positive outcome from your point of view.
If your employment contract has an "Other Duties As Assigned" clause you may be out of luck.
I am in a similar boat, but it is not code and it's not my main area of employment. Its a non tangible asset. I expect I won't get paid for it BUT it will help me career wise. I now have the ear of people whom I wouldn't even dream of contacting prior to this. It allows you to shine and if it brings in more customers and a new market you will be building your rainy day chips so that when you need help, you have the ears of the heavy hitters.
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
You need to tell the bosses that because you just saved the company mucho moolah by doing this haphazardly, you deserve a raise; otherwise you no longer feel comfortable supporting the code since that's really not your job. Sure, it works *now*, but later you can't really expect. Who knows what bugs crept in when you weren't looking--after all, this is way above your pay grade. Also, look into being able to write off your personal time/equipment on your taxes, since that's where the development was taking place. Additionally, see if FLSA kicks in, since you pretty much volunteered time/effort to the company without compensation.
If everyone was in the same jurisdiction and employed as permanent staff you might be right. However laws vary from country to country and even state to state so you need to be cautious about what advice you give. This is particularly true when handling contractors which a lot of firms do these days to avoid "headcount" without realising that IP law treats them quite differently.
If you are a direct hire doing the work you were hired for, for a company, in company time using company resources then yes they do own it under "work for hire". If you are a contractor doing work for a company, you own it unless your contract vests the IP, even if it doesn't you are probably granting an implicit license. However outside of that it gets a hell of a lot more murky.
Take for example a Janitor that goes home at night and paints a painting, would the IP rights for that painting vest in his employer? Certainly not, even if it was written into his contract that all IP he produces vests in the company a judge would likely rule that application of it unconscionable.
Basically if you're a direct hire and what you created is related to your duties, it probably vests in your employer (depending on your contract). However if it's definitely outside the job you were hired to do then it's time to seek legal advice because ownership depends on jurisdiction, whether company time or materials were used and the contract you're employed under.
The problem with most managers when confronted with this situation is they automatically assume the law is always on their side. However, because copyright law was in fact designed to regulate the creative industries where working practices are often quite different from an office, the law can get quite tricky. If you're manager in this situation, seek advice from company council and above all do not attempt to bully or coerce because if you're wrong, or even if you're right you may create grounds for additional action (AKA cost the company a lot more than your pay check) in a situation that could have been resolved peacefully.
If you're ambitious you tell your boss "Here's what I came up with to save time and money, and it's so awesome I went ahead and installed it and everyone that uses it loves it.". If you're not ambitious then just piddle on the side lines and cry about FLSA while people that are ambitious pass you by and impress the boss with innovative solutions. Your call.
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.
I'd fire you for being an idiot.
I always laugh when someone pulls the "not in my job description" line. In the world of IT, a job description is more of a suggestion, not a contract. If writing some code is going to make your team's (and, presumably yours as well) job easier, why in Heaven's name wouldn't you do it? Besides, if you do it during work hours, then you're getting paid for it. Sorry, this is a no-brainer.
There are few non-political posts that actually make me angry just reading them. I am the owner and GM of a small firm and I also am head of IT. I have worked for large consulting firms like Keane and D&T down to small mom and pop shops.
When you're a payed employee, I'm a firm believer that your employer is entitled to EVERYTHING you can do. No job was ever beneath me. I was a Sr. Software Consultant for Keane Inc, but when called to, I played Janitor. My first position was at a small communications firm in Virginia - I basically ran printers. In my spare time, I learned VB 4 and SQL Server 6.5 (ugh!) and then offered to write some software for my employer out of my newly minted skills. I ended up the Lead Engineer at the firm because of my efforts.
I now own my own business and we have 16 employees. If I have an employee that has a skill I need, I expect them to use it, regardless if they were hired as a Janitor (and can code) or as a software engineer (and need to sweep floors).
As an employer, I feel your attitude is terrible. As a former employee, I feel your attitude is terrible.
But, for now, still a free country, so it's just my $0.02.
First, if your employer starts to play such silly games, you have a problem. If you're already I trouble with them anyway, the only reasonable thing to do is to consult a lawyer familiar with such matters and follow his advice.
In case you don't want to sue them and leave the company anyway, the only reasonable position is to let them have whatever they already have in hand. You can't take it from them anyway. Now to get back at them, produce some legalese statement that the code has been produced as ad-hoc tools for personal use of the creator and as a proof of concept. That those tools haven't be developed adhering to the relevant coding standards and not ready for productive use. Whatever the company does with that, they accept them as is and won't hold you liable for any thing bad happening as a result from using those tools in any way and that they will protect you from any liability claims resulting from any of your involvement with this software. Also add that this software needs to be reviewed and made ready for commercial use by qualified software engineers - which by coincidence you aren't, you're just a dumb L3 admin. If you feel nasty, add a NDA for good measure too. That won't help you, but is another hassle they'll have to resolve.
Make those statements broad enough, mention liability often enough and require a legal binding signature from the company on the contract. That will make sure that the legal department will get hold of the document and you won't have to hand over the code any time soon now. Even worse, any action in the matter on their side might be considered affecting the negotiations and review of the legal department. If they try to pressure you, write a naive question to legal asking about the progress. Bosses really hate to involve the legal department when they try to get things done.
With this, you won't get any money for the time already spent, but the company won't get the code either. You're in the comfortable position that you're cooperative and just want to handle this properly and protect you from claims. Nobody can fault you for not helping them and still, they don't get anything useful.
If they're really stupid enough to sign the document, you hand over those parts they don't have yet. Make sure you strip all useful structure, variable names and comment from it and run it afterwards through a code beautifier to make it look structured again. It's important that you don't touch files they already have, changing those would be obvious bad faith.
Now, things like those work in reality only when someone is maintaining the system. With the signed document, you as a L3 can't really be involved with that tool in any way in the future, you officially lack the skill. This has to go via software development. If the don't have any of those or can't bother them, you might want to suggest that a freelancing friend might provide the necessary skills - at slightly above the the going market rates for software consulting. I'm certain, you'll find a way of handling the doing in the future.
All in all, a company playing such silly games must be pretty stupid.
If your App is so good, you ought to have more than enough opportunity to make yourself indispensable. Our put yourself in a good bargaining position when it comes to upping your salary or getting a different position.
All in all, this is a situation with lot's of parameters.
It's all about common sense. You obviously feel taken advantage of, yet you did build said app on worktime and had the time to do so. Sounds like fun to me. If your in a flaky enviroment and nobody is around to appreciate your work and you expect bad vibes either way, it's basically your own luxury. I did lots of extra work and goodwill throughout the years, often with my adjacent not delivering his part. Nowadays, if a dealbreak is brewing, I have a private discussion with the person in charge, state my position and my observation and name my conditions and the time by wich I want answers, actions or written guarantees. If someone continuously wants to take advantage of me, or keeps putting me off with vague promises, I walk.
Can't you just talk to your superiour, and tell him how you feel? Say you need a raise for this sort of stuff, a bonus for the app and you want a budget for hardware. Be creative. Maybe they are willing to give you some extra vacation or something.
If they get pissy, start brushing up your resumee and looking for another job. Leave, and if they come back to you for maintainance of the app, ask for solid rates.
My 2 cents.
We suffer more in our imagination than in reality. - Seneca
One more thing:
I find extra training to be a nice way of getting value out of employers without them feeling bad about it. A job-related training and certification can be neat thing for both sides.
We suffer more in our imagination than in reality. - Seneca
It sounds to me like you traded some personal time to make your work time more efficient and productive. I wouldn't expect to be compensated for that, because as you said, that is outside of your job description and they were happy with you just running on the ragged edge and putting out IT fires all the time. I see two approaches.
Option 1 -- low risk, keep the status quo: Be happy that this software lowers your stress level and allows you to be more efficient and neither try to get compensation from them, nor try to give it away for free. Just use it as a competitive edge against anyone who might try to take your job.
Option 2 -- higher risk, potential promotion or pink slip: Show your boss how this has improved your efficiency, productivity, etc... and hope for/ask for a raise/promotion. This can backfire though. He may cut your department (even your job) or dump a bunch of new responsibilities once he finds out how idle you are now. He may add a bunch of unrealistic feature requests that now you are on the hook for, as a non software developer, with all your other responsibilities still expected of you. He may assume you spent company time or resources on work that was not authorized, even though you assert you didn't and punish or fire you.
BTW as a 27 year veteran of the sys admin camp, since when have programmers been "above" sys admins? Respect disappeared when we stopped being system managers and became sys admins. Instead of managing things we administered them sounding more like an admin assist. That's I'm glad my title is engineer or consultant depending on the day.
IMHO, your best chance at compensation is to be creative. Comp time? Time to monitor campus classes (or take them for credit.) Agreement to change your title without a raise. Title's look good on resumes. Job flexibility in general tends to come to employees who go above and beyond.
How about a signed agreement that the software and copyright are yours and that you'll continue support and development outside of work hours for free allows you to own the software and a chance to make it marketable.
If you're looking for cold hard cash I think you are out of luck. Let's say the college finds the budget. Why would they necessarily select your solution? Oh and BTW you can't be on the selection committee as you have an inherent conflict of interests. In fact even selection of your solution would create substaintial conflicts.
If you're a government run/owned college the rules will be even tougher on conflicts of interest. Be VERY careful in that case trying to extract cash from this situation. Otherwise a felony conviction and prison time are not outside the realm of possibilities.
Be thankful you have a job!
You said:
>I have a lot of down time
Why you didn't do it in your office "down time"? why you did it on your on time...
If you hand it over with/without compensation you will have to maintain it later on, are you willing to do it without compensation if it's the case?
If I got compensated for everything I've done outside my job description and / or above my pay grade, I'd be rich. Probably most everyone here would be too. Instead I'm employed. I have a good job where I am a key contributor to the IT team. I have old Employers asking me to come back while recruiters and several companies directly trying to lure me away. Why? Because I work hard, have a strong base of skills, and anyone that hires me can see that I will do whatever needs to be done.
I was hired in my current role as the "Windows guy", but I spend maybe less than 10% of my time on that. Does that mean I should do nothing else? Demand a raise? No, I'm learning all sorts of new skills and building my resume.
On the other hand, I have many friends (IT field, same local area) that cannot seem to find work. They either cannot get a job, or float from short term contract to contract. Why? Perhaps because they limit themselves and don't do that extra work. When you have two IT folks and you have to downsize the team by one, who is the boss going to keep? Sure you may be great at what you do, but your coworker does the extra. Is it fair? Maybe not. Go get a new job and pay your Union dues then.
Unfortunately as jhoegl says your SOL its directly related to your work so it belongs to your employers.
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.
Let them know about this: http://4.bp.blogspot.com/-knFMcwsAz1I/Ta59zGuKlpI/AAAAAAAABa0/2-jGaz3pOvY/s1600/read-between-the-lines.jpg
a) Just allow it, they don't have the money. Prove it works, by implementing and improving their cashflow. Hopefully you'll receive your payment in another way when they understand what just happened.
b) Quit and use it to start a competing company. Not so cool karma though.
A lot of people say you have the wrong attitude. I disagree! Companies today are looking at the bottom dollar and want to squeeze the most out of an employee. You need to know your worth and your company needs to value that. You should only be expected to do the functions that are in your job description which is what your pay is based on. If you are to take on new roles, then your job description should change and pay should change accordingly. Because you did this on your own time, this your product and not the companies. If this is a good product, you should pitch it to your company but make sure you control the code at all times unless they buy it from you. Tell your boss that on your own time you made this product that you think could benefit the company. Figure out based on your time designing this how much this product is worth and make a pitch. It wouldn't be any different then trying to sell a COTS product to him. It might turn out they they want to buy it. Or they may say the funding is not there. Or they may promote you and then tell you to go build exactly what you already did but on company time so it will be theirs.
Be straight with them but make sure you are compensated for your hard work. Be confident in your work but don't be cocky. There are a lot of haters out there, but you have your job in the first place because you have already shown that you are better than the others out there.
Good Luck
Eric
[Note: OP doesn't mention how big the team is, so I'm working on the assumption there is a maximum of 5 people in the department.]
First problem, you work in education, and at a small education institution at that. They're lucky they have IT staff at all. IT is drain on their budget, and you need to maximize their investment. I've worked in education before as a Tech, and part of the job is making stuff happen with a budget of $0.
Second problem, you have downtime. Guess what you should be doing with that downtime. Improving your tools and streamlining processes. You're not getting paid to surf the Internet all day, so you should be working on setting up a ticketing system, or whatever else might help you, in your downtime.
Third problem, your attitude is more suited for a large corporation. In small teams, you're going to end up doing a lot of stuff that's not in the job description as your expected to be a resource to be utilized and anything extra is a value add. In big companies, the buck can get passed, since it is probably someone else's problem. My suggestion is to find a job where your attitude works better. I would suggest looking at HP, or some company of that size. They have lots of well defined niches for people to occupy.
Ask them. The worst they can do is say "no" and you aren't out any money you weren't going to get anyway.
You wrote they don't HAVE a budget for buying anything.
However, if you can put something together for them showing them how much money your software will save them you might inspire someone to fight for you to eventually get compensated.
At the very least you WILL get SOMETHING by deploying the software rather than letting it sit unused if you do a good job of "selling it".
You will generate good will among your superiors which will count in your favor when it comes time for them to do something they can do for you.
You will get a resume stuffer.
Last and most importantly, you will make your own work life easier.
Try and sell it. If that doesn't work benefit from your work by deploying it anyway. That and your satisfaction/fun in doing is worth it alone.
If the product you produced is worth while, form an LLC, sell the software to your current employer and others and become self-employed. If that is not the case your probably better off just chalking it up to good experience. You could, alternately, open-source the product and give it to the world.
From what you said, they own the work since you did it on company time.
Awhile ago, I wrote some software that helped me on one of my projects. Nobody asked me to write it, but I had free time and a decent idea. I got jack squat for it, but I got some kudos from my boss and the senior programmer. And it did make my job easier, and helped the person who took the project over after I got transferred. Last but not least, it fed my ego. Pay or not, I have no regrets about writing that, except that the project, and therefore my software, got replaced when we modernized.
Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
Wow, there's lots here that you need to think about. Some good advice, some not so good. However, here are my experiences from being in this exact situation about 14 years ago;
1. If you seriously want to monetize your creation, consult an attorney.
2. If not, just offer it to your management.
End of story. It's really that simple.
Let me expound on it a little though. You have written an application that by definition is a vertical application: That is, it's been written specifically to combat challenges that you witnessed within your own team, but have not opened the application up to a wider market for comparison. By the very definition of the application you have provided, if your team does not use it then it is useless and then all your time is waste, no? If that's the case, is it not better that people benefit from the code you have created than to let it languish because you are too wrapped up in your own compensation to help... particularly as these are your colleagues and the people who you indirectly rely upon to succeed.
Although I don't know many details about your work situation other than what I have surmised from your posts, I can say this much; you are almost certainly a salaried individual who was hired for your brain. It doesn't matter that the scope of your job description is narrow... if your brain can provide something that the company or your group can benefit from, then whether you like it or not your job does depend at least in part on your willingness to implement. If all you are going to do is provide solutions within the narrow scope of your job description, then your shelf life in the organization and eventually within IT as a role is going to be pretty short. I constantly do stuff that's WAY outside my job description. That's why I was hired as a Windows Sysadmin and nowadays manage storage, infrastructure, routers and so on... and really only touch on Windows as a sideline. If I had chosen to remain within my job description then I would probably right now be fixing a print server we currently have going spastic in Mississauga, Canada instead of typing this response; we have a Windows sysadmin for that job now and she is doing a great job and will escalate to me if the problem goes beyond her capabilities. However, I have this morning drunk my coffee, fixed some storage replication issues and am preparing to run a test in our DR environment later this afternoon precisely because I extended myself beyond my original job description and did something that I found more interesting/better.
Fourteen years ago I was in the exact situation you're in now. I was working for a company that somewhat viewed IT as a necessary evil. As a manufacturing company they weren't really that interested on spending a bunch of money on resources for IT beyond buying us servers (grudgingly) and laptops (which ours were usually the hand-me-downs from upper management). Our helpdesk grew rapidly but our budget did not allow any application to properly manage tickets and thus things were getting missed, forgotten and dropped. And documentation of fixes was atrocious. In my spare time I wrote a pretty damned good helpdesk suite using Perl and MySQL, with a nice web-based front end. It was simple really, but targeted precisely the problems we had as a group. Now, quite different from you I made the choice not to bother trying to monetize the solution. I knew that this vertical application was very targeted, and while I had deliberately written it to be modular and thus flexible and expandable, there was no denying I did it for the benefit of the group I worked in, and thus indirectly myself. I knew by writing this I would gain only mindshare within the organization, but no money.
I talked to my manager and reached an agreement with him. Since it was developed on my own time I still owned the source code, but the actual implementation within the company belonged to the company but with a reciprocal agreement to allow me to merge modifications into my core source tree. That meant t
I wrote a small custom application where I work to manage/track stuff. It was much better than anything we were using before. And its been in production use for the last 3 years. I had some downtime at work, so I did it. I didn't feel the need to ask for comp since I was on the clock anyway, and I'm salaried.
I just updated my resume/linked in. If you can't get comp, you may have to live with a resume builder.
Writing computer code as a hobby can lead to a rich and rewarding life outside of work. There are many individuals around the world who write and share 'code' for 'projects'. Many 'online' groups are devoted to allowing hobbyists to work together and many hobbyists create life-long friendships based on what they call 'hacking'.
Like any hobby you must be vigilant not to let it take over your life (see part five - THIS IS NOT YOUR FREAKING JOB). Consequences for letting you hobby take over your life can include inconvenient added responsibilities at work or at home.
If you have already let your hobby invade your working life please read our pamphliet - SO YOU ARE A WEB ADMINISTRATOR.
Why did you create the software in the first place? If you expected to get paid for it, then you should ask talk to them about it before even wasting your time with the endeavor.
Now that said, I write system management utilities all the time. Hell, it makes my job so much easier. As far as I'm concerned, it *IS* part of the job description. If someone isn't doing it, it's because they are not an efficient worker. That tells me they probably aren't earning their current paycheck, much less deserve to earn more.
Most important reason should be: you think it's fun or a challenge to do. :)
If you don't want to hand it over, put it on a usb stick.
If you want money for it, let them know and come to a mutual agreement.
That can either be they will pay you for it, or they will not pay you for it or something in between.
At least you both know what you're up to
Privacy is terrorism.
Don't most job descriptions have a little clause something like "other duties as assigned"? So he's sitting around doing nothing on "down time", then takes on some "other duties" on his own off hours and expects extra compensation for it?
"Somebody has to do something. It's just incredibly pathetic it has to be us."
--- Jerry Garcia
Permission to embark on your own pursuits. At least that's what the company I work for says. Basically, if you ask permission to pursue the interest outside of the company then you can get a waiver to the clause which most companies have preventing the separation of professional and personal work. Indeed if your program was devised based on existing work conditions or motivations and the specification for such work came about due to your familiarity with the environment, then that will most likely preclude any separation; however, one thing that you can try is to ask (even though it's after the fact) and see if you can get a waiver. One word of caution though is that if you try and sell it back after the waiver then you might have trouble in that your company might see this as some type of subversive action. In the end it depends on how you approach your management. Hey, at least you enhanced your skill-set, and if you can make the components more abstract then they might be used in other ways.
If I had developed a tool that made my co-workers lives easier, I wouldn't be thinking "what do I get out of it". I guess that's the difference between you and me.
A Senior Systems administrator job is to make the computer system work correctly. This includes writing scripts and programs. You did what needed to be done, You deserve nothing extra.
The little money you might get from your manager isn't worth it.
If you have so much free time to write application, why not write an iPad/iPhone app and get paid for it.
You'd make more money than the pocket change your company would give you.
Instead of helping just your company, why not help all employees around the world that would
benefit from your work.
The "be loyal and get a promotion" approach is outdated.
Work for yourself on your spare time. It'll make you more money than any pay raise would ever give you.
I think your comment is one of the best. Adopting your view will lead to the most career happiness.
Other slashdotters will truthfully point out that there are job situations where going "above and beyond" go unrewarded, but I've been in organizations where it looked like that for long stretches of time, but a time did come for someone to get something extra and those extra things went to the people who went "above and beyond".
If that doesn't happen eventually, then you just leave for a job where it will. You just have to apply your own judgement of when to leave.
If you guess wrong, you don't get shafted. You get to take the skills you learned and practiced with you.
Atlas Shrugged is a book written by Ayn Rand. The main plot idea is that human civilization is destroyed because the small working elite which humanity depends on to feed decides to go in hiding an let all the lazy people (basically everyone else than maybe a thousand people or so, all of them Americans) die. Go read the wikipedia articles on Ayn Rand and Atlas Shrugged for more details.
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!
My main takeaway from Atlas Shrugged was this:
1) You can pay me to give a shit about you.
2) If I don't seem to give a shit about you, see rule 1.
3) Any unpaid shit-giving is purely voluntary on my part
a) and may be terminated at any time, without reason or prior warning
b) or if someone pays me not to.
That third one may or may not be in the book in some form. I felt it was implied.
"My God...it's full of trolls!"
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!
While, in the short term, you may not be able to negotiate the price you are hoping for. In the long term, an attitude of noticing and fixing problems that improve the quality of work your team, and your boss, are doing is always noticed! And with the right mindset, you can always turn that noticing into profit/ benefits/ extra days off etc.
And, if nothing else, it provides a huge boost to your CV when you are looking for your next job.
I came in as a developer to a finance team in international bank a few years ago. Going way beyond my 'job description' of designing reporting systems as directed, I always tried to understand the reasoning behind any new system or change requests coming from my bosses.
As a direct result of this, I have been able to suggest many improvements in the way those accounting and finance teams work. Making their lives much easier, becoming a bit of a finance expert in the process, and making them look so good in the eyes of their own bosses that a global project based on the system I designed and built has being implemented.
You may ask how all this has benefited me. It's true my rates only went up about 15% in this period. However, I used the value I had created as a reason to be able to change the time I arrive in the office to anything between 9:30 and 11:30 am. To me, those extra hours in the morning are extremely valuable. I could have also got other benefits from my extra value but this was the most important one to me and what I focused on getting.
Also, when I gave notice three months ago that I was going to leave . Even though they had hired a replacement, whom I have given full training. The fact that I have accumulated so much value and knowledge meant they offered to rehire me for a better role with an 80% raise!
I refused it (as the reason I'm leaving is not just financial). So instead, I agreed to come in as a consultant three times a week, still with the 80% raise, one weeks notice period, and with the clear understanding that as soon as I get a new job I'll be leaving.
These are not the kind of things that happen to people who want to do only what is in their job description.
It helps if you realise that your boss is also just a regular guy who is trying to get through his own work day as smoothly as possible as well. And who probably is having his own issues with his own boss.
If he has been trying to get extra budget for a new server because the last one is so old his iphone is more powerful than it is, and you come to him asking for payment (or a raise/ or budget for a new project) because you've created a nice doohickey that will reduce the amount of time you and your team spend doing a job which currently already leaves you with a lot of downtime. His reaction may be less than enthusiastic.
Quantum Physics a.k.a. sub-molecular statistics
You've identified a problem situation and as an interesting personal project you've written software that would address the problem situation and actually improve on process. Nice! Note the lack of a sarcasm tag here. It's really a compliment.
Side note - maybe you think about work a little too much when you're not actually there and being paid.
On to your question - what should you do with said software?
My personal opinion is that if management had an interest in improving the process this would have already come up in discussion. Since it hasn't, based on your summary, then they don't feel it's a priority to them. Unless you've got executive backing any process improvement project is going to fail.
My first step would be to ask your manager if they are interested in improvement. That will give you the first decision point in the flow chart. No = done. Yes = proceed with caution.
If the answer is Yes then you get to feel out what has been discussed in the past, what products may have been considered, etc. along with where the discussion ended. At this point you're now a sales guy.
To summarize what would be a long, detailed post from here forward you would need to 'sell' your software, first as a concept and then as a product. Remember that maintenance, support, upgrades, implementation, etc. would all be on the table. Plus the problem of conflict of interest will come up. You're an employee but you're also a vendor if they buy it. How would work on the software (maintenance,support, etc.) be handled when you're on the clock for your job? What happens when you leave? Could you still provide the support if you're working for another employer?
In this case I would recommend letting it go. You've completed the exercise of writing the software as a personal challenge. Actually trying to bring it into your work environment would cause far more problems than it would solve. And if they do look at bringing in software at some point do NOT put yours in the hat. If you're on the evaluation team you can use it as a personal baseline for the other products but realize that what you've written isn't going to be implemented and move on.
This is actually very simple. You work for a company. They asked you to do something. You did it. Therefore it falls within your employment unless you have a contract that specifically lays out that you will be paid extra for this. Also, I hate to tell you this, but junior programmer is a lower paygrade in the industry than senior SA. If you get a lawyer, as has been suggested above, expect to be out of a job and to never get another cent from that company, but you will still have to pay the lawyer. Now what you might want to do is negotiate to do the work on company time with all code being open source and donated - GET THAT IN WRITING! Think of this as a great resume-building task and turn it into a positive for both yourself and the community because you will never get paid.
You seem to be looking at this in the wrong light. You weren't asked to develop software, but manage/maintain & deploy servers. Walking in, studying the way a company works, writing software specifically to streamline their processes and then asking to be compensated for it is a deceptive tactic. As an employee, holding efficiency hostage is no way to conduct business. However, if you develop the software as part of your own tool set, under copyrights that maintain ownership as you see fit, that helps you complete your job more efficiently then you are a good hire with a dynamic set of tools. Not only is that a great resume booster, but if you display to your upper management the results of your initiative along with a positive attitude about how your programming skills can help continue to develop tools that adapt to their environment, increase productivity & decrease downtime, then good management will increase compensation accordingly. By retaining the software as your own, then you take the responsibility of maintaining it, and you can take it with you when you go or leave it behind without obligation to maintain or update.
"Other tasks as assigned"
things like improving processes in your department *IS FULLY WITHIN THE SCOPE OF WORK*
I've something similar. Last year, I started a prototype iPhone app for our company. I did it on personal equipment, with my personal development account, on personal time. I did not expect my boss to cut me a check for this. But I did find it likely I'd get various indirect benefits from it.
Even if I had only gotten 1 and 2, the work would have been worth it to me. Adding on everything else I ended up getting, it turned out to be some of the most rewarding time I spent that year.
So, propose the project in a way that will get the most goodwill. Don't hold it hostage, hope your boss doesn't read slashdot. Offer it freely. Worst case, they'll take it and you won't get anything for it... But you'd now have a great line-item on your resume to find a new job.
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.
Just don't read the book itself...you would not believe how poorly written it is. You can definitely tell English wasn't this woman's native language.
I would do the following:
1. License the software to your company for free, on a quarterly renewable license.
2. Prove it works within the business, it saves money and it increases productivity.
3. After multiple renewals, and when the business start depending on your solution, the u offer the solution with a license fee, by this point you have proved that your solution is the bees knees, and it would've been integrated way too much into the business for them to just say no.
This is the strategy I took in the past. Make sure u maintain copyright ownership and if possible, generalise the solution to be sold independently.
Do you really need to ask this here? lol
If you are old enough to work you are old enough to figure this one out on your own. Questions like yours remind me of really weird blind dates.
Just start using the product, seriously. It's already done and you can see a direct benefit to your day to day life. That should be reason enough. The goodwill you will create by implementing it for free and in your spare time will far outweigh any extra bit of pay you might be able to wrangle out of them. It shows you care about the team and their performance and won't let something like a little bit of money get in the way of your team doing a better job. And no, I'm not a manager, I'm a developer, I've just experienced a similar situation outside of work. Long story short, I wrote an application that a lot of people found useful but I didn't try and charge people money for it, I released it open source. I haven't had any financial benefit but the goodwill I've created in the community is much more valuable and is opening up whole new opportunities for me. Arguably this could have been the case if I charged money for it, but there's a lot to perception. Do you want to be perceived as the guy that won't lift a finger unless you pay up, or the guy that's willing to put in a little time for the greater good?
"I have a lot of down time. So I wrote the application."
To me, this reads like the code was written during company time. Outside of regular job-description or not, you're on the company dime, and work during that time - unless explicitly exempted - belongs to them.
Unless, of course, you'd like to pay them back for all that "down time"
You seem to prefer hiring people who run around, and never get anything accomplished. Well, great for your ego.
If the tech he is supposed to keep running is running, he did his job.
One would not fire a doorman for sitting around idle, just as one would not fire a firefighter who is waiting for the next fire.
So what is my position on this guy wanting money for writing software, whether it is doing in his spare time is questionable, since he admits to having idle time?
Well, I think he should negotiate a pay raise for exceeding his duties, but only after giving them the software. Holding it back is no good, since they might just reject it, and no-one would be off better.
If he gets no pay raise he should stop working on the software when on off-duty and consider leaving the company. Which is even more fun if they now have software that he could have supported best.
Hey don't blame me, IANAB
Endbraugh? Edinburgh? Like "Edd-inn-burra"? [n/t]
If you wrote it on their time, as they paid you then they own it. If you worked on your own dime but used their equipment, they have the right to have access it. It doesn't matter if it's in YOUR "job description". You're just being a typical under-educated moron.
hey, douche bag, not everything is about immediate payback.
I mean, by your own definition you have lots of free time. That means you are already getting paid to do NOTHING.
Think about that.
And how con you have down time but your team still have a lot of work?
Man, what a lazy douche bag you are.
Unless you are not getting paid for the down time, then I am wrong and I apologize.
The Kruger Dunning explains most post on
If yes, then it's invalid.
The Kruger Dunning explains most post on
Here is a good discussion on the topic, complete with analogies and a little humor- http://answers.onstartups.com/questions/19422/if-im-working-at-a-company-do-they-have-intellectual-property-rights-to-the-st/20136#20136
I have worked at place where if you had written something you would be disciplined, or possible fired.
Assuming you say the Matrix - You know that scene where Neo is just sitting in his cube, monitor off, bored? I know companies like that. You get efficient at your job, but stupid policy means you can't do anything else. So.. you're bored. And before the internet was in every cube, it was damn boring.
Usually this happen at mega corporations.
The Kruger Dunning explains most post on
So, I agree with your premise, that you shouldn't give out professional expertise/work for free. But you already did. You worked off-hours on a project you knew there was no budget for. It will help your team and you directly, and you've already done the work. Talk it over with your supervisor - you saw a problem, and created a tool to fix it in your free time. You normally charge X amount for clients, but you know there was no budget for this project. Still, you'd like to implement it - free of charge to the company. However, you do not want your scope of work to change without a discussion of salary re-appraisal for a new skillset. Before or outside of this salary/job responsibilities discussion, you can support this tool during work hours for 1-2 hours/week without disrupting your core tasks, and can take on further custom development outside of work hours at a discounted fee.
This one is a learning experience and a door to open a raise discussion. Next time, negotiate this beforehand, so your "client" gets a say in the product you develop for them, and you get a paycheck for said product.
Returned Peace Corps IT Volunteer
At my job I just suck it up and do the work they ask me to do. Current title has NOTHING to do with IT, Help Desk, or admin, but 80% of what i do at work is IT, Help Desk, and admin things. As well as programming documents, writting software... ect. I hate the fact I dont get paid like an IT professional. But I have been with the company so long it would be horrible to start out from the bottom at a new company.
It's PHP and MySQL. First off, this leads me to believe it isn't really worth anything. You not being a trained developer means doubly so. Keep to your job, and thank goodness you still have it.
Do you like poker, son?
You are absolutely right and a fool. You should never work on something without compensation but you did. You decided to work on your time, non billable, for a company that has hired you on a hourly wage, or perhaps salary. If it's salary, game over. If it's hourly wage you should have clocked your hours.
The best way to look at this is implicit buy in. Implicitly as their employee they are hiring you to do your job in the best interest of the company. They have not signed a detailed contract with you or had a Request for Policy process on what you may write for them as software.
If you decide to change the game you better be ready to walk away. You might win, but it will come at a high cost because you have them over a barrel.
In the end if you want more for what you foolishly already did on your own time then you need to make a win-win argument with them. You will not win by getting yourself reclassified as a developer. But you can negotiate for a pay rise, a title, or some other perk to complete this project in good faith since you put in the extra time.
In the future, do not exceed your mandate (as you see it) without speaking with your supervisor for extra compensation for you see as extra work or above and beyond. Or just suck it up.
You should already be working out a plan for advancement, more pay, and better benefits, because you can be assured as IT they (management) is constantly working to reduce your pay, not need you, and let you go if at all possible. Learning to speak Hindi or Mandarin will not save you.
Good luck!
"Don't fear death... fear not living..." -me
So what you're asking is basically "I can help, but I don't want to because I won't get paid for doing it, I'd rather sit on my duff and twiddle my thumbs, what do you all think?"
The answer is we think you're a lazy selfish bum. Your attitude is also self-defeating. Having done extra *may* get you rewards, promotions, noticed, etc. Having had the ability and opportunity to do extra and not doing it because it is "above your pay grade" will not.
How about a quid pro quo? Tell your boss you spent X hours developing the solution on your own time. In return for supplying them with a "free" solution, you will get an extra X hours of paid leave, call it vacation time or paid personal time or whatever, to be used at your discretion. This essentially "costs" the company no additional monies, and you are duly compensated for your efforts on par with the time you've invested. You get the benefits of providing an aid to your team by reducing their workload, get the benefit of more vacation time, and the company gets the benefit of a solution without having to fund it in the budget. I'd call that win/win/win.
Sell the code for $1 to a trusted friend or relative that is unknown to the company you work for and won't release it to the company you work for without compensation. Then you, as your trusted friend/relatives employee, will reap the befits of your previously agreed upon employment contract with trusted friend/relative if they sell/license the product.
This will divert ill feelings to the third party instead of you when the company finds that they must pay to continue to use the product.
That was pretty stupid of you to build the application when you were not asked to - OFF HOURS EVEN - and then expect to be compensated for it. Get real.
Here's the thing I don't get; why would you spend time on off hours writing a custom app for your employer when you have down time during your normal work hours? I would talk to your boss about finishing it and deploying it into production and then put it on your resume and move on with your life. Trying to squeeze a couple more pennies out of someone who doesn't seem to have it, to me, seems like a waste of time. The payoff for this will be at your next review or job when you can demonstrate initiative and an increased skillset.
At my company the law of the land is spelled out -- if you write an application on your own time and only using your person equipment, then you will own it. If you use any work related equipment or work on it during hours when you are on duty, then they own it.
What is the desired result here?
If you want to get the software in use because you believe it will help you and your team, then work towards that goal since it seems that result is worth it in itself.
If the software works and IS useful, then there's a result.
If you want to be compensated and recognised as a software provider (etc.), then you should probably do as others have already pointed out: agree on the scope and payment details before starting work. Not too late though - you can still approach the company with a proposal. Note: I mentioned 'the company' rather than 'the boss', since he may not have the clout to commit for the company.
Either way, if you present as an ultimatum, don't be surprised if the decision is swift and final. If you present as a discussion, everyone can save face without you having to leave their employ.
Good luck!
*Still* negative function...
Check your employment contract. If you weren't paying close attention, you may have signed something that said anything work-related you develop while working for the company, be it on the clock or off the clock, belongs to the company as a "work for hire". If you did, you don't really have a choice; either turn it over to them, or sit on it until after you've left the company for a certain period (depends on your state law and your contract) and then sell it/ release under GPL, whatever.
Me, I always look for those 'work for hire' clauses in my contract and strike through any reference to them owning my off-the-clock work. My employer has no claim on my off-the-clock time or effort, as far as I'm concerned.
Now, you probably should introduce the application to work and then use it as one of your arguments for a pay raise/promotion--"I go above and beyond requirements and make things work better around here, for example the Fleegleborg app for HR... ", add it to your resume, and if they don't want to negotiate better pay/perks, etc, look for another job. There are a lot of companies that appreciate employees that don't just "do the job", but make permanent improvements.
---dragoness
4c) they stiff you and you get thrown under the bus with nothing to show for it because your boss is a greedy bastard who isn't afraid to use his rank to push you around.
This may be a likely scenario with the economy and unemployment shifting the balance of power in favor of employers.
first, people do things outside of their job description all the time. it's how you get promoted. in my experience, you get promoted once you are already filling the requirements of the new position. "i've fulfilled my employment goals" sounds like someone that does exactly what's required and then reads slashdot for the rest of the day. that's a sure fire recipe to stay right where you are at in the IT world, and to be the first one they think of when layoffs come around.
you made it pretty clear the company doesn't have $ for anything, so IMHO don't even ask. there are all sorts of bad situations that can arise. for example, your employer starts to question if you built it on company time. even if you didn't, can you prove you spent no paid company time on this project? ... or they expect that you should give them a free license, and your refusal results in bad blood.
two simple options,
1) if what you have written is so useful, and general purpose, you can sell it outside, go for it.
2) offer it for free to your company
#1 seems unlikely. either it's very specific to your company, in which case it's of no use to anyone outside, or it's general, and there's 20 other packages that can fill the same role.
with #2, you get some good brownie points, even if they don't actually deploy it. you have something to point to at your next review. sure, they aren't obligated to give you a raise or a promotion, but the worst case is that you have something awesome to write on your resume and to show at your next interview.
Give it to them for free. Iron out the wrinkles. Make it efficient and supportable. But do it on the written understanding that they'll be a reference site for you when you move to sell the same solution to other organisations.
Because you never talked about a project/compensation before you started, you haven't any right to assume they will purchase it. You thought you would innovate and design this whiz-bang system all on your lonesome and then shop it around to them to convince whoever of the complete necessity of your soft. That's a great way to get a product to market in several fields, but in a uni setting, i'm not so sure. Everything is budgeted by committee and decided upon by a singular entity. You probably should have thrown feelers out in regards to how the other admins/sys guys feel about the necessity for your kind of soft... then gone ahead with a proposal and shown them a framework 80% through. The last bits are the most time consuming usually, tweaks and whatnot.
Unfortunately, having gone the route you have-- you can only hope they will accept your terms or you can negotiate something b/c you're in the position where you want to sell them something they weren't looking to buy. Flip side-- if you become frustrated/bitter etc that they don't compensate you, who's to blame, really? Good luck, but move on without animosity if things don't work out. Take it as a lesson that whiz-bang must-have features are perspective based. Before you can sell them a product you have to sell the idea to them. Can't show up at the door with insistence and a chip on your shoulder.
This situation occurs from time to time. A person starts a new job. He is paid a low wage because of his lack of experience. But he is ambitious. He spends time improving his programming skills. He notices a persistent problem and writes a program in his spare time to solve it. He offers it to his boss and the program is implemented. There are the usual hiccups that go along with implementing a new program but after a few months, the program is running smoothly. Efficiency increases, man hours are reduced and most people are happy with the changes.
His manager gives raises of 1 to 3 % with 5 % for exceptional performance. To give a larger raise, the manager has to fill out a lot of paperwork, making the case why the employee deserves more. Even then the raise may not be approved. After all money is tight and 5% is considered an excellent raise.
When the employees review comes due, he is called to the manager’s office and is offered the 5% raise. He will go from 24000 to 25,200 per year. The manager explains that 5% is the largest raise he can give.
The employee is disappointed. He protests. “Programmers make 60 – 70 k. I have proven my abilities. I expected a larger raise.” The manager says “I don’t have a slot for a programmer in this department. My manager won’t authorize me to pay you even $30,000 much less 60 or 70.
What happens next? Sometimes the employee keeps up the good work, with various results. Often he concludes that working hard is a waste of effort. Why work so hard when to company will basically steal his work? He becomes one of the drones, doing the minimum amount of work he can get away with.
If he is smart he looks elsewhere. In the company’s mind, he is a 25,000 a year guy. No matter how many new skills he develops, the company is unlikely to give him a substantial raise.
... if so, here's how it goes ...
as an exempt employee, if you invent something that is even marginally related to your field of work, your company owns it. period. it doesn't matter that you used your own computer and did it in your "down time". as a salaried employee, there's no concept of being on or off the clock. if you have problems believing that, consider if it wasn't the case. i'm at my employment at Apple, and i think of an awesome patentable idea, say "touch screen smart phones". i run off and patent it under my name, and claim that i was on lunch when i thought of it. see the problem?
even if you can't accept that , you clearly gained knowledge of a particular problem and a way to solve it from your time on the job. you could not have built that solution without the knowledge you gained from your employment. even barring THAT, it's unclear, but it sounds like you used company resources (during your "down time") to build or test your solution. even barring THAT, can you prove that you never used company resources?
so, go and try to sell it. if your boss likes you a lot, they will feel sorry for you because of your naivety and laugh it off. if they don't like you, or if you don't have an especially good relationship with them, you'll be canned.
to boot, if that company has some lawyers hanging around, you'll be sued and they'll take your source code. that would actually be flattering. most likely they simply won't care considering there are tens or more off the shelf packages that are more robust, cheaper, and offer better support than your solution.
There are 2 types of tech jobs:
1. Jobs where you're expected to do whatever it takes and you'll be rewarded with promotions and money for your extra effort
2. Jobs where you're not expected to go beyond the job description
I used to work for a major public university as a "Programmer/Analyst". I worked there for about 6 years. This was a Type 2 job. I did a lot of outside-the-box thinking, worked my ass off on projects that no one asked me to do, etc. My boss really liked me and encouraged me to do more. He gave me some small raises and job title bumps, but his hands were pretty much tied by university job descriptions and pay policies. Public universities don't have stock options. This would have been a sweet job if I just wanted to show up for work and enjoy the steady paycheck and the great health plan. But I wanted more challenge and more money, so I found another job.
A few years later, I found a job as a software engineer at a semi-startup SaaS company. This was a Type 1 job. I did a lot of outside-the-box thinking, worked my ass off on projects that no one asked me to do, etc. Executives recognized my efforts and abilities. Over the course of the next 7 or 8 years, I was promoted up to my current position as the head of software development. I really like my job. I don't work much more than I did at my university job, but the work I do is recognized and rewarded.
If you want a Type 1 job, find a tech company that's not too big with interesting products and a promising future. If you want money, make sure the salary is high and that you're getting good equity. Hopefully, your efforts will be rewarded. If they're not, go look for a different job.
If you want a Type 2 job, stay where you are. Or, go find a job as an SA/DBA/IT-guy at a university, law firm, medical practice, manufacturing company, or auto-parts reseller. Enjoy the steady paycheck and the good health plan. For a challenge, work on FOSS outside of work hours, and don't try to sell the results back to your current employer. Whatever you do, don't try to turn a Type 2 job into a Type 1 job. That's what you're trying to do now, and I guarantee that it will end badly.
1) Do the work - make sure it's undocumented, complex, impossible to maintain without prior knowledge and all encompassing. that is, all the companies systems rely on it and that it requires regular (daily?) input from you to keep operating
2) Make sure everyone in the company knows you did it for free, on your own time, for the good of the company (tell no one about the intricacies of step 1)
3) Wait 6 months
4) Go on vacation for 2 weeks - just long enough for them to know that the company stops working without you, not long enough for them to worry about needing to replace you
5) After you've settled back into work and everything is running smoothly again, but not so long that they have forgotten what a mess it was without you, mention to one of your bosses closest allies "in confident" that you've received another job offer at 50% more than your current salary
6) profit
...it sounds like this guy thinks he should be paid for doing nothing.
"and since all of my goals outlined since my hire date have been met and exceeded, I have a lot of down time."
Translation: My company is paying me to sit on my ass and I'm OK with it. But, I want to be paid AGAIN for using all that free time they're paying me for to develop something the company that is paying me needs.
If this guy came into my office, I would fire him. I clearly don't need him anymore since the work is done, and he's apparently not going to do anything else either.
I would suggest that this guy hand over his code ASAP before his managers realize they're paying him to do nothing and terminate his employment.
paintball
Even with doing all the work on your own time, if they know you have downtime it will raise suspicions that you're trying to double dip (sell them something you created on their dime), and may even result in an audit of how you spend your time. I doubt whatever they're willing to pay would offset the bad vibes.
Instead just give it away, sell it as an accomplishment. It's something you can put on your resume that will make you much more valuable to other companies that might want to hire you, taking initiative and streamlining your work is gold, and will probably impress your current employer which may lead to other good things.
The real money is in the maintenance. Give them the software free plus one year of free maintenance. They see if you software is valuable to them and they may get hooked. Be up front and tell them how much you'll charge for yearly maintenance after the first year, if they like the software they will almost certainly ask of modifications, where you make even more money. If they don't like it or use it then it's no real loss on your part since they were not going to pay any ways.
http://www.leadmagnet.50megs.com
One would not fire a doorman for sitting around idle, just as one would not fire a firefighter who is waiting for the next fire.
No, but you'd fire a doorman who refused to help another worker if he was on the clock and his supervisor asked him to.
You'd fire a firefighter who refused to do janitorial work around the firehouse when asked.
A lot of jobs you're expected to find something to do with your time instead of having "down" time, like making sure logs were rotated, poking around in logs by hand to look for anomalies, pounding on security, writing systems tools to make users lives easier, etc., etc.
I've been a programmer for 10 years now and usually its in the employment contract that anything you write related to the company's business while employed unless specifically excluded belongs to the company. In this case, it's directly related to their business operations and something they would greatly benefit from, so the copyright would obviously belong to them if he had an IP section in his new hire docs. I think he approached the company initially and they pointed to the employment contract which stated they own the copyright to his work and wouldn't pay extra for that since it wasn't something in their budget and not something they really want, regardless of how much he thinks they need it. The fact that he was paid to work for a lesser role, has no bearing on ownership of the IP if he signed a document granting his employer the copyright (and it's very likely he did).
If he didn't sign something explicitly, then varying on the state, his employer may own it depending on the conditions of his employment. The fact it's outside of his job description usually does not come into the equation since it is accepted that you have privileged access to trade secrets, etc.
One would not fire a doorman for sitting around idle, just as one would not fire a firefighter who is waiting for the next fire.
To be fair, some companies seem to think that if firefighters spend 50% of their time waiting for the next fire, then half the firemen could be fired.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
I've seen this happen.
My supervisor wrote some software at my old workplace that seriously streamlined the things we did because we were doing so much bullshit on pen and paper it was ridiculous, and soon this piece of software became critical not just for the actual work but for a timeclock and a dozen other functions. He was not in a programming position; he used his personal experience to create the software far beyond his pay grade and position. The off-site executives had no idea about it for a long time; when the suits found out about the software they took it over. When he resisted the process, the political machine kicked in and he was fired/forced to resign. A nightmareish third-party development house took over the app in theory - and proceeded to not do a damn thing with it.
Worse for us who were left - code maintenance went into a limbo that left us using a piece of software unable to evolve with our workflow needs. It degraded over time until it was barely useable at all; none of the many bugs and features that had been on his "to-do" list were left unattended. But by that point we were tied to this software. We'd have had to go back in time and redesign our entire previous paper-based process from scratch, losing really tremendous time and productivity in an already tough contracted environment. It was a total nightmare. I eventually left the company and I have no idea what happened after that, except that I know my project has long since been essentially closed anyways.
So: work it out ahead of time with your bosses that you might be interested and do not, do NOT, DO NOT let them know that you've written a SINGLE line of code while under their employ. There's a good chance they'll try to simply take it from you. Even if it's not in your contract, they may still try to make a claim. Even if you think they're cool, even if your boss is your bro. Get any deals, compensation, or stipulations worked out on paper ahead of time if you don't want to simply hand them your work for a fraction of what it's worth. And consider the life cycle of your software, and how it will impact the company and people who use it as a whole.
You should have used OTRS. Its free works great and does all the help desk and inventory tasks with ease. I did this one time with my own company. I started writing a help desk program and then found OTRS. I threw away my code and went with it with no regrets. 7 years later still running it and love it.
I know this ship has basically sailed and the conversation has moved on, but wanted to add my $0.02 to the mix. First off, I'm basically a dilbertonian Pointy-Haired-Boss. I'm also not going to get into the issue that you used your insider knowledge to custom taylor a statement of work to present to me. I have engineers who write stuff in their own time, like you have done. Most of the time it pisses me off. Not because they took the initiative, not because they wrote it in Ruby when we're a java shop, but because it didn't align with my priorities. I'd be angry at myself, because that means I wasn't clear what the priorities are. I'd be angry at the individual because they weren't listening and/or didn't come and ask for clarification if they didn't understand. So my questions to you would be: When your boss gets his ass chewed, is it because his team isn't efficient and streamlined? Has he ever mentioned your team spends too much time on process and workflow and not enough time "their respective punch lists" as you state? Does your tool leverage languages and software packages that you already have in house (care and feeding after your gone)?
For me, unless you're solving a problem that I have stated as a problem or in some way eluded to I'd say, no thanks, you're fired. Of all the holes in the leaking IT Bucket, is the one you plugged the same one your boss would plug?
So,
You wrote a program "way above your pay grade."
It has no user input.
It has no design or review from senior programmers.
It has no testing.
And your little jewel is so precious that you want to extort your company that has no budget?
I read about 50 of these responses and had to post. Please forgive me if I'm not adding value...
Alot of people mentioned that having alot of downtime can be detrimental to your career. I disagree with this. A good SA WILL have alot of downtime as the SA is skilled enough to recognize and develop solutions to streamline his tasks. I would expect my SAs to do this. If the solutions works and metrics are excellent then everyone looks good. If the SA is constantly skipping lunch and working 12 hour days to keep up with the load then, and I stress in most cases not all, the SA or team of SAs aren't very good. Take a good SA that has downtime and get rid of him. Replace him with someone green and see if he has the same amount of downtime. Experience tells me you will have a new appreciation for that "unproductive" SA.
If my administrators are good then I have room to expand as the company grows without spending additional monies on more staff and feel confident in my decisions.
Now, as far as the original poster is concerned, you are quote: SOL. Recognizing that you can streamline another process albeit more complex is part of your job. Back in the day we used to script patches across a network of solaris machines. Not once did we say "oh, we need this desparately. I'm going to write a script to handle this and sell it to the company". That's not how it works. One in the scope you mention needs to go higher up the chain than just your manager anyway. If you involve people outside of your immediate control (read: customers, internal or otherwise) there are many other considerations to address other than just handling data. Example: what hardware will it be run on and who's paying for it. Who's going to maintain it. Who's going to integrate new changes in business practices. Who are the target customers. Who's going to staff your new helpdesk? The list is long.
There are companies out there who have spent decades perfecting the art of managing helpdesk, change, asset, and service request functions and all of the bagage that comes along with it. If you seriously need this type of a solution then entertaining more than a quick one-off is most certainly warranted.
My advise is to approach the manager in a serious discussion about the need for such an application and discuss/demo your solution. You will need to show the manager how it's going to make money for the company. If the manager is worth his/her salt she will entertain the idea and discuss possible options to proceed forward. You may get lucky and have your solution used, you may not. Point is your idea will be considered but your code may be wasted effort. I would seriously doubt your solution would get implemented quickly. Perhaps at a later date as budgets are approved for the new technology.
Good luck.
You are terrified of getting screwed over by your boss. And that's the worst position to be in because you'll have nothing to show for it, but at least you weren't screwed over.
You'll have hours of work sitting on the hard disk of your home computer, everyday you'll have to deal with clunky processes, non-automated tasks and services and end users calling up asking where this or that service is, but you weren't screwed over. For your next performance review, you won't have to worry about your boss gushing about how you took initiative reducing the burden on your entire department, but at least you weren't screwed over. For your next job interviews you won't be able to show a fully functioning system which "streamlines several critical processes, allows for a central repository of FAQ, and provides end users with access to multiple systems all in one place," but you weren't screwed over.
In case the paragraph above wasn't clear: Only good can come about by going to your boss and offering to take on the project and using your personal code(assuming you are competent). In the best case scenario, you have your boss and the school by the balls because you are the only one who knows the awesome application which "streamlines several critical processes, allows for a central repository of FAQ, and provides end users with access to multiple systems all in one place." In the worst case scenario, you've got one hell of a CV for your next job. You've got one hell of an answer to the question: So what was your greatest accomplishment at your previous job.
Do you know why drug dealers have loyal customers? Because the first hit is always free.
if "not my job" was part of your vocabulary, there was no place on my system management team for you. if there was a job that needed doing, we did it. and, if forced, we even went to meetings
I suggest that you simply offer the system for use by the college. If whoever accepts it, and it works well, you will have much better job security than you had before. The current western system of "full employment" is not sustainable. There is going to be ever increasing unemployment, and, until we redesign the system, those who are unemployed are going to suffer mercilessly. Better to be employed for the foreseeable future, and then when we do finally redesign the system, you can quit and do whatever you like, as compared to most people, you will be rich.
Social Credit would solve everything...
Seems simple enough.
Sell it to a third party, either for cash or a royalty of future sales.
Have them sell it to the company.
You can arrange the introduction in good faith between both parties.
You ought to feel lucky that you have a damned job at all. Why didn't you do this work during all of that "down time" and show some initiative at work?
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.
"cannot be paid overtime" - No, they can be paid overtime, it's just not required by law (or rather by that law).
Also, about that high tech exemption: "a person employed to provide basic operational technical support" is excluded from the exemption.
I'm curious, Slashdot: Is a server admin "a person employed to provide basic operational technical support"? Ok, now is there a way to explain why or why not to a judge?
http://www.bclaws.ca/EPLibraries/bclaws_new/document/ID/freeside/11_396_95#section37.8 (the exemption)
http://www.bclaws.ca/EPLibraries/bclaws_new/document/ID/freeside/00_96113_01#part4 (the part 4 that the exemption is referring to)
If you are trading in NSE, BSE, MCX and in NCDEX then let sharegyan give you all stock trading gyan
You mentioned that the code you produced would save you and your colleagues time in performing the contractual tasks at hand. If the time you save exceeds the time it took to build the tool, you win, and now you can use that free time for whatever you want (you'll likely have to continue to look busy doing something to avoid annoying conversations with people who want to task you). Everyone has 24hrs in a day, every hour saved is valuable.
I very much agree with SomePgmr (2021234) on Wednesday December 28, @01:13AM (#38512122) - if you have a product to sell and they don't bite, they're under no obligation to buy. You'll have to figure out who officially owns what you created, but the other way to look at it is sell a slightly altered version to people who are not competing with anyone you're currently associated with, that's what they usually care about.