thanks for great suggestion and pointers, well, my thought were evolving, something is itching me, I cant help posting here. Well this is not exactly OS development topics but I hope it wont make others made since I posted in general rambling:
so bit more of what happened was at my current worksplace, we are working from project to project trying to deliver the next and upgrade HW, SW solution aligned with the partner release. Management is trying to make more and more things by less and lesser resouces. Intially it was a vibrant environment: lot of growth, good benefit salary, but over the years, management got greedy, many knowledgeable people left except few, lot of people coming and started breaking stuff. There are not much technical training and meetings anymore, it is just now a meatgrinder place hopping from one project to another repeatedly doing what we have been doing over and over for years.
About 3 yrs ago, they have us adopted some crap automation suiteware written in python. I dealt with adoption for 1 1/2 years and lets just stay it is like a gigantic, horribly bad software managed by one person, with no coding quality, no standards and nothing like using good coding principle. Eveyone is free to add whatever crap they feel like to. After I am done, I swore to my manager I ain't gonna deal with it.
About year ago, I started working on alternate solution, it is similar to the way it is written to the crap suite-ware but far better: simplicity, code-reuse, documentation, lot of enhancements etc etc., After about 10 months of grueling work to make it stable, many enhancements, many features, test after test, finally i am starting to see the horizon where I am seeing extremely stable well-documented API and time is nearing that I will not be needing to write major API-s instead just fast automation test script developments using it.
Well, the scale of project is currently: 3.7M of code (could be much less because of binary files generated by interpreter) 22000 lines 150 api functions Well this is not much, but I would rather not pt lot of emphasize on size because i have made major efforts in the past many times by shrinking by taking advantage of code re-use as much as possible, revisiting back the code over and over.
Well here is what I know, management will not give a crap about. They have pushed their crap-suite to entire department and intertwining with existing other release, test report softwares, gave major development effort to India and I can see possibly around hundreds of people are dealing with it now. I check from time to time how the quality of the software is going and people still stay they are dealing with the bugs re-surfacing from time to time that has been seen years ago!
For now, I am just using my own suite to make my job easier, all the testing are automated and planning to drink some coffee and chit-chat with others.
That does not seem enough, I also started distributing to other busy engineers simply because it works. I know this is the major challenge since most engineers i know like to do the development themselves and tend not to trust others software. For that reason, I am making a lot of improvement in usage simplicity, documentation and stability so that, busy people can quickly adopt it and started depending on it.
What I am not going to do is walk up to management and shout them mine is better, because I know they wont listen.
I am going to see how it may spread out and how many people are adopting. Now I can not predict the future however if in case the huge number of people has started depending on my solution, I am thinking about how i can monetize.
Obvious choice for someone is try to find some avenue to sell your software back to company by quitting but the very issue I mentioned in my OP my hit me back.
Now I am having second thought, once if I can manage to popularize my solution then leave the company and offer freelance training. If this sounds plausible, option I am thinking to start working on training documents. Because of the scope of the this project I did, I know this training can last a very long time but in the end it will benefit. I know because the solution has lot of features and parts and it will take major efforts over long period of time for others to join the development efforts. It is possible if I just quit, then if management decides to use my software, they will assign people to do a continue the development but I know, from last years of experience, how people to a development job here, it will be just a another quagmire. The key is to convince management that really serious training and bring up people's skills to do the development at the level I am doing now.
After analyze my situation here are the pro-s and con-s with this idea:
pros: - i know my solution is really best, since I know inside an out, well I simply know. - few people, I gave them access to for sampling they really like it, because it frees them from daily grudges, hope they will spread around the word. - it is substantial works of 10 months, huge tests after test to make it stabilize. - it really solves the major issues that automates number of tasks and tests that we are manually doing over and over like a sweatshop for years.
cons: - I am engineer which means lowest level and except for 1st and 2nd level managers not rubbing shoulder much with higher-ups so I cant just leave the company and tell them here is my solution and I can provide training. I feel like my acquaintances and number of people I know and my sphere of influence is really limited. Now I can really attribute it to my working style, I have been working real hard not much talking in the past years, concentrated on technical aspects and not much people aspects. - I see the entire code is mere 3.7M, well this is one person job so however I did great job, there is so much one person can do. - it is quite limited in scope so it will be applicable to at most 4-5 team at most i believe, the product we use is a billion dollar revenue, to make it a solution that is far reaching, far more jobs are needed. - the solution i made is mostly related to in-house R&D and for a very specific role, so I dont think I can offer to someone else. At least that is what i am seeing at this point.
_________________ key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
|