Message to Moderators : Please don't remove this post, I gave my whole heart to write my feelings and wants to tell to it everyone, I know this is not the place to say it, but for once please listen.
Hello Everyone ! Being a fresher from IT industry, should we all make it a trend to give only binaries and executables to companies, I know this would'nt work at first, but if we all make it work somehow, that will leverage us IT employees. Because our whole value is from the code we write, when we upload the code on the companies' codebase, we loose our leverage. I worked as an intern in a company, they made me work on, software (created libraries in javascript, implemented api from google cloud console for gps live tracking), and they made me do work on hardware part too, I had to make whole system for them, then they asked me for whole “professional” sugarcoating on the project, and at last but not least a “professional corporate style” presentation. I have no experience in video editing, scripting, and all that stuff, so I made a simple demonstration video on the project with explanation and sent it. They gave me half the stipend which was mentioned in the contract, and their reason was I didn't do it “professionally” and it looks like a kid's work. Then I asked them in return why did they made me do the work of 8 people with such a short period of time, if they really wanted professional and ready to sell product. They should had rather hire a team. The downside was the faculty of my uni pressured me to give the codebase of the work, so I had to give it.
I don't understand why there is a culture that engineers have to give their codebase, we are being paid to solve the problem, giving the executables/binaries is what should we set the norm at. This situation also disturbed my studies and I couldn't do best in my exams last sem, because I felt I have been robbed, not only in terms of money, but also in terms of time and mental peace. Engineers have to do all the hard-work and then have to bargain with employees how much effort they have made into solving the problem, and what they deserve.
Now don't tell me that is crime, and you are stealing from company because they are paying me. Corporate don't really care about morality and ethics when things turn onto them. Ethics works only for workers and employees. Businesses never give the whole solution and blueprints of their products for open to their customers. Since corporates are our customers, then why do we give our products (codebase) to them ?! We are loosing so much from our part.
This is the reason why we are seeing so many layoffs, on the spot firing, and in India there is 100% variable cut from salaries. Just because we give our leverage to companies and we loose it all.
Benefits of this trend :
- Your company/boss cannot fire you so easily, because you can call off the development, but if you give the codebase, they will hire someone else who can read your code.
- You can hold the power on the company even after leaving the company, company depends on you, not you depending on the pennies of company.
- CEOs, CXOs, CTOs make most of the money and do the least amount of work, while employees do 99% of the work and make least amount of money. (Happened with me being an intern, the project manager did literally nothing, faculty from uni did'nt really helped and they cut their part in payment too, univ got it's part too.) Now I know because of them I got the opportunity because the company is their customer, but they did'nt helped in the execution, what better is the oppotunity then, rather I wish I would had gone freelancing mode.
- For engineering degree, it is mandatory to do intern in a recognized company, this is where companies take the opportunity to exploit from interns and underpay them.
- Salaries would increase as you would be harder to replace.
- HR people will see an environment with less mental pressure because employees are happy and hard to replace.
Problems that will arise from this trend :
1. It would make it harder for big development teams to collaborate, but there is workaround :- if you are working in c/c++ your can me .lib libraries which can be use to make libraries/frameworks, similarly in other languages there are other ways (But companies can use decompilers (comes preinstalled with intelliJ IDEs), I am sure a senior dev knows a workaround.
2. If you haven't completed a project before leaving the company, then they might call you repeatedly.
3. Big team collaboration will be hard (1st point), but doesn't matter because companies want to exploit employees and want to make all the work done by single person anyway.
4. Developers around the work might see problem with their open source projects with this attitude, but open source devs don't have to worry, they can do whatever they want, because companies cannot merge all the necessary components by themselves
Note: What are the opinions of non-tech people, please share, this is not just IT industry, this happens in other industries too !