Well, I don’t know why - the two times when things progressed well, I always want to leave.
First is my job at LanTianDuoWei - I passed the newcomer period, go on a business trip, and earned good conpensition - but after that, I feel I need do something, so I left.
I know why - I’m longing for a “home”, not 8-people dorm. I need private space for privacy.
Next is my outsourcing job in CSSC - After 1 year and several months, I left. I moved with the company from HaiDian to DaXing, deployed software, passing tests, and doing some refactor, and even touched on GitLab - then I left.
The reason is that this is air-gapped network, there is fewer chance to learn. It’s also due to a conflict with the leader, that he want to build a mobile app, I disagree with the gitee-approach and quitted outright. Then he deduced my salary silently.
The reason is that I don’t know much about workspace politics then. It’s also that the “enclosed” environment.
But I still learned pyinstaller/PyQt myself, and built a simulator there. Also, the sub-leader help me find a good apartment.
And after that I moved to a new company, only to be fired after two weeks. The reason is still politics, but also the inability to find good apartment, and I can’t make meal myself.
Then luckily I still have good computer knowledge, and English skill, so I go to Azure support after some time finding jobs.
Things changes fast, and this is already 3rd one.
I built vpn share tool, simulator, and test framework from scratch. It’s doing well now, but in the time developing these, co-workers constantly give me backstabs.
Also, due to their bad code quality, I have to fight fire frequently.
The legacy of treating software as “one-time work”, and calculating bonous based on the speed of making it, is still hurting people, and all the newcomers.
It’s just recently, a piece of “software” developed by another coworker broke, and he say he “is busy”, and the sytem is “old and silly”.
But I already deeply investigated the system, for another hard problem, which I have done a full rewrite on that software (amid the leader protests and aggressions). and that piece of function is just a byprouct, which I only not provided for invidual use.
So I just repackaged and add entrypoint for users to use - But this sparks “outrage” of that coworker. He feels himself silly, and accuse my code “hard to understand”/ “overly complex”, and his effort go to waste, all due to the “one-time software” and “reward by speed” approaches.
Also, because we only make “small apps”, that is, each software only have limited function. I think this is due to the complexity of requirements, and inability to structure code originally. But this also make huge code dups, and also, each person “own” some projects, which we don’t communicate frequently, and never review each others’ code.
Then, combined with the use of AI, if one worker says his job is “already finished”, and asks “why are you still not finished/so slow”, this also makes others feels demorialized. And, no one review their AI-generated code - and it will generate more incidents, and then they will try to throw the responsibility away - by claiming “I’m busy now” - which also uses politics as a tool.
And, of course, even after creted 200k lines of code, hundreds of tests, and maintaining many infrastructure - I still get zero bonouses, due to my frequent delay of finishing work in their view, and the subleader even want to kick me out by claiming i’m not suited for development work to the leader.
Well, this is not a “reflection” now - I’m not doing wrong, the wrong is the environment.