Skip to main content

“苟”在号称绝不裁员的公司,结果被暗戳戳裁了!

 
公司情况

lz5yoe,在这个厂有段时间了,不幸加入了一个奇怪的org,入职之前在blind上看到很多人提到这个DX不是真正的逗比,但是很头铁,加上技术非常简单,干活也非常轻松,就苟了下来。lz逐渐也有了自己的component,然后就想着这样混不也挺好,钱不多但是稳定啊,加上这个厂整体一直强调我们绝不layoff,就也没有警觉。

奇怪的组

我在的组前身是个被二次收购的小初创,当时的创始人都被政治斗争挤走了,留下一个爹味老白男,动不动就会鼓吹自己几十年的经验,然后没有任何vision,当然我是biased,不过我可以几个和他的Q&A(我Q,老板A)看看朋友们有没有见过类似的避避雷:.

1. Q:我们组这个产品用户这么少怎么办,A:一堆our work is great、awesome、crucial,遂Q:我们的impact可以量化吗,A:哦这个我们还在努力,你知道因为我们之前是初创很多tech debt,好吧,这都七八年了他还在day One 啊。

2. Q:数据很不稳定,为什么我们没有去减少处理的环节来减少inconsistency, A:你知道我们忙啊,忙着抢新活没办法提高legacy code,然后结果就是他带个小队墨迹一年半做出来个新产品上线就beng,然后被org弃用背了budget cut。

3. Q: 为什么我的project ticket只有一句话,然后你一直在加东西? A:你需要有ownership,ticket只是一部分,发现了新问题难道不需要修吗?Q:好吧,但是你这样我要怎么才能结束?A:直到这个系统perfect。无话可说,润了。

4. Q: 为什么你给我的feedback有doc里的图片未显示,这个不是我们用的tool的问题,我怎么可能故意上传坏的图片? A: 你上传之后不应该refresh几次吗?Q:当然啊,上传后保存自动refresh没问题我才会关啊,如果是我故意上传坏图片,你想想怎么可能? A:我不管,你就应该每天都检查一遍以前写的doc看看有没有图片要重新上传。好吧原来developer是干这个的。

这个组和最近地里常提到的不干活manage up非常相似,这个老白男不是我的直接,但他micro我们整个组,我的直接是他的puppet。lz这也是第一次见识到,原来都在大厂拧螺丝,没见过这种非常完善的生态系统,所以lz的工作方式相对单纯,就是老老实实做完task,偶尔发个邮件邀功,但是基本上很少开meeting,因为这个组的文化是老板需要你非常详细的报告,举个例子,每天都要早十的standup,需要详细的高斯老板昨天做了什么会,然后每个pr有logic change都要开个review meeting这种,基本上每个人开ticket都细致入微,比如handle exception这种tic。导致你想搞个大的feature基本review的会要开三次,一半时间浪费在加comment和代码位置这种问题上,如果不幸碰上老白感兴趣的,还会加上更多的feature和proof,比如他会让你测试从数据库读取一个snapshot会不会出现两次相同的primary key。lz最开始还想着要改变现状,后来发现这比简直就是个小国王,没人监管就随心所欲,所以就放弃了,直接随波逐流写码不过脑子了,就照所谓的code style,目标PR review越短越好。

悄然到来的暗雷

就在lz放松警惕之时,悠哉游哉,暗雷来了,因为lz的component影响很大,有无数的legacy code,有100+的job,加上lz懒散惯了,没有去二次检查,在feature flighting阶段没有注意到有9个job没有升级,上线之后lz没有在意,因为这9个属于需要手动trigger的,基本不会运行,于是想着下次release加上就好了,可是不巧,lz和老白男review的时候,生成了报告来了个按数据量排序,还把这9个job加进去了,偏偏被老比看到他们没有新的数据,老毕直接来了个“清理好你自己的狗翔”。lz也是活该,没有好好的统计,不过要感谢这个契机不然也没法下定决心走。

这个事情确实是lz的锅,不过打工人孰能无过,何况在这样的屎坑里畅游,这个team的patch基本每两周就要打一下,只可惜lz骨头太硬了,我直接怼了回去,你给我这个大component,又没有方向全是我一手改完,然后一个impact 只有legacy的bug就这么说呗,然后就惹到了老毕,经理开始当传话筒,说你啊不meet你的level,好吧,当时就直接开刷。

这个经理还挺诚实的,说产品的收益不好,大组会砍,然后你挺危险的,然后就潜移默化提醒我要走了,加上lz之前拿了一大笔refresh估计工资也算team的顶部,现在失宠了必然是我走。lz也挺感谢他,虽然他就是混日子摸鱼,但是确实像是朋友一样.

很幸运找到了新工作开始入职流程,本来打算划水的,其实划的也很难受,然后突然告诉我business change,你是low performance,我们给你8天转组,你的电脑可以用但是你不能来上班了,lz心里一惊,虽然能拿钱,但是package 很小,也挺烦的,因为马上要走了还被恶心一下。

感悟

lz这次可以说是有惊无险,但是感觉可以给大家提个醒:

1. 发现team不好不要混:team不好主要是:profitability 和文化,profitability尤为重要,因为事关你的工资和稳定性。如果一个破team很成熟了,很多时候作为新人比较吃亏,因为有事都是新人来抗,所以真的润是最好的解药,不需要心急,每天刷一道题,每周看一篇sd基本上需要你出去面,一个月就能准备就绪。

2. 遇到老板权力过大:这个很难避免,也不一定是好是坏,如果老板是个幸运的蠢货,那么请follow 1.,如果老板没那么不堪,个人觉得是练习manage up的好机会,学习论坛里说的,多邀功,多开会,对个人上升很有帮助。

3. 不是所有公司都大张旗鼓lay人的:很多厂都是暗戳戳,甚至pip都没有,所以要敏锐的察觉,像地里很多帖那种找茬,就要小心了。这种暗雷真的对打工人更加不友好,赶紧分享出来让大家知道,哪里都没有乌托邦。

马上去新公司了,给自己放个假,顺便提一下,这次刷题偶然看了labuladong,真的很不错,基本的算法都总结的非常到位,真的刷题神器。SD的话,lz惭愧,基本只靠高频题了,球球有知道怎么提高的大大分享一下。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...