What made me quit
I was working for a company (name omitted on purpose) that was (and is) still running on really old technology. Perl, Vanilla PHP, jQuery and all intertwined in a complicated and awkward manner using tons of IFrames, 5-second polling to mimic real-time communication, etc. π§ββοΈ
But that's all okay. The company was founded 15 years ago and the software grew, adding things to existing blocks. Also, the company does not have the time or know-how to develop upon new technology. Due to massive client pressure. β²
I was extremely frustrated in that job, because time pressure was crippling which forced me to deliver very sub-par results, building on sort of outdated tech. I wanted more. Deliver great software, built on current technologies.
Even though the company depended on me a lot, I decided (for my own sanity) to leave the company and dedicate myself to learn about all the tech I wanted to learn when I was still employed.
Unemployment
I am extremely fortunate to have built-up somewhat of a financial cushion π° in order to survive a couple of months. But even though, leaving my job with a steady income and do "nothing" meanwhile was a big gamble.
At first, I didn't even know where to start and I was frustrated with the JavaScript ecosystem. I had a hard time to find out how it actually worked. But I eventually got the hang of it by following tutorials and learning by doing.
But it was blissful! π€© Just amazing to be able to discover all kinds of new technology I so craved. I mainly focused on Vue.js and Node.js. I started writing blog posts about the stuff I learned and -finally- understood.
Coding with uncertain results
At some point I arrived at the state where I thought "Hey. I know everything I need to in order to re-create the software I was working on with the company I left with 2019 technology." π€
It is a chat system π¬ which has many other components included (video, co-browsing, screen-sharing, etc.). I decided to start with the ground work. It had to be secure and perfect. Authentication should be well thought-through, as well as the mix between real-time and other web communication.
I actually started the project in order to have something to show for in my portfolio. After I "finished" what I was shooting for, I thought that it had potential to actually replace the company's legacy software.
Therefore I spent a lot more time and effort on the project, in order to take care of edge-cases, avoid future problems, solve existing problems, now tailored to the very company I left months ago. I did this in silence and I was very uncertain if they one day would go for it to purchase the code from me.
The negotiation
One day when I found that the project was advanced enough to provide a solid ground for future development on the software, I contacted my former boss. To be honest, he wasn't thrilled. At first he thought I wanted to create a competition for his company (which I also could have done). π±
After explaining in more detail what I was working on, the more convinced he got that maybe it was worth to take a look at. I got invited to the company for two days in order to present my development work and convince the existing team that what I was building is great work. π
I was extremely nervous, because a lot of time and effort went into this, and a lot was riding on it. But at the end, I seeminly convinced the team to get aboard.
I negotiated with my boss the terms and price they'd pay for what I built. They ended up paying 20000β¬ for the code as it was, plus 10000β¬ for one months of further customization on the project and training the team to learn to code on my basis. π
Take-Away
If there is a take-away from this story, I think it is that sometimes it's worth to take a leap of faith and throw yourself into the unknown.
Because if you do a great job, believe in yourself, work your ass off, and deliver something you honestly think is worth it... Then maybe someone will pay for it.
The point I tell this story is to motivate other developers to take a step back, invest in themselves and eventually it will pay up. πͺ
Disclaimer
Some might argue there are legal gray areas here.
You should never publish code that seems like it copies a company you just left, without consulting with them. It could be illegal, depending on your situation.
Also, donβt sell it to someone else. That for sure is illegal!
Top comments (46)
Not sure about UK, but in the US you would've been sued up and down if you'd try to use your software as competition especially within just months of leaving. On top of potentially losing everything you own, you might have ended up having to fork over the code you made for free. Companies in the US have you sign NDAs, IP, and No Compete contracts that would be very hard to argue in court that you did not use knowledge you gained while at the company to create your project. Still, good for you that it worked out. I just wouldn't want other people getting this idea in their heads without understanding that it would likely blow up in their faces.
Never signed anything π
Yeah, in the US, even without signing something, it could fall under a trade secrets clause, which isn't specific to technology. It's just a warning to people that in general something like this is likely to come off as hostile. If you're in a dead-end job, leave on your own terms (be it freelance or a new job), but not with the goal of leveraging your former employer.
Huh. Seems like in the US itβs a little bit more strict then
Certainly, in general, employees get the short-end of the stick in on a lot of issues that larger corporations are able to weasel around, but in this case, you have to ask yourself, "Would you have built this if you hadn't worked there?", "Were some of your features based on what you worked on?", "Were some ideas for execution uniquely representative of the company's product?" Not specific to yours since I have no idea, but in a lot of cases, it's fair to say that a company's investment in their product should have some protections from rogue ex-employees, and drawing the line between intentions can get pretty gray in court especially if you're going to be standing opposite a team of lawyers.
At the end theyβre happy that I provide them with a solution they need. Iβd not consider myself a rogue. Especially because I wouldnβt have published it if theyβd have refused.
Iβm on excellent term with my former boss. Nobody is mad.
Yes, I understand. I did my best to indicate that I was not speaking about your specific situation/experience. Sorry if it came across that way; I just wanted to make those points because people see the post title and go "aha, I can do that too", and odds are it's not going to go down for them like it did for you. I think the more important message in your post is finding the courage to leave a job, investing in self-training if necessary, and looking towards the future.
Youβre right. I should add this to the article
Added an explanation of that in the article π
That must've been a great feeling to recreate the company's entire stack in just a few (unpaid) months. That's incredible, albeit one of the greatest power moves I have ever heard about!
Thanks for your kind words. Yes, it is a great feeling replicating a company's entire stack in a few months. However, the software is not all that extensive. It's just a lot of legacy code where probably half is for the trash can, and the rest is obsolete, and code desperately trying to satisfy clients (event though there is not enough workforce for it)
Very inspiring story Marc, I hope I can take a leap of faith just like you did someday. Congratulations!
Thank you Lucas. I hope you get the chance to take your leap of faith. Believe in yourself, and the rest will come naturally.
Hello, I want you to know when you were learning new tech stack, what kind of project you build for sharpen your skill. I also want to know what tech stack you choose for your software and why you choose them.
Thank you for sharing. Your story is so inspiring π π
I learned on Udemy. They have amazing courses. I always just picked the best rated.
Nice article Marc! It you have more guts than many to leave a stead income to expand and continue your skills. Some might call you crazy, I call you inspiring! Keep it up. I hope you find the role you can be excited about.
Thanks for those amazing words, David π€©
Very risky move your, especially because of all that uncertainty, but definitely an inspiring story! It made me think of all those indie game developers (or indie developers in general)... all those devs who work on ideas for months or years and have no certainties if they will make any euro out of that.
Thank you for sharing this, and good job π
Wow, impressive. What about now? Are they happy with the new code?
Thanks Laurent. I'm now in the "1 months making adjustments and teaching the dev team how to operate the new stack". But they seem very satisfied with the result. I can't wait to see it in production with real clients using it.
that's really awesome, good luck then!
Thanks π€©
Hey Marc,
This is a great story. You are tough. Very motivating.
Hi, good story.
Whilst I can't put a legal perspective across, being UK based. My understanding is unless you stole the exact source code, you wouldn't be liable. Even if you did "borrow" certain elements of source code, if the end product was different I don't know what they could do. There are some very obvious reasons why this is true. I am not a lawyer so don't take this legally.
First, you cannot patent an idea. Indeed, patenting software is more to do with devices. Sure, patent wars are ongoing with mobile providers but that proves the point in case.
You can protect intellectual property, but if another company came up with exactly the same business model and almost identical looking software, I still don't know how much you can do about it. Why can't Microsoft get rid of Open Office? I am not saying they have tried, but open source developers can get found.
You can protect branding and content through copyright/trademarking.
It could be your employment contract restricts you undertaking/creating similar products, but this is something all employees should review before signing any contract. You have to protect yourself. The chances are, as you build domain knowledge, you may end up working in similar companies. Why let yourself get denied that opportunity?
Often, your style of coding is enough to cause a seeming clash with other code bases you may have worked on. I am almost convinced I will have written the exact same framework code for different clients. Think in terms of an infinite amount of monkeys writing Shakespeare.
Sometimes, often, for framework type stuff, I will give my code to employers. It just saves time. This in itself could appear that you have code which your employer has.
Finally, it happens to be, that in many industries, many companies are all solving the same problem at the same time. In finance, many banks are having to adopt regulation at the same time. So there becomes quite a high chance, companies could have similar code without ever having exchanged ideas.
Normally, my clients has strong restrictions on data for compliance purposes. This doesn't mean, that sometimes, I won't work on technical ideas at home, write code and then give it to my client. When deadlines are tight, I have done this. Never use their data, but simply creating a plugin, like a data adaptor.
None of the above doesn't mean an employer won't try to sue you, or some ambulance chasing lawyer won't take the case on.
I think the points people made about being careful, are very wise. It is unfortunate so many people have to restrict themselves so much just to get work.
Inspiring story Marc! I'm currently learning lots of new things outside of my job as I have the same urge as you! I want to create awesome things with the cool technologies that we have. I can't quite leave my job yet, but I'm committed to making it work with the time that I have outside of the job.
Keep on going. Investment in yourself is the best bet you can make. Good luck πͺ