I've been working at this company for some time in an administrative role. As part of my job, we – and many others – work with data which gets aggregated and refined by a centralized team of specialists. This process is only partially automated and therefore still quite heavy-handed. As I understand it, significant time is spent on the manual part of it all.
Out of curiosity I started building this small project in my free time just to see if I could automate it myself, since most of the data required is available open source. There are still many rough edges but what I have now is already superior to what we have at work.
Now I'm wondering about where to go from here - so far I haven't told anyone. Strictly speaking, this is not part of my job and I am "poaching" in someone else's area of expertise. I like my job and don't want to make enemies. On the other hand, I would love to see my solution put to use and maybe even enhance and/or expand it jointly with IT. However, this is code I wrote in my free time and I am rather unwilling to give it away without any benefit.
Any ideas?
After you tell your manager, you won't be in control of what happens next. Consider whether or not you should just keep this to yourself and treat this as a fun learning experience. Perhaps you can gauge their potential reaction by asking, hypothetically, whether or not they think working on automation might be a good idea.
I've done something like this before, but with the knowledge of the other people on the team, because we didn't like the manual work we were doing and felt that it was taking time away from other things we needed to do. Hopefully that is the case for your colleagues, or this will not be well received.
IME, 4 out of 5 times it’s complete wrong, feelings will get hurt. Engage your manager if you feel comfortable, but I would scale back the ambition/expectations and start from there.
> As I understand it, significant time is spent on the manual part of it all.
Get more details about the problem space before doing anything else.
Never told anyone on his team, least of all his manager. Spent a year or so doing no more than 10 minutes work per day. Learned Python and after a year revealed all and left for a better job. Apparently there was chaos afterwards.
So, either tell your direct manager and be up front about it, or say nothing and use the free time to do something useful.
Fist, a misconception, there is no such thing as "free" time (opportunity cost: whatever you do means you're not doing something else in that same time that might benefit you more).
You likely used an hour in which you were not expected to work as work time (as others pointed out, check your employment contract's IP clause and the IP laws of your country).
Write a memo that _proposes_ what you have already built and share it with your manager. If you receive positive feedback, ask would it be valuable if you went ahead and tried your luck, given that you had the idea (and stress that it won't impact your day job!). If you get permission, show the resulting demo, but only after a substantial piece of work of your main job has been completed. Don't give the impression you dropped everything just because you had an idea. Add the line to your CV/resume that you "Proactively conceived and implemented a system that automated a mechanical human process in another department on top of daily duties.", and it may or may not help you get a little bonus and/or promotion at the end of the year - ensure there are other good things you have done in the same year, in particular close to your daily duties).
The cynical me says they weren't smart enough to automate away their own work (so they could be assigned more, different work), so eff 'em, right? That is, until someone else automates away your job.
The business me says, you found and fixed an inefficiency, so capitalize on it. While you're at it why not add in extra shadow surveillance "features", and you've got yourself a unicorn. Get that VC money!
The "boss" me says, uhh... you did this work on "your own time" (as if there is such a thing) but with proprietary knowledge of my systems, "open source data" notwithstanding. So, yeahhh that work belongs to me, and I'll monetize it for myself thank you very much. That work product is not yours. Get the eff back to work already.
The "Overemployed" me says, hey, with this automation, maybe I can "work" two jobs simultaneously and pull double salary for no net increase in work. Get that easy money! At least until my employers discover the ruse and they both fire me!
Someone I used to work with had what I would consider a tedious portion of her job automated away by an officially sanctioned project involving multiple people in multiple groups. She thought everyone was trying to get rid of her.
I can't tell you how to communicate your intentions so they are not taken the wrong way, just that there is a reasonable likelihood that they will be.
Sibling comments address other pitfalls.
My advice: if the coding part is what you enjoy, pursue that. Go become a software engineer.
As far as ownership of this project goes, you need to think carefully before making any sort of claim. Depending on the language of your employment agreement, the IP of this project likely belongs to the company because it's based on their systems. "I did it on my own time" probably isn't going to hold up in a lawsuit either. And companies tend to have a lot more money to spend on lawyers than individual contributors, especially in cases where significant aspects of their operational model is threatened.
I don't think this would happen to you, but you might lose some other folks their job. Something for you to consider.
Most software engineers, for obvious reasons, fall into the category of the former. They will always be a minority of the general working population.
The toiling majority generally does not take kindly to having been made redundant. Proceed with caution.
After verifying in the server logs that the users never really validated data (always clicking “submit” after a second or two), I discussed this idea with our business analyst and got the go-ahead, and spent another couple of weeks to automate everything.
Long story short, it was a mess. There was actually one piece of the puzzle that they owned that I couldn’t automate away (essentially clicking a button). So when presenting it all to them (via email), the team lied and told us it “wasn’t working” and CC’d our managers and one level up the chain as well. This manual business process stayed with them. They kept the web app tho.
My advice is to make sure this kind of thing is known to management, and to make sure you can prove to them that this entire process can be automated without problems. Or let it go if you don’t think you can handle the backlash.
If you've come up with a way to make your employer's business processes more efficient, that's a good thing. You should share your work with the relevant people, talk about it with your manager and the people who are doing the work manually, and see where things go from there.
What will the reaction be? I don't know. In a healthy company with sensible people, they'll appreciate your initiative, and if they feel it's something that will help them they may adopt it (if they agree with your assessment of its value and usefulness). If the company you work for has a toxic culture where everyone only cares about their own short-term interests, it could backfire in some of the ways other commenters have suggested. I don't know how to deal with the latter case other than to just plow ahead anyway.
Think about this as one instance in a long term pattern of work philosophy, not as a once-off thing. If, throughout your career, you consistently look out for ways to improve things for the organisation you work for, including but not limited to automating manual tasks (and importantly, if you do so in a relevant and actually helpful way), you'll develop a reputation as someone is valuable and may be worth promoting or hiring to better positions where you can participate in or oversee IT projects.
In this specific instance being discussed here, the outcome might or might not be a good one, but as a general approach to your career I think yours is a good approach to take and will serve you well. But do communicate as much as possible with colleagues as soon as you have a proof of concept, since you need to validate it from an organisational as well as a technical perspective.
If they are receptive ... I am happy to look around for any possible solutions that might help you. Will let you know if I find anything that might interest you.
If my boss / other team sound comfortable I might share snippets or demo a possible solution a week later.
Otherwise if the response is not encouraging I will keep it to myself.
Show it to your manager.
Your job is to add value, that's it. You can add value by automating this process. You did it outside of normal working hours, so what? I'd guess most people here work extra hours.
Managers hate the second option because it's a step backwards in their careers.
Managers with a stake in the business will be more reasonable.
What I've learned with automating my own tasks (I am in an administrative role myself), is that there's usually not much of an advantage in telling it. Which is why nowadays I don't tell anyone and just use the added free time however I want. (well, part of the reason is that I don't like my team enough to share it with them, as harsh as it sounds. I liked sharing with my prior team because there I knew that everyone was doing their part...) The incentives usually are not set up well for automating your own (or your colleagues') tasks. Would probably be different if you were in a manager role, though.
When she got back the reports were a 5 minute job.
She proceed to use her now mostly empty day to have teach her to program. Then started taking on more responsibility in the company.
I got a 25% raise.
"Hey Boss, could I get a $50k bonus and a promotion with 20% raise if I automated 30 hours of work per week that someone else does?"
If Yes - get it in writing and say "Here it is!"
If Not - do nothing.
Acknowledging that, you have a bunch of really bad options and few good options.
The absolute safest thing you can do is to keep it to yourself, and to use it when you can to make your own job easier. If you’re able to find time to use the tool to load your own data because the team that owns this process is overloaded, then they’ll appreciate the relief, so long as your tool doesn’t break or violate their standing policies.
The best advice in this thread is going to your manager and asking for time to develop and demo an automation solution. No one wants to hear that you’ve already built it because that raises thorny political and management questions. The best you can hope for is a sanctioned meeting where you can demo the capability to your manager and the manager of the other team.
If you’re fortunate enough to get authorization to proceed, make sure to tell everyone that your solution only handles the common simple cases and that the tricky special cases still need manual review- an 80% solution. The achieves two goals: allowing you to get away with having bugs, and allowing the other team to believe that they are more specialized and, hence, more valuable now with your solution than before.
Even if your idea is good, logical and beneficial someone in management will take it as a slight that you had a good idea they didn't. Maybe you will have receptive management who are decent human beings, but in my experience you will be lynched for daring to step outside your lane.
Proceed with extreme caution. Your good feeling vibes about the effort you put in will NEVER be received the way you want. Management will see this as a slight and a threat.
With obesity, you'd only be hurting feelings. With work, you'd be threatening someone's ability to earn a living.
The fact that you're asking this on the internet, instead of a chat with a friend, sibling, parent or mate, means your social situation is not what you'd like it to be. It'd be a very good idea to address that, as soon as possible.
Consider what you already did as the prototype. Whether you believe it's already ready now, or isn't, is immaterial. No software is "done". It just whether it meets a set of requirements. No doubt there will be additional changes waiting to be done, and maintenance. Consider those to be part of the formal implementation plan.
Hopefully they will appreciate your initiative, and now you can continue to get paid for the thing that you were previously doing for free. And, maybe, you can help automate other things. This is good experience for you that you can use elsewhere.
The last thing you want to do is worry about compensation for the work you've already done on your free time. You're being penny-wise / pound-foolish about that. The good will you'll have with your current employer will far outweigh that.
And if it doesn't go as you describe, don't make a big deal about it, but clearly that's not department for you. Either transfer or go to a different company.
This exact scenario happened to me, and this is what I did; my future career benefit from it.
I was once a msp monkey and casually mentioned to someone, who described their job of doing various operations in excel, why not just write a macro and stop doing that? Work smart, not hard.
She went ahead, learnt macros and automated her entire job. She finished her day's worth of work in a few minutes each day. Her mistake, she started talking much more. Coworkers snitched on her but her boss checked if she got her work done and she did.
Boss was sneaky and asked her if she could do a little extra work for the day. She said yes and she completed it right away.
She then went on to basically automate an entire department out of a job. She saved the business oodles of money. Those people got laid off, but they really disliked losing their job. They firebombed her car middle of the day in the corporate parking lot. She ended up being protected by the police briefly. Couldnt tell anyone where she moved but she got an awful lot of money from her employer and was promoted.
Imagine the person who's job you've automated decides to quit.
"Hey boss, instead of taking the time and money to replace so-and-so, how about you just increase my pay by (percentage) of what the salary would be? I have a solution to this staffing issue you might be interested in."
Good luck with that. You just posted that you came up with an idea directly related to your job. Your employer will most likely block you from making it commercially available and claimnit as their own. Even if you offer to let your company use it, they likely won't reward you more than a pat on the back and a gift card or trinket.
Basically, nothing beneficial will come of this. The best you can do is let your manager know about this code and that they can use it and hope the other people aren't too pissed.
I do this when I get technical requests to generate reports. First time I run the sql/code manually.. Then at the third time I build a button, and show the requester the button.
Often they love me, because I saved them hours of work. And I can then we tweak it to make it even better for them.
I 100% don't go through my manager. They'd say no on the effort, or it would be coming top down to that co-worker. I'd rather be a hero to the co-worker. If I've got the skills to give them a better day, then they spread the love. Trust me, it comes back.
Otherwise your boss might get some minimal level of credit for this, but you're not going to get anything out of it, and there is every chance of it backfiring spectacularly for you if that would provide an easy way for the organization to more efficiently absorb 100% of your work product (or if it would limit embarrassment for well-connected managers).
Many companies and jurisdictions don't have an explicit intellectual property assignment. Let's assume that's the case. Let's also assume that you came up with the idea outside of working hours, and utilized your own software, equipment, internet connection, etc to build this thing.
Next, consider whether or not this invention of yours is applicable to others in the same industry, or different industries that need to accomplish a similar task. If that's the case, then you might have something valuable.
If you have something valuable, you might want to look into filing a patent. When you file the patent, and if it gets approved (can take years), you now have exclusive rights to the invention. Patents in software are more how the 'process' than the actual code itself. EG: "use computer software to take values from data source X, do something useful here, output results to Y."
You should consult with a patent attorney if you think it's really valuable. You'll need to perform some research to determine if the invention is already patented.
Now, once you've applied for the patent, and you believe that you don't have an intellectual property assignment favoring your employer for it, would be the time to offer to demonstrate the software. The software should not be present on company machines, etc. You probably want to work out the exact steps with your patent attorney on the protocol here.
Even though it make take years to be awarded the patent, if the patent is found valid, then you'll have coverage from the time of filing, at least in the US. This means if the company steals your idea and implements it themselves, they've stolen your patent, and would be liable for damages. What I think the best outcome is you agree to license the product to the company for $X/yr.
Now, all that's a heavy handed approach and might lead to litigation, so consider your best options carefully.
If you decide the above is too much, or the invention is not that valuable, or you think it's not worth the trouble, I would bring it up to management that you have an idea to solve the problem, but don't mention you have the solution. Negotiate a bonus, promotion, or raise for the implementation. Unfortunately for you, they can just decide to make you work on it during the course of your normal day, and you'll get nothing.
not every problem is your problem.
This presents no threat to anybody and allows you to gauge reactions.
As for yourself, you have an important decision to make. Are you a wolf or a sheep?