57

I am an employee at a Fortune 100 company. I just started at this job two months ago. Prior to this I was a consultant.

Today I had a meeting to start off multiple projects...the last project, which this post is about, is considered a bonus: it was "thrown out there" "in case you can do it."

To give some context, this is almost a "pipe dream" project for them. I am the third person they hired into this role since they created it. My two predecessors, my peer with a similar job role, our manager (who also managed the predecessors), our manager's manager, and our manager's manager's manager - who are all smart and capable, as far as I can tell so far - have so far been unable to complete this task.

They told me at the meeting that "We would really like to be able to do this, but so far, we've tried every which way and we can't seem to do it. It would be amazing if you could do it, but it's a plus, not an expectation." They gave details about what they tried, of course, but I'll leave those out here.

As they were describing it to me, I had some ideas of what to try- namely there was a project I worked on as a consultant, several months before I took this job, where I took an approach (both in terms of the method and the actual code) that seemed like it would work here.

When I got home, I tested it, not expecting much; after all, people much smarter than myself weren't able to do this. Since this is all on publicly available sources, I was able to do it from home without using company data or resources in any way. (Also, I'm salaried, so there are no "off hours" per se.)

It worked immediately. Some tweaking will be needed, but it's basically working already- I'm already at a stage that my leadership and peers claimed earlier today was not possible for us to accomplish.

Ordinarily, I would tell my bosses- but the method and code I used is proprietary- property of me, because I developed it when I was an independent consultant- nobody else was involved in its development and no one else has seen the code (my then-client saw and used the resulting data, not the code itself- the product was actually the data- not the same data as needed by my current employer but data that was collected in the same way).

Currently my employer is paying a 3rd-party vendor for the data. I don't know how much they are paying the vendor exactly but I've deduced it is at least $600,000 a year.

Right now, my plan is to just pretend I too couldn't figure out how to do this task (remember this is a bonus "would be nice" task), because I don't want to provide my employer with my proprietary method and code that is worth, based on my past earnings from this former client alone, about USD $45k/year, and evidently more in some applications. I do want my employer to have access to this data so they don't have to pay the vendor, but I don't want to screw myself out my work prior to this employer, either. One day I will leave this job, or who knows I may be laid off, and I would need to get back into consulting using everything I did before and more.

The argument could be made that my employer already paid for my skills when they hired me- but they did not pay for my proprietary tools I developed before joining them.

As far as I can tell, my options are: pretend I don't know how to do the (bonus) task; give my employer my proprietary tool for them to keep using even after I leave or they lay me off; ??? sell my employer the data but not the tool, same as the former client.

What are the risks and tradeoffs to consider when making this decision? What other options are there?


Update:

I told my boss about the solution and he laughed at me, saying that I must be mistaken and there is no way that anyone, especially me, would have been able to accomplish this task. So I guess my company doesn't want a solution anyway. oh well.

  • 43
    Whatever you do, don't lie. – Pop May 31 at 3:35
  • 19
    This seems like a legal question. You should consult a lawyer. – dwjohnston May 31 at 3:36
  • 16
    Another option is to sell a licence to them for your tool - but talk to a lawyer to figure out how to protect yourself and your work. – HorusKol May 31 at 3:45
  • 38
    Others are making $600.000 a year with similar software from only one customer, maybe you should rethink your career / business model... – Chris May 31 at 5:51
  • 13
    "It's basically working already." Famous last words in the software world. – bishop May 31 at 18:35
38

Talk to a lawyer first

Make sure you understand the legal ramifications of any actions before talking with your employer. Do this ASAP.

Research applicable company policies

Does your company have a conflict of interest policy that prohibits employees from acting as vendors to the company? Make sure you know the rules.

Decide what you're personally ok with

Don't give away the code to your employer unless you're ok with that. Don't sell it to them (to use forever without further fees) unless you're ok with that. Decide what your boundaries are before talking to them. Above all else, decide whether you're willing to quit over this issue. You can't fully negotiate unless you're willing to walk away (in this case quit). You have to decide if you're willing to do so. If not, then it may be best to just give your employer the software (if they ask) rather than risk souring the relationship.

Do your homework quickly

If your employer expects you to be working on the project in question already, then try your best to expedite investigating your legal options and the process of deciding what you want to do. Days are better than weeks. Hours are the best if feasible. You don't want your employer to be able to accuse you of not performing. It won't help your case if a legal battle ensues, and could get you fired. In addition, saying "I can solve this problem today" makes your story of having already developed the software more credible than if you wait a month to bring it up.

Don't try to take advantage of your employer

Don't lie and don't try to gouge them for exorbitant sums of money just because you can. While you might be able to charge a client X dollars, do remember that your employer is your employer, so the relationship isn't, and never will be identical to a contractor/client relationship. That doesn't mean they have a right to your proprietary code or methods, but it does mean that you still need to treat them with respect and loyalty within moral, legal, and ethical bounds.

Do protect yourself from being taken advantage of

Above all, talk to a lawyer if you haven't yet. Get everything in legally-enforceable writing when negotiating this with your employer. Don't give away the product and then demand a signed contract after the fact--protect yourself legally upfront before releasing any products or performing any services. This is for your protection and your employer's.

After all this, then talk with your employer

Once you've protected yourself legally and decided what options you're ok with, explain the situation and all options to your employer. Discuss your understanding based on legal and policy implications, and decide together what option to select from the options that you've decided to put on the table. As mentioned before, do not put any options on the table that you're not comfortable with.

Aim for a win-win

Do only what benefits both parties. If you can't reach a win-win, don't do the deal. Remember, at the end of the day you still have to work there, and you might want to be able to continue selling your product at some point in the future. Don't do anything that jeopardizes either.

Realize that you might have to head for the door

If the negotiation sours and you're not willing to work under your employer's terms, you may find yourself in a situation where it is better for you to quit your current job. It's up to you to decide, before beginning negotiations whether you're willing to sacrifice your current job if it comes to it to protect your software.

  • 8
    My concern would be this: If you come in the next day with a solution, saying "This is code I wrote last year", they say "whoa, that's awesome!". If you spend ten days finding and talking to a lawyer before you talk to them, they say "You've had ten days to work on this problem on our nickel as a salaried employee, but you swear you did it last year? Oh really?" If I were OP's manager, my trust in OP would be at its peak very, very soon after I had told him about the open problem. Make it as easy as possible for them to trust you. – Ed Plunkett May 31 at 18:20
  • 2
    @EdPlunkett Good point. I would definitely do the lawyer work on my own time and dime, and start on the other tasks for now. Only once I'd squared away the legal stuff on my end, would I start approaching this project, and then and only then do it on company time and money. – bob May 31 at 18:36
  • @JoeStrazzere In a matter of speaking yes, though hopefully it would be more amicable than that. The hope is that both parties either agree to a solution or both parties agree not to pursue it. Though there's the definite risk that the employer would still want to pursue the project and OP wouldn't and would say no, which might end up with OP heading for the door. So that has to be weighed in too. – bob May 31 at 18:38
  • 2
    @bob If he comes in the next day with a solution that he says he already had, they believe him and it's plausible to pay him for work he did outside company time, even though he is now a salaried employee. Because there just hasn't been time for him to write new code for this thing. If he comes in a month later with a solution and a lawyer demanding money for work that he claims he did before he was hired, he's may just damage his relationship with his employer and end up with nothing. – Ed Plunkett May 31 at 18:39
  • @EdPlunkett That's certainly true unless he can prove that he did it a year before. I think this comes down to the professionalism of both OP and the company. This is definitely a high-risk situation for OP. – bob May 31 at 18:40
49

Right now, my plan is to just pretend I too couldn't figure out how to do this task (remember this is a bonus "would be nice" task), because I don't want to provide my employer with my proprietary method and code that is worth, based on my past earnings from this former client alone, about USD $45k/year, and evidently more in some applications.

Don't start what will be a business negotiation with dishonesty. Instead, prepare yourself properly for it.

I do want my employer to have access to this data so they don't have to pay the vendor, but I don't want to screw myself out my work prior to this employer, either.

So, be honest. Make a detailed writeup of what your tool does (without giving the code away), outline the amount and complexity of work you've performed to make this, and outline that it is currently your own proprietary code from before you were hired.

State and outline how much this data was worth to your client, and outline how much customization you think this would need to fit your company's use case. Then ask them to make you an offer for the existing product.

As far as I can tell, my options are: pretend I don't know how to do the (bonus) task; give my employer my proprietary tool for them to keep using even after I leave or they lay me off; ??? sell my employer the data but not the tool, same as the former client.

There's a fourth and preferable option. You are honest with your employer and enter into a business negotiation for them to license the tool from you and make space in your schedule for you to code any customizations they need from it.

It's your code, under your ownership, built in your time and prior to any sort of assignment clauses you have signed for your current employer. This is no different then licensing a tool that provides this data from a vendor, only that you are the vendor now in this negotiation.

  • 116
    No, no, no, no, no, NO! Do NOT price it according to what you spent developing it. Price it according to how much it saves or how useful it is to new company. If OP estimates company pays 600k a year for data, then OP's program is worth no less than (600k minus cost of input data) per year. – M i ech May 31 at 7:54
  • 18
    I read your answer, I think outlying what it took (cost) OP to make the tool gives company great starting position to lowball him. – M i ech May 31 at 7:59
  • 10
    And don't disclose how long it took you to develop, as they'll get you to spend x months rewriting it for them from scratch, because x months at $y (of your salary) is much cheaper than $600k per annum, or even your lower charge. I'm not sure how I'd play this, having failed in the past with similar discussions. – Justin May 31 at 10:15
  • 23
    If it's saving them from 600K/year cost, then it is (600K minus input data) is the maximum that it is worth. You want to be on good terms with your employer, after all. Yes, you want to get paid, and you should get paid, but fighting for every penny in the bucket will very quickly make it not worth their while. OP can easily take a payday off of this one that will serve them quite nicely while also saving a significant amount of money for the company and making them happy that they "lucked into" hiring him. Better to go for that outcome than to drive it all into bitterness. – Ben Barden May 31 at 14:27
  • 4
    This is a legal issue concerning when the OP first began developing the application, and, most importantly, if they were required to claim it as their own before being hired! Doesn't matter if the OP started developing it 10 years ago or yesterday, it will belong to the company. That being said, the OP should not act alone on this and should not immediately try to negotiate with the company. Talk to legal first. – Charles May 31 at 21:02
5

You have three routes open to you.

  1. Say you don't know how to solve the problem.
  2. Solve the problem and become a hero at your new company. Explain to your manager how you solved it, using your previous experience. Ask for advice about how to make sure you get corporate brownie point credit for it (patent application, recognition, promotion, bonus, that sort of thing.)
  3. Do number 2, and ask for them to recognize that the code is yours and you want to retain ownership of it.
  4. Negotiate with them to license your code to them and get a yearly fee.

If it were me I'd go for item 3. Solve their problem.

The corporate brownie points can be worth a great deal long term, even if you return to being a consultant. It's worth considering.

  • To add to 3, have them sign a lawyer written contract that outlines ownership of the code, their use of it while your are an employee, and their use of it once the employer/employee relationship has ended. – Myles May 31 at 14:24
  • 5
    5. Open source the tool, put it up on GitHub/GitLab and let the world benefit from your experience – Underverse May 31 at 15:44
  • 2
    @Underverse Exactly. RedHat (owned by IBM) will be only too happy to benefit from your experience. Everyone else will be expected to pay. Giving away work for free is for mugs. – gnasher729 Jun 8 at 16:16
  • ask for them to recognize that the code is yours and you want to retain ownership of it is a TERRIBLE advice: you can't work on something while employed by the company and claim IP ownership afterwards. Even if you do it on your own time, you have to be up front as it will be difficult (or even impossible) to prove that you already owned the software. – Stelios Adamantidis Jun 25 at 13:47
1

They are paying you for your skills and experience (Unless you join as fresher). So as per your experience, you should design and build the tool for them from scratch and don't give the code and your proprietary tool to them.

That's how it happens when you leave an organization right, you take the experience and skills with you, not the code and tool which you have worked on.

Or just tell them that you already have a solution ready and it cost you this much time and money ask the money to them if they are happy win-win for both, but this can go horribly wrong.

  • 2
    if you do that then you may have a hard time proving that you actually already had written the same thing before if they sue you for using the tool after you leave this company – eMBee May 31 at 15:12
1

Since you used your previous work to do the job and you own copyright for it,

  • Tell them honestly about your findings, and
  • Offer them to buy your previous work for an appropriate value.
  • If you are/were planning to keep profiting from your knowledge, either
    • Set the price to include
    • Offer the same service to them like to your previous clients, for an appropriate price
  • Of course, they may be angry, but if the knowledge is worth so much more than what they would pay you for the time it would take you to complete this particular job, they will not be able to argue with the fact that their salary is not an adequate compensation for it.

The 2nd option would put you into an ambiguous position: you will be providing this service as a contractor but do the rest as an employee. But if it's as valuable to them as you said, they would almost certainly choose the first option -- since it's cheaper in the long run, would be easier for everyone and they would not alienate such a valuable employee as you are.

The price won't include your further tweaking done for hire but given its immense value for the company, that shoudn't make a difference.

It doesn't matter if the components are open-source and probably under free software licenses (but of course you need to mention any encumberances, if they apply, in the offer). Your job picking and combining them is what adds key value here.

If the first option is chosen and you will keep providing your expertise on this project, this may also be a reason to renegotiate your salary at the company since your value to it has just risen considerably. But if working on that project further does not require the likes of scientist-level domain expertise (i.e. something that can't be taught to an employee within a reasonable time), or if the work you were hired to do already requires that level of expertise (so your value didn't actually rise, you just saved your company a tremendous amount of time and effort), a one-time sale transaction would likely be a better deal for everyone since otherwise, they could prefer to rather teach it to someone cheaper.

  • 1
    @JoeStrazzere OP doesn't have to say that. Copyright is held by the developer who wrote the code - this is not a controversial idea. And that's what OP said he did. Copyright follows from that. – Beanluc May 31 at 20:33
0

Be careful. I don't know where you live but I believe here in California anything related to your employer that you come up with, even if done on your own time, belongs to that employer. On several jobs I have started I have been required to list "previous inventions" so they know that anything I created while employed with them belongs to them. I once left a job because it was in a similar vague field to work some friends asked me to do for their startup, so any product could legally have been claimed by my current employer.

I would immediately go and say "I have a solution to this, the solution belongs to me.". You can then negotiate whether they will give you some reward/bnus for that or tell you to re-invent it on their dime. But if you suddenly come up with the solution while you are employed by the company without telling them beforehand, then it belongs to them and you will get nothing and lose the right to use it in any other situation.

  • 5
    The OP says they developed it before they were an employee. And were contracted to do so as a consultant, that would be enough paper trail to show it doesn't belong to the employer. – Vality May 31 at 19:20
  • 3
    ...and one hopes that the OP uses source control even for his personal codebase. It's hard to argue with a check-in that was made before the OP even joined the company. – BittermanAndy May 31 at 22:21
  • My point was to be careful because even things you think might be your property, may not be. That company I worked for had a cadre of legal people to vigorously enforce IP and NDA contracts and often just the threat of litigation was enough; all the check-in logs in the world won't pay the $200/hour a lawyer would charge to defend you. The OP needs to tell his employer the situation now, and get a written acknowledgment of the situation so even if he gets no compensation he retains ownership. – Tony Jun 3 at 15:30
  • I've never been asked to list previous inventions or anything of the sort. One wonders why anyone works for these companies with clauses like that. – Max A. Jun 4 at 12:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.