当了10年打工人,喝醉后把职场套路全盘托出来了
任何问题都有解决的办法
所有的打工人,联合起来!拒绝职场PUA
你好,我是洞唐Coder。之前我不是在《新手如何自学编程,记住这些少踩坑》一文中提到过:作为初学者,你不会是第一个遇到类似问题的人。所以搜索引擎基本上都可以帮助你解决90%的问题,这些问题在Github、StackOverflow、Reddit、segmentfault里有答案么。
洞唐在视频中提到Github、StackOverflow、Reddit、segmentfault
这天我心情不好,不想敲代码就上这几个网址看。这不,我一下惊醒了。
在Reddit里爆出这么一个热帖[1]。一个程序员说自己喝醉了,软件工程师已经当了10年,心里有好多话想说,“我可能会后悔今天说了这些话。”他洋洋洒洒写了一大堆,获得9700多个赞。内容很有意思,值得一读
为了读起来更方便我直接把这个热帖总结成一个思维导图,分享给大家:
程序员的酒后真言,一语惊醒梦中人
职业发展的最好方法是换公司。制于人而不是受制于人,洞唐觉得换公司真的是一个好办法。互联网圈子很小,有名的也就这几家,你不是从这家跳到那家去,就是那家跳到这家来。[3]
*图片来源:界面新闻
学学三国里最聪明的谋士贾诩吧,简直就是跳槽楷模。贾诩在各大老板间跳来跳去,其信誉度和忠诚度没有受到怀疑,其中一个主要原因是:从来没有坑过前任老板。换了四家公司,甚至带着自己的老板北地枪王张绣跳槽去了曹操的公司。[2]
贾诩从来没有坑过前任老板
技术栈不重要。技术领域有大约 10-20 条核心原则,重要的是这些原则,技术栈只是落实它们的方法。你如果不熟悉某个技术栈,不需要过度担心。现代的软件开发公司都是:需求调研、项目设计、原型设计、静态开发、编程开发、测试运行、运行维护等步骤的。这需要很多人一起努力,而不是你一个人自嗨。
工作和人际关系是两回事。有一些公司,我交到了好朋友,但是工作得并不开心。另一些公司,我没有与任何同事建立友谊,但是工作得很开心。 人以类聚,物以群分。融不进的圈子,就别凑热闹了。记住,你跳槽的目的就是为了赚钱!我总是对经理实话实说。怕什么?他开除我?我会在两周内找到一份新工作。实话实说,没毛病!远离虚伪的直属领导!
人以类聚,物以群分。
如果一家公司的工程师超过 100 人,它的期权可能在未来十年内变得很有价值。对于工程师人数很少的公司,期权一般都是毫无价值的。创业公司的老板总谈降薪拿期权,爱招有在大公司工作过的员工,经常以「员工要靠伴随公司成长来实现自我价值」口头禅来忽悠员工(其实就是为了让你少拿钱多干活)。
比方说你刚大学毕业,不懂老板的套路。降薪拿期权进入某公司,实际能力远高于offer岗位需求。工作了1年多后,你发现公司的成长完全不及预期,自己一直在做一些技术能力无法成长的事。失望之下,你投递了简历,结果发现同类型的职位收到的薪资竟然是现公司的2~3倍。
期权套路非常多,你最好小心
好的代码是初级工程师可以理解的代码。伟大的代码可以被第一年的 CS 专业的新生理解。答应我,一定要写注释画流程图。把你的知识可视化非常重要!作为一名工程师,最被低估的技能是记录。
开一个Github的账号吧,真的。
网上的口水战,几乎都无关紧要,别去参与。如果有人问你,最好的编程语言是什么?你最好保持沉默,只有幼稚的程序员才去纠结这个问题。
网上的口水战,几乎都无关紧要,别去参与。
如果我发现自己是公司里面最厉害的工程师,那就该离开了。得不到成长,为什么要继续待着浪费自己的时间?发生事故时,如果周围的人试图将责任归咎于外部错误或底层服务中断,那么是时候离开这家公司,继续前进了。应该雇佣更多的实习生,他们很棒。那些精力充沛的小家伙用他们的想法乱搞。如果实习生公开质疑或批评某事,那就更好了。我喜欢实习生。
有些事也许注定不公平,但必须有人站出来!
技术栈很重要。如果你使用 Python 或 C++ 语言,就会忍不住想做一些非常不同的事情。因为某些工具确实擅长某些工作。如果你不确定自己想做什么东西,请使用 Java。Jave很糟糕,但几乎无所不能。对于初学者来说,最赚钱的编程语言就是 SQL,干翻所有其他语言。你只了解 SQL 而不会做其他事情,照样赚钱。人力资源专家的年薪?也许5万美元。懂 SQL 的人力资源专家?9万美元。测试很重要,但 TDD (测试驱动的开发)几乎变成了一个邪教。
某些工具确实擅长某些工作,技术更新别忘了
政府单位很轻松,但并不像人们说的那样好。对于职业生涯早期到中期的工程师,12 万美元的年薪 + 各种福利 + 养老金听起来不错,但是你将被禁锢在深奥的专用工具里面,离开政府单位以后,这些知识就没用了。我非常尊重政府工作人员,但说真的,这些地方的工程师,年龄中位数在 50 岁以上是有原因的。
再倒一杯酒。
大多数头衔都无关紧要,随便什么公司都可以有首席工程师。懂?
手腕和背部的健康问题可不是开玩笑的,好的设备值得花钱。买个电竞椅,换个电动升降桌。如果你老板给你提供这个,你一定要记得:尊敬员工的老板在如今这个社会上已经不多了。
你要牢记住:时刻做好跳槽的准备!
当一个软件工程师,最好的事情是什么?你可以结识很多想法相同的人,大家互相交流,不一定有相同的兴趣,但是对方会用跟你相同的方式思考问题,这很酷。有些技术太流行,我不得不用它。我心里就会很讨厌这种技术,但会把它推荐给客户,比如我恨 Jenkins,但把它推荐给新客户,我不觉得做错了。
客户说啥就是啥,给钱就行了!
成为高级工程师意味着知道何时打破最佳实践。我遇到的最好的领导,同意我的一部分观点,同时耐心跟我解释,为什么不同意我的另一部分观点。我正在努力成为像他们一样的人。算法和数据结构确实重要,但不应该无限夸大,尤其是面试的时候。我没见过药剂师面试时,还要测试有机化学的细节。这个行业的面试过程有时候很糟糕。
很多公司就是喜欢装逼,形式主义太香了。没办法
做自己喜欢的事情并不重要,不要让我做讨厌的事情更重要。越接近产品,就越接近推动收入增长。无论工作的技术性如何,只要它越接近产品,我都感到越有价值。甚至你都可以转岗去取代你不喜欢的产品经理
接近产品,靠近用户
即使我平时用 Windows 工作,Linux 也很重要。因为服务器是 Linux 系统,你最终要在 Linux 系统上工作。
请不要这样做!!!!!!!!!
人死了以后,你想让代码成为你的遗产吗?如果是那样,就花很多时间在代码上面吧,因为那是你的遗产。但是,如果你像我一样,更看重与家人、朋友和生活中其他人相处的时光,而不是写的代码,那就别对它太在意。
别天天编程,多陪陪女朋友吧
我挣的钱还不错,对此心存感激,但还是需要省钱。
糟糕,我没酒了。
参考文献:
[1] reddit热帖
https://old.reddit.com/r/ExperiencedDevs/comments/nmodyl/drunk_post_things_ive_learned_as_a_sr_engineer/
[2]《三国志贾诩传》
[3]《BAT员工跳槽有什么规律?一张图告诉你明星互联网公司的人都去哪儿了》界面新闻
会管理老板的人都月薪过万了(深度好文)
不会编程,别说我认识你
我是如何管理自己的知识的?