Solutions for When Managers Hijack Your Code?
Chiggy_Von_Richtoffe asks: "Two friends of mine work at a warehouse distribution center. First, they are customer service representatives, not paid developers. Secondly, the are developing the software in their spare time to make their jobs easier using MFC and HTML. Their bosses have already talked up the idea behind their backs, and then came back to them with a deadline to release the (in-house) software, on a national level. However, they haven't had time to release their first version, and the bosses don't even know what the software can do nor even what it looks like. There is a feeling that the bosses may pat them on the head and run with the software for their own promotions. What should they do?"
I'm not even able to figure out what question is being asked here.
It sounds to me like they've created something, probably wanted to show the bosses to get some love pats (btw, DON'T DO THAT! HAVE YOU NOT BEEN READING RECENT /. ARTICLES?). And now, they're upset because the bosses want to run with the
stuff. That's kind of what happens. Sounds like the "service reps" were a little
naive, and the bosses were greedy and stupid.
(Aside: I used to work in IT, and if service rep people wanted to roll their own, there was little to be done to stop them. But PHB's who were gushing over these home grown "apps" that were successful talking the rest of the company to adopt and deploy ALWAYS ended up costing the company tons of money.... the apps were never scalable, maintainable, compatible with anything else. I'll allow that it's possible but I've seen this kind of scenario many times, and they've NEVER brought positive ROI.
If they're doing it on their own time then they have control over it. They should license it to the company.
(Sponsored by cheeseSource for President 2012)
1. Make grandiose promises to inept managers regarding capabilities of software
2. Play Xbox until deadline for "RTM" arrives
3. Deny and involvement with manager's pet project.
4. Laugh uproariously as former managers are escorted off the premises by security for their complete and utter failure to meet deadline
Personally, I would do my best to make them look as stupid and inept as possible. You might just be doing other underlings a favor in the long run. They'll be much less likely to use subordinates in the future.
End of Line.
If it is done on their own time and dime, then they should register a copyright and use it to bargin a payraise/promotion.
If they are doing it on company time, then it probably belongs to the company, and they are probably screwed.
If I developed it on my "own time"- when I wasn't at work- then I would tell the managers that it's my software, and would be happy to liscense it to them, once I'm finished with it and have opportunity to test it. If I developed it "on company time when I was bored anyway"- then I would tell the managers that quality software takes time to develop, and if the deadline is unreasonable, warn them you won't be able to make it. If the manager(s) try to steal the credit, intelligent people will still realize that the managers didn't write the program. Also, if it's good enough to go to the national level, then the managers deserve some credit for recognizing that anyway. What sort of idiots the managers are will affect what will work and what doesn't. Your friends will know beter than me.
You are reading a copy of my copyrighted post.
Lets assume that they did it at work and are now given a deadline.
I say go for it.
Let your boss know that you need to dedicate more time to the project and cannot meet the deadline with the interuptions of your current job.
At 3/4 of the way finished send an email to your boss and copy HR on it asking to be reclassified with a different job title because the duties of your job have changed so much. (some companies call this a pay raise)
Never say it is done. We all know that revisions will need to be made and bugs to be fixed. Give it a long beta phase. I bet you will get lots of visibility because of the project. Once it goes to the support phase, you boss will still be clueless and you will be called for everything relating to it.
Now you have a internal project that the whole company depends on and goes to you for support. It makes your boss look good and gives you a great refference. You get exposure to the develoment process and customer side of programming.
Its a great resume builder and I am guessing this is just a temp job anyway. So once it feels stable, find another job. Then you can make more money when they contract you to fix, upgrade, redesign, or want to scale it.
Besides, if they are developers at heart, they would prefer to do the project than their real jobs.
Im a gamer, not a grammer major. This post is full of spelling and grammer mistakes.
I agree mostly, but I'll part ways in a few places:
If they want, they can build InHouseApp 1.0, Teh Suck Edition.
This is a bad, bad idea. Never do anything better than the best you can do under the circumstances. You'll never have the circumstances to do the best you can do period, but at least try.
I'll give you two reasons why. (1) you're not that kind of person. (2) it will come back to haunt you, either in job interviews, recommendations, or your some day in the future application to work on the team that maintains this when it's a multimillion dollar asset for the company (riiight).
Much better, in the long term, to take the "You're fired" route, unless you're totally living hand to mouth.
Finally, in case of termination or threats thereof, make sure they know how to reach their bosses' bosses.
Here's an interesting social psychology result that was published a few years ago. They had an experimenter describe another person to a subject. The subject was later asked to describe the experimenter and many of the attributes of the person being described were attributed by the subject to the experimenter. It turns out the human mind has a "birds of a feather" wired in: losers associate with losers, slimeballs with slimeballs. So you see, you never, ever build yourself up by tearing another person down.
At very least, the boss-bosses will conclude you're a loose cannon, and they'll be right.
So, no. Don't contact the bosses bosses unless there's something going on that is illegal or will get the company into trouble. You never bring your troubles to anybody but your direct manager, and then only reluctantly. Everyone has their own problems and would rather think about them than yours. Managers are looking for solutions, not problems. People are positively blind to problems until a solution appears. So, you gotta solve it man to man, right here at your level. The only circumstances you contact any higher ups is as the cavalry coming over the hill, never as the scout bearing bad news.
If you can't, and you are asked to do something you aren't willing to do, and you're sure the project has legs, then you resign, giving no cause at all for any dissatisfaction. This may do the trick in itself, but if not, then wait for your boss "Alice" to get in trouble. At that point, "Bob" realizes he's in trouble to. Then you approach Bob, and you do it this way:
"Bob, I hear the project's in trouble. I feel bad because the whole thing was my idea originally. Alice was gung ho about it, I know, probably too gung ho. I explained this was going to be a problem, but I think she must have thought I was maneuvering for more money. I don't blame her because she was trying to do the right thing by the company, but I felt under the circumstances I couldn't get behind the project as it stood. So we had to part ways -- amicably I hope. But I still feel bad. I'll be glad to come in and discreet look at the situation to see if I can't help you get things back on track. No, no, don't worry about paying me, I've got plenty of paying work, and it'll only be a couple of hours, and I can't promise anything. But I do feel responsible."
Now, isn't this a much more attractive scenario? Alice's perfidy and incompetence is exposed -- Bob has witnessed it with his own eyes. He also sees you're a decent upstanding chap. Alice has blamed everything on you since you left, but blaming problems on subordinates never cuts the mustard. She's been saying you're a slimeball -- if she only knew. You're not a slimeball, you're much worse: you're a cunning bastard who knows how to discreetly leave knives around where your enemies are most likely to pick them up and cut their own throats.
And while you can't count on being invited back, if you are you're in the catbird seat. If the project goes down the crapper, it's still Alice's fault. Of course, the project may go on to be a roarin
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
The company I work for currently has a home-grown solution/program in place. I use the program, and have found numerous bugs.
I fix show-stopping bugs (since I rely on the program, and major bugs make my job more difficult) as they come up.
I *really* want to do some more work on the program. Clean up the code (it is in PHP), comment it a bit, and fix some of the hacks that allow it to work to more permenant solutions.
I am not a developer for the company, though, and do not get paid to do development work. As such, as tempting as it is, I only touch the code if a new release completely breaks things. [Yes, I think it is possible the sole developer, who I think got a small contract from the company teo develop it, is not a developer either, and probably does not QA on any release].
Some things I could do would make my job easier, but I have no desire to do something "out of the kindness of my heart" for the company without some form of payment.
Sometimes I feel greedy for my position, but I also reaslize that if I write a good enough program to make my job 10% easier or faster, the company would be more than likely to cut my hours 10%.
I suppose that is a comment on company loyalty (going in both directions)
- (c) 2018 Hank Zimmerman
Okay, there is some back and forth over who 'owns' the code. IMO, you don't want to get into a pissing contest this way - the company can likely hire more lawyers, and make life crappy, even if you are ultimately the victor.
Take the bosses aside, off-premises (lunch hour, after work) and have a candid conversation. They agree to a contract with you to code said software. Be nice and professional and all that, and don't threaten. If they refuse, tell them ok, they can have the thing as-is, but you won't work on it any more, since you don't want to be accused of using company resources for a personal project (which is what it is unless the company wants to pay for it). Then deliver the POS code listed in earlier post - the 'rigged demo' version. It should do something marginally useful, but as little as possible. If they gripe, tell them you hadn't gotten around to making it fully functional yet, as it was a 'personal project". This gives you plausible deniability. Playing stupid is one of the only defenses against a malevolent boss.
Oh, if they do refuse the contract, find their competitor and offer it to them. Since your current employer refused it, it should be fair game, and they can't sue you over something they can't even identify.