Skip to main content

3个国家,毒打8年,我的Tech行业生存感悟...

https://mp.weixin.qq.com/s/WtFtf60U3oMtH7ZGi8SSrg

 

Disclaimer: 没有one size fit all的规律,感悟更是很主观的东西,冒犯之处,见谅。

2015年前赴美读相关专业master,是一个风险小,投资少,周期短,收益大的行为,这里里面的金钱回报,一半是是行业趋势的上升带来的,另一半是心理精神损失费。

说工程师不善于交流已经是上个世纪,一个人可以开发一套系统不需要合作的时代的事了,现在工程师的交流是多样化的,你的每一封邮件,slack信息,文档,注释,PR的review,planing, meeting, 还有peer review,面试,都是在交流。

这种交流各个公司的文化有区别,但大致都是追求简单,直白,严谨,准确,高效,透明,职业,有时候也很伤人,有时候我觉得在这种框架和协议下说的每一句话,都像写遗言一样,让人一直保持警觉,焦虑,甚至恐惧,这一部分钱的,是精神损失费。

任何一个理论,都有一个边界,任何一个方案,都有trade-off,遗憾的是伴随着你整个职业生涯,往往都会有喜欢讨论回字有几种写法的人与你相伴,你会遇到很多人留下PR review,指出问题,不给出建议,让你提交不了,你会遇到你认为很难合作的人,但首先要知道,他首先是个人,其次才是你的同事,他可能只是有很坏的一天。

我听过很多人抱怨没有文档,包括我自己,其实更多的情况是,文档并没有按你的认知水平,和你的接受能力去写,文档的形式也是多样的,不是只有markdown,confluence,代码本身就是文档,口口相传也是一种文档,slack全局搜索,同事, mentor都是文档,只要这个东西存在,你总有办法了解他。只是这个像屎一样的过程,有时候很痛苦。

不要去做任何没有数据支持,没有好的故事的争论,很难去convince别人,你的结论和直觉一定是来自于数据或者经历,而别人再没有看到或者听到这些支持的时候,你很难推销自己的观点。

有些观点用同样的方法,你推销不了,别人说一样的话,就可以,这个东西叫做办公室政治,当你有了这种power以后,尽量不要政治的手段,去convince别人,因为办公室政治本身就是办公室里最大的变量,你一旦习惯了这种方式,当你没有这种力量后,你会到处撞墙。

成长最快的方式是冒险,就像创业可以给你带来更多钱一样,因为它风险太大,你给大公司打工,其实是用预期收入的减少,去对冲了风险。你需要犯错,需要引火上身,需要看到产品出问题,去debug triage,去总结RCA,才能去成长,你如果没有工程上让你遗憾的决定和行为,那么只能说明你冒险还不够多,冒的险还不够大,我很难相信这种人会在巨大压力下,在war room里,可以冷静的解决production 的问题。

当你在这个行业呆了几年,可能已经具备一些管理职能或者属性,就算是IC,也会参与一些决策密度高的工作,这时候一定不要去Micro management,要允许别人犯错,只要你知道底线在哪里,别人也喜欢通过错误去成长,就像你当初一样,你如果不允许别人这么做,你很快就会成为别人讨厌的那种人。

善战者无赫赫之功,很多时候,我们在做的是一个可以automatic的workflow,可以self Sevice 的系统,你看那些自以为ownership很强,只有它可以搞某个service 的人,要么就是它的service做的很差,要么就是他的knowledge share和internal open source做的不够。

很矛盾的一点,也是我最不知道怎么表达的一点,你需要好的peer review ,你需要collaborations, 同事,stack ranking也一定存在的,你的合作者,也是你的竞争者,你怎么让自己做一个没有威胁的人,让自己做一个有用的人,是这个行业要伴随你一生的压力与焦虑,你会发现,5年后,可能你对这个问题,也没有完美的解决方案,但是会更成熟,更坦然了。

公司不是你家,尽管有的公司很promote,或者去sell family这种感觉,甚至给出了很人性化的福利,这是为了破冰也好,为了润滑也好,归根结底是让你可以创造出更多的价值回报,对你个人的成功,幸福,热情的关心和投资,都是这个原因。

如果你burn out了,高血压了,失眠了,焦虑了,恐惧了,抑郁了,都很正常,你看那些心里医生的客户分布就知道,这都属于这个行业里的工伤,很遗憾,在有些法律框架下,这种工伤,员工没有得到很好的保护,而另一些法律下,这样的保护又太容易被滥用。

总而言之,你要打一场持久战,play for the long game,身体是最大的本钱,时间是最好朋友,会给你最大的回报。

8年生存感悟,2年是读master,6年是工作。三个国家分别是,中国,美国,荷兰,中国离开太久了,很多信息都滞后了,荷兰刚来不久,感受还不成熟,欢迎交流。

Comments

Popular posts from this blog

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 checking a shared sec

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 /opt/course/1/context_default_no_kubectl.sh , but without the use of k

标 题: 关于Daniel Guo 律师

发信人: q123452017 (水天一色), 信区: I140 标  题: 关于Daniel Guo 律师 关键字: Daniel Guo 发信站: BBS 未名空间站 (Thu Apr 26 02:11:35 2018, 美东) 这些是lz根据亲身经历在 Immigration版上发的帖以及一些关于Daniel Guo 律师的回 帖,希望大家不要被一些马甲帖广告帖所骗,慎重考虑选择律师。 WG 和Guo两家律师对比 1. fully refund的合约上的区别 wegreened家是case不过只要第二次没有file就可以fully refund。郭家是要两次case 没过才给refund,而且只要第二次pl draft好律师就可以不退任何律师费。 2. 回信速度 wegreened家一般24小时内回信。郭律师是在可以快速回复的时候才回复很快,对于需 要时间回复或者是不愿意给出确切答复的时候就回复的比较慢。 比如:lz问过郭律师他们律所在nsc区域最近eb1a的通过率,大家也知道nsc现在杀手如 云,但是郭律师过了两天只回复说让秘书update最近的case然后去网页上查,但是上面 并没有写明tsc还是nsc。 lz还问过郭律师关于准备ps (他要求的文件)的一些问题,模版上有的东西不是很清 楚,但是他一般就是把模版上的东西再copy一遍发过来。 3. 材料区别 (推荐信) 因为我只收到郭律师写的推荐信,所以可以比下两家推荐信 wegreened家推荐信写的比较长,而且每封推荐信会用不同的语气和风格,会包含lz写 的research summary里面的某个方面 郭家四封推荐信都是一个格式,一种语气,连地址,信的称呼都是一样的,怎么看四封 推荐信都是同一个人写出来的。套路基本都是第一段目的,第二段介绍推荐人,第三段 某篇或几篇文章的abstract,最后结论 4. 前期材料准备 wegreened家要按照他们的模版准备一个十几页的research summary。 郭律师在签约之前说的是只需要准备五页左右的summary,但是在lz签完约收到推荐信 ,郭律师又发来一个很长的ps要lz自己填,而且和pl的格式基本差不多。 总结下来,申请自己上心最重要。但是如果选律师,lz更倾向于wegreened,