Ask HN: Selling software to company I work for as an employee

37 points by apohak 3 days ago

I am based in the UK. I work as a software/automation engineer in department A. Recently, department B bought software from a big-name company which uses yaml files to steer/control automation framework (think IaC). I don't work for/with anyone in dep. B, but they showcased their new software to few different departments (including mine) - hence I learnt about that software. Now, during presentation, it came up that while controlling everything through YAML files is amazing (thanks to git versioning, webhooks etc.) it was brought up that manging 100s of files and lines of code will be difficult due to amount of places to change single value. When discussed, it was stated that there is no plans to create any frontend by that company to manage all those files and this seemed to upset a lot of stakeholders. The software has been purchased and it's going to be rolled out anyway.

I see this as an opportunity to step in and sell the idea of creating frontend for this tool, however I don't want to do anything for free. Since I don't work in this department directly, I don't know how I should approach this. Perhpas I should create MVP first and engage with some stakeholders and see if they are interested?

Hobadee 7 hours ago

Since you already work as an automation engineer, it might be a bit harder since programming is probably part of your job, but this is what I did at a previous company: I wrote up a contract basically saying that since programming large programs was outside the scope of my normal work, any such programs I wrote would not be considered "works for hire" (a legal term in the US) and not property of the company, but instead my own property that I could sell elsewhere if I wanted. I was specifically allowed to use company resources to develop the software (including reasonable time my manager signed off on) and in return the company would get a non-exclusive perpetual right to use and modify the software as they saw fit.

This contract was a win-win. My company got the features they wanted as part of my normal employment, but I also got to keep the idea and monetize it outside the company if I wanted to. The company didn't need to worry about licensing if I left since I granted a perpetual right to use/modify.

Unfortunately for various reasons the project never got completed and I never monotized it, so I can't tell you the real-world outcome, but I do know we were all happy with the terms going into it.

  • noduerme 6 hours ago

    Mentioning that you negotiated to keep your code from falling under "works for hire" does a lot of heavy lifting in this (very well packed) example. I recommend that the OP dig into what "works for hire" means in the US to get a sense of what they should negotiate [to avoid].

    It can definitely be a win/win for the company as well as for an enterprising engineer. The general idea is simply to go outside the scope of your contract and do something the company didn't ask for, in exchange for a bit of money and the right to reuse whatever code you developed for them.

    Avoiding works for hire contracts is how I built a 25 year war chest of reusable components and frameworks, each piece commissioned to an individual task but each used and modified in my next jobs for my next clients, until many versions later I would update my original clients with them.

    My advice to OP is to always present your ideas to owners or managers with open ears, and explain how it will help the company. Secondly, never do the work for free. Thirdly, always retain your rights to your ideas and your code when you're working on something creative. If they have a problem with that you can also explain that it's unlikely anyone else will either fill this niche to save them money or that any competitor will ever actually know about or use what you will build for them, but that having it at your disposal is a way for you to continue increasing their efficiency (which is true). It's also a way to make them beholden to you at very little initial cost.

BobbyTables2 17 hours ago

IANAL, but if you are trying to profit from this, you’d probably have to leave the company and make the pitch from outside.

And if they think you developed it while employed, things could get nasty. Don’t want them thinking you’re selling their IP commercially either. Formalizing the idea while employed and then taking it outside could be trouble. Probably worth discussing details with a lawyer before attempting.

If you develop an MVP while employed and gain stakeholder acceptance, you likely won’t see any huge financial gains. Maybe a promotion, pat on the back, small bonus, or can enjoy the prospect this being more interesting work for a time.

  • jeanlucas 6 hours ago

    Using "IANAL" outside the subreddit doesn't work that well. It's a forced acronym that in the context of the community asklegal makes sense

    • aed 6 hours ago

      That acronym goes back to Usenet days and is really well understood, particularly in places like HN. It’s existed for 100 internet years prior to Reddit.

      • closewith 5 hours ago

        Yeah, IANAL predates social media, HTTPS, WiFi, let alone Reddit.

andyjohnson0 7 hours ago

> I see this as an opportunity to step in and sell the idea of creating frontend for this tool, however I don't want to do anything for free.

Your employer is unlikely to appreciate your trying this.

> hence I learnt about that software

Your employer paid for the software, and you learned about in on their time. They pay you a salary to work for them. Its really that simple.

Best I can imagine working is for you to suggest you initiate a project to build in-house tooling as an employee, and maybe try to get a bonus or promotion out of a successful outcome. But its their decision, not yours.

  • tonyhart7 6 hours ago

    I agree. I side with OP of course but bringing this topic must give mixed reaction that you don't want at work

    I personally would still build it but sell that to another company

madisp 7 hours ago

Quick suggestion: maybe contact the vendor company and offer to create a frontend for them instead as a contract thing?

---

I've gone through the exact scenarion in your question though, this is roughly the path I took (Estonia & EU, YMMV in other jurisdictions):

- start by going over your contract - is this overall even allowed? Some companies capture all IP you create 24/7, in this case you'll need to get the contract changed or get an exception

- even if your contract allows doing other work (creating separate IP) outside of company time, still ask for written permission from your manager and possibly a skip level or two. I got a written email from my VP of eng and CTO before proceeding.

- you will probably need to _completely_ separate your own work from the company work. This means using your personal laptop, never working on this during work hours, etc. Separating this sometimes can be hard, especially if you get something like a bug report from your employer - you can't work with it until you're off the clock.

- I also completely cut myself off from the purchasing decision - I let them know I was working on a project, gave them a landing page and let the purchasing team do a decision completely on their own

- if you hope to build a business out of this it's best to be upfront about it, e.g. by telling your manager that you might leave to focus on the business full-time if it takes off

All of this assumes you're on good terms with your employer overall.

GianFabien 7 hours ago

IANAL either. I believe that UK law would be similar to that in Australia.

To the best of my understanding, as an employee the IP of all work you produce is owned by the company. Even as a contractor you need rather specific contracts if your work for hire is not to be owned by the client.

My first reaction is to advise you to let the idea go. The most likely outcome is that you will do a huge amount of work and then get caught up in legal nightmares. Getting legal advice up front won't spare you from more drama down the track.

Assuming that there are many companies that use the same software and have similar needs, then you have the option of leaving, developing a MVP and then selling it to other companies first and eventually to your ex-employer. Even then there are risks of being accused of taking proprietary information to enrich yourself. Another scenario is that the big-name company could beat you to the market with a poorly designed but aggressively marketed alternative to your solution.

  • mattmanser 7 hours ago

    You're wrong.

    In the UK, if you develop it in your free time it's yours, as long as you don't use company equipment.

    However! It can be a clause in your contract to say sompany owns IP developed in free time, and is enforceable. Sometime there's often an extra clause saying unless an exemption is approved by the board (I assume to stop hirers informally saying 'oh don't worry about that', being legally valid).

    I have asked companies to remove that clause and had it removed.

    In another company a friend of mine had a small side project that was making money when he joined, and that company were fine waiving the clause. But those were smaller companies who were reasonable, bigger companies might not wiggle.

    • ptero 7 hours ago

      IMO virtually all tech companies have such clauses that IP employees develop belongs to the company. For example to prevent employees from using their knowledge to build a competitor and and steal clients or similar products at half price. My 2c.

      • williamdclt 6 hours ago

        I think non-compete clauses and existing company IP are what prevent employees from doing this, not the “anything you do in your free time is our IP” clauses

    • chrismorgan 6 hours ago

      Yeah, it’s completely wrong for Australia too. Never actually seen such a clause in an employment contract either, though I’ve only ever worked for smaller companies. I did once encounter a legally-unenforceable non-compete which I got removed easily. (Wish there was some sort of penalty for illegal contract clauses, because of their chilling effect.)

      • worthless-trash 6 hours ago

        Its not completely wrong, I have seen it in two of my Australian employment contracts.

        • chrismorgan 5 hours ago

          Reread the comment I was responding to. It’s about what the default is.

    • octo888 6 hours ago

      IME it's a very common contract clause

      So de facto they're not that wrong (contract law is law too)

ptero 7 hours ago

I would not do it on the sly.

Unless the company bosses are behind this idea you will need to overcome both legal problems and selling problems. For example, instead of buying your product the execs could fire you and hire someone else to do this internally. I see only three ways you might wing it:

1. Talk to your execs (ideally, the CEO) directly and sell this. On failure, be prepared to work on this internally. If so, ask for more money/promotion, which may not work but will not hurt either.

2. Call the other company and offer to improve their product for more money/promotion.

3. Get a techie friend to front for you: he approaches your company, you do the work, he shares the money. That's really grey area (being charitable). My 2c.

schnebbau 8 hours ago

Bad idea, no one will like that.

The only way I would pursue this is if other companies have the same need, and you can sell the same thing to them too.

eCa 7 hours ago

> I don't want to do anything for free.

It’s called ’salary’. Unless this type of thing is common in your company, it sounds weird.

Maybe float the idea to your boss that you would be willing to do something like that, if dep B starts expressing a need for it.

DecoPerson 7 hours ago

Just write a clear and concise summary of a contract.

“You get: [these features]”

“I get: [money and the IP]”

“We measure success and payment milestones are triggered by: [Clear KPIs and deadlines]”

Make sure the 1-2 page doc has your name on it, and ask your boss for permission to drop a paper version on the desks of the higher ups.

You can be employed and enter into a separate contract.

Edit: I just re-read the original post and saw that the OP is a software engineer. Ignore everything I said. This sounds like a terrible idea. You’ll burn all your bridges if you pursue this avenue.

  • williamdclt 6 hours ago

    Why would the company say yes? Seems to me they’d say “no, but that’s a good idea we’re going to have you do that as part of your employment”

    • DecoPerson 6 hours ago

      If it’s outside your job description, you’re not obliged to do anything.

      You’re not a slave. You can say no to your boss. You’re on equal footing (though your boss generally has more power/wealth so can bully/manipulate you). It’s up to your boss as to what they do when you say no. If you’re a good employee when it comes to your usual responsibilities, then they’ll keep you.

      If your boss tells you to write software as part of your job and you’re not a software engineer, you can tell them to get stuffed (or sign the contract and both parties benefit!).

      Edit: I just re-read the original post and saw that the OP is a software engineer. Ignore everything I said. This sounds like a terrible idea. You’ll burn all your bridges if you pursue this avenue.

      • williamdclt 4 hours ago

        Yeah, OP being a SWE I don’t think many people would be convinced by “it’s not in their job description”!

        They could make that into a high-visibility project showing leadership blahblah, making it into a promotion/raise opportunity rather than a $ opportunity

codingdave 6 hours ago

You sound like you want to be an entrepreneur, but are stuck working in a corporation. Because the corporate answer is: "Seeing and working on improving your organization is already part of your job. Talk to management and get a project rolling." Do it well, get promotions and raises. And then the entrepreneurial answer is to skip all that, go build it yourself, then sell it to many organizations. But you probably cannot do that as an employee, depending on your employment contract.

So sure, the surface levels answers are to talk to a lawyer, your manager, etc. But the deeper answer is to decide on and commit to a direction - are you happy being an employee, or do you need to walk out and start your own thing?

(And as a side note, don't build a startup that is a front-end to someone else's product. It may fill a need, but you are going to be spending all your hours keeping up with their changes, and ultimately your success is tied to their decisions and they could wipe you out just by spending a month improving their UX.)

chiph 6 hours ago

Dave Plummer went through this while at Microsoft. He had a product he was selling (a shell extension to handle ZIP files) and got a call out of the blue from a M&A person at Microsoft wanting to talk about purchasing it. It got strange when he told them he would walk over to their office to discuss it.

He said he pretty much took their first offer as he didn't want to endanger his position at the company.

https://www.youtube.com/watch?v=4j0yI41e0j4

ksec 7 hours ago

You need to speak to someone / your manager that you can trust.

Sometimes simply asking this question is a red flag because you are suppose to develop for the company. They could give you three months time and have your current workload to somebody else while you deliver.

The thing to ask isn't how you can sell a frontend to your own company. It is how you could use this knowledge to show your skills and get a promotion, bonus, network or whatever you want to your advantage. That is why talking to your manager is important, assuming you trust your manager.

segmondy 4 hours ago

I reckon a good 9 out of 10 times, this will turn out poorly. Ask yourself if you are willing to lose your job, or get sued. What if the company assigns you to the software development team and your new project is to build this. You can be promoted against your will, you can be asked to build this. If you say no, you get fired. If you say yes and fail you get fired. As someone that has been in the industry for a while, I have often seen plenty of software that my company bought that I and the team could do better, we joke about it, but we don't. If we really hate the software, we build an alternative (rarely) and give it to the company, when we have , it cemented our position in the organization.

la_fayette 7 hours ago

I would propose that you built it as an open source software with permissive license. This can be done during work, later you could add paid extensions etc, when not working for the company anymore.

interestoo 7 hours ago

I was in similar situation, at the time I was based in London working for company doing industrial control (so not software company but company using and selling software), maybe your case is different but if I was advicing to younger me I would advice to convince your departament to le me deliver this during work time or not to bother. I don't know if you have a clause in your contract that everything produced during work time or on work laptop automaticaly belongs to your employer, but even if you don't- weight if you'll get through politics to get your thing actually sold and not trialled or evaluated and then not actually rolled or simply ignored.. Anyways, good luck! Please post when all is over, I'm very curious if this was only my workplace with weird dynamics or maybe me not navigating :)

ojciecczas 7 hours ago

Talk to your manager. Offer to write the frontend tool for a bonus. Show the money. Show what is the company cost of not having the tool, what is your time cost to write the tool. If the benefit is way above the cost, propose some one-time bonus for you when you do it.

jannw 7 hours ago

"I have a friend who is developing and marketing a tool that solves the exact problem you have identified - let me put you in contact with him - perhaps the two of you can come to an arrangement" I can be that friend, if you don't know anybody else ;-)

drekipus 7 hours ago

In the true business sense, you can see a need and fill a need.

But the thing to remember is that the other stakeholders have decided that it's not worth the investment for them. It might've upset others in meeting, but that's a temporary thing.

Especially when this is new fandangled software, they're not willing to risk the development costs just to make some front end.

You must look at yourself as another stakeholder in this business. You could ask for extra resources to build a front end and get more responsibility, but that's only if you can argue that it's worth it to the company as a whole.

Most employment contracts have some sort of line along the line of "All work you do this property of the company" anyway.

Usually the only way you can do this, is by making something on the down low and selling it to competitors

z3t4 7 hours ago

You should talk to your direct manager and tell him/her that it's something you wish to work with, and you can do that instead of whatever you do at your job right now. But if your boss says no, you can ask if it's OK to do it as a side business. It's important to get on paper that it's a side business and your boss has approved it. If your boss also say no for your side business then you can still do it on your free time (IANAL) your employer can not decide what you do with your free time, but if they find out they could fire you, so it's probably not a good idea then to try to sell it to your current employer - or you can lose both your job and the sale.

JonChesterfield 4 hours ago

Writing the software for your company is selling it to your company in exchange for your salary.

Either you fancy writing some code and pitching it to your employer, which seems like donating it with extra steps plus some lawyers, or you want to build something for the other department and the main challenge is persuading your boss that's a good idea.

Brajeshwar 8 hours ago

Besides all the good advices you will get here, including the legalese, a not-so-often mentioned thing will be “How good is your boss?” If your boss, the decision maker, so desires and agrees - this will be that you will work independently as a contractor and you earn better then being employed. I've seen that it is very common for contractors in UK to have their company (or Consultancy) and your company employ you thus saving on taxes. Your company gets into an agreemenet with your current employer/company and you work as the consultant/contractor.

yusina 7 hours ago

> I don't want to do anything for free

I don't follow. That's your employer, no? Do they pay you a salary? So you are not working for free. Sounds like this kind of thing is part of your job. Maybe another dept. but it should be possible to work in another dept, part of the time. Talk to your manager, perhaps a manager in the other dept and if it makes sense for the business then this should work out.

If you want to do this on your weekends and then sell it, that doesn't sound healthy.

moltar 7 hours ago

I see this as an opportunity to not use YAML and use a better IaC framework like AWS CDK or Pulumi where you can write expressive code in many languages and can use full language features including DRY declaration of constants in a single place.

Gys 7 hours ago

I suggest to create a company with a partner to build and sell it. I would be interested. But your contract should allow working for another company.

Edit: actually, you would mainly focus on selling it

  • chachacharge 6 hours ago

    or just help a friendly, reputable, firm handle it and take a commission or other favor later

Charon77 4 hours ago

You can sell program to your own company IF you develop it outside of working hours.

KoolKat23 7 hours ago

Conflict of interest, they won't appreciate that approach.

Better to try develop and somehow leverage it internally or leave and sell it back.

erickj 8 hours ago

The legality of who owns that work will depend on your work contract and your local employment law.

You very well might create something, turn around to sell it to them, and find out that your employer legally owns the copyright to the work even if you did it on your own time with your own resources.

Employment law is nuanced.

Tldr; bring your work contract and your idea to a meeting with an employment attorney and ask them who would own this work.

tgsovlerkhgsel 6 hours ago

It's a shitty situation, and it seems unlikely that you will have a good path to monetize your work - and approaching it wrong can cost you your job.

If it's something that's specific to your company and there is no market outside it, you have one customer that at the same time has strong leverage over you due to your current employment.

If it's something that could be generally useful, you likely still don't have a market: if your product ever became popular, the big-name company selling the original software could add it as a feature or paid extension and would have a huge marketing advantage over you.

The company you currently work for will likely not be willing to pay much for your work, and might take offense and fire you if you try to negotiate too hard. They could also decide that your new job is writing this thing...

You could try to leverage it for a bonus or promotion or something like that. That's unlikely to capture a significant amount of the value you provide, but so are the other options.

If you think the idea in https://news.ycombinator.com/item?id=44080196 will fly, you could try that. I think it's unlikely to fly but it's the option that likely pays out best if it does fly, and if you approach it carefully ("this is outside the scope of my role and my department, but I could do it in my free time"), you might be able to pull it off with limited risk.

You also need to understand how decision processes work at your company and optimize your proposal for it. If it's more work to get legal to approve the contract with you than to get approval to pay 10x as much to the original vendor to add something half as good as a feature, the vendor gets the job.

chachacharge 6 hours ago

you can help to hire a firm you are friendly with and let them win this time. this is what i do when im in this situation. at least someone wins then

andrewstuart 6 hours ago

Department X or department Y makes no difference.

You are an employee, they pay to do work for them making stuff.

My advice: put your time into some other project.

Honestly, chances are they just don’t care that much about this problem anyway.

It’s a distraction, forget it.

Mountain_Skies 7 hours ago

Is there a market for it beyond your employer? Ownership issues aside, if you're creating software for just one potential customer who hasn't even solicited you to create it, you're running a very high risk that they won't purchase it, even if it does fulfill a need they have. At least if there are other potential customers, you have a better chance of your time not being completely wasted.

cess11 7 hours ago

Build a PoC on your own hardware on the weekends, approach some other customer of the same software. Don't mess with your own organisation unless necessary.

Double check that you didn't promise not to do this in your employment contract.

joshstrange 5 hours ago

All decisions/actions have a “ceiling” and a “floor”, the best possible outcome and the worst. Let’s consider them for this situation.

Ceiling

- Company buys your software

- You sell it to other companies

- This becomes your full time job

Floor

- Fired

- Trust lost, future advancement blocked (not saying it’s right, just that it could happen)

Also important are how likely the outcomes are. Looking at the above and my own experience working at companies, having side projects, and selling them, I think you are much closer to the floor than the ceiling (in probability).

Here are some hard truths:

- Even if something is a win-win, many companies will not see it that way. They often react negatively to things they don’t understand or are uncommon.

- Depending on where you work it might be impossible to develop a side project without the company owning the IP (sometimes you can get a special waiver but not if it has overlap with what your company does)

- How capable are you of writing this software and are you really sure you have the problem/solution well understood? I don’t want to be rude but it sounds like you saw one presentation and think you can build and sell a solution that’s not spec’d out. I’m also not sure if your skill set, have you created software like this on your own before?

- Just because people are enthusiastic about the prospect of this tool doesn’t mean they are willing to pay for it (or will even still be interested 1 day, 1 week, 1 month from now)

- Developing software for a company (as an employee) and developing on your own are 2 different sets of skills. There is overlap, but it’s not the same

- Sales/Marketing and running a business are a completely different set of skills. It’s rare to have a developer who can also do this well. Not impossible, just rare.

- If you aren’t passionate about this then even if you are successful, you will not be happy. Employee? Work on whatever, no problem. Contractor? Work on whatever. Sole proprietor? Make sure it’s something you enjoy/care about. Maybe you do care about YAML file GUIs.

At a minimum I would wait 2-4 weeks and gauge interest in the tool again. See if people are still super interested or if it’s “Huh? Oh yeah, ehh, it was just something that would be cool but we wouldn’t pay for it”. It’s easy to get caught up in the moment, think everyone is as excited as you, then find out later they don’t care. Also use this time to see if the project still interests YOU.

If, after all of this, you still want to pursue this then make sure to check your employment contract and even if there is nothing about side-projects/IP get _written_ approval from your manager.

Lastly, ignore the people here suggesting you do anything “sneaky”, like the “I have a friend who is developing software that does this”. This is no way to live and those chickens will come home to roost. Either the company will catch you and/or you will be committing some kind of crime if you do obscure it.

In all honesty there is a _very_ low chance that this is worth pursuing. I know personally how easy it can be to get caught up in an idea like this but the chances of it working out are low. Maybe in a better world they would be higher but I’ve seen enough to assume that the company will respond _poorly_ even to a well reasoned and mutually advantageous offer. It sucks, but that’s just the reality of most places. Even if your company is not like this, it still might be better for you to just pitch working on it internally and leverage a bonus/raise/title.

nivertech 7 hours ago

U should be loyal to ur company and do it for free, especially that it’s such a low hanging fruit - 30 min using some AI tool

If it’s really that valuable to that company, u may get a bonus, salary increase, options grant, or a promotion

Otherwise, choose an employment arrangement where u fully compensated for yr time (and materials). Either an hourly employee or a consultant/contractor who bills hourly

Even better an engagement where u keep all the IP, and may resell to other companies/customers, but judging from ur description that’s far from being the case