来看看花旗工作十多年的码农怎么说吧!
美国最大的论坛 Reddit,之前有一个热帖:
一个程序员说自己喝醉了,软件工程师已经当了10年,心里有
好多话想说,“我可能会后悔今天说了这些话。”他洋洋洒洒写了
一大堆,获得9700多个赞。
内容很有意思,和题主“国外发达国家码农真的混的好么”这个问
题很贴切,而且是10年老程的员的肺腑之言。
链接:原文是英文的,阮一峰老师翻译了一下
我选取了一些放在下面:
(1)职业发展的最好方法是换公司。
(2)技术栈不重要。技术领域有大约10-20条核心原则,重要的
是这些原则,技术栈只是落实它们的方法。你如果不熟悉某个技
术栈,不需要过度担心。
(3)工作和人际关系是两回事。有一些公司.我交到了好朋友,但
是工作得并不开心;另一些公司,我没有与任何同事建立友谊,
但是工作得很开心。
(4)我总是对经理实话实说。怕什么?他开除我?我会在两周内
找到一份新工作。
(5)如果一家公司的工程师超过100人,它的期权可能在未来十
年内变得很有价值。对于工程师人数很少的公司,期权一般都是
毫无价值。
(6)好的代码是初级工程师可以理解的代码。伟大的代码可以被
第一年的CS专业的新生理解。
(7)作为一名工程师,最被低估的技能是记录。说真的,如果有
人可以教我怎么写文档,我会付钱,也许是1000美元。网上的口
水战,几乎都无关紧要,别去参与。
(9)如果我发现自己是公司里面最厉害的工程师,那就该离开
了。
(10)我们应该雇佣更多的实习生,他们很棒。那些精力充沛的
小家伙用他们的想法乱搞。如果他们公开质疑或批评某事,那就
更好了。我喜欢实习生。
(11)技术栈很重要。如果你使用Python或C++语言,就会忍不
住想做一些非常不同的事情。因为某些工具确实擅长某些工作。
(12)如果你不确定自己想做什么东西,请使用Java。这是一种
糟糕的编程语言,但几乎无所不能。
(13)对于初学者来说,最赚钱的编程语言是SQL,干翻所有其
他语言。你只了解 SQL而不会做其他事情,照样赚钱。人力资源
专家的年薪?也许5万美元。懂 SQL的人力资源专家?9万美元。
(14)测试很重要,但TDD(测试驱动的开发)几乎变成了一个邪教。
(15)政府单位很轻松,但并不像人们说的那样好。对于职业生涯
早期到中期的工程师,12万美元的年薪+各种福利+养老金听起来不
错,但是你将被禁锢在深奥的专用工具里面,离开政府单位以后,
这些知识就没用了。我非常尊重政府工作人员,但说真的,这些地
方的工程师,年龄中位数在50岁以上是有原因的。
(17)大多数头衔都无关紧要,随便什么公司都可以有首席工程师。
(18)手腕和背部的健康问题可不是开玩笑的,好的设备值得花钱。
(19)当一个软件工程师,最好的事情是什么?你可以结识很多想法
相同的人,大家互相交流,不一定有相同的兴趣,但是对方会用跟你
相同的方式思考问题,这很酷。
(20)有些技术太流行,我不得不用它。我心里就会很讨厌这种技术
,但会把它推荐给客户,比如我恨Jenkins,但把它推荐给新客户,我
不觉得做错了。
(21)成为一名优秀的工程师意味着了解最佳实践,成为高级工程师
意味着知道何时打破最佳实践。
(22)发生事故时,如果周围的人试图将责任归咎于外部错误或底层
服务中断,那么是时候离开这家公司,继续前进了。
(23)我遇到的最好的领导,同意我的一部分观点,同时耐心跟我解释
,为什么不同意我的另一部分观点。我正在努力成为像他们一样的人。
(24)算法和数据结构确实重要,但不应该无限夸大,尤其是面试的
时候。我没见过药剂师面试时,还要测试有机化学的细节。这个行业
的面试过程有时候很糟糕。
(25)做自己喜欢的事情并不重要,不要让我做讨厌的事情更重要。
(26)越接近产品,就越接近推动收入增长。无论工作的技术性如何
,只要它接近产品,我都感到越有价值。
(27)即使我平时用Windows工作,Linux也很重要。为什么?因为
服务器是Linux系统,你最终在Linux系统上工作。
(28)人死了以后,你想让代码成为你的遗产吗?如果是那样,就花很
多时间在代码上面吧,因为那是你的遗产。但是,如果你像我一样,
更看重与家人、朋友和生活中其他人相处的时光,而不是写的代码,
那就别对它太在意。
(29)我挣的钱还不错,对此心存感激,但还是需要省钱。
(30)糟糕,我没酒了!
ps:可能看完以后你会觉得这个人真的喝多了,
一会儿说技术栈重要一会儿说不重要的。
我的理解是技术栈重要是因为这个会影响很多东西,比如工作机会、工作内容、薪资等等,技术栈不重要是因为技术栈你是可以换的,只要你愿意付出时间等代价。