程序员不要将自己限定在写代码这一单一职能上,需要认清自身商业价值的本质,需要锻炼自己的沟通能力,擅于表现自己。职业只是一种生活方式,并不能完全支配我们的幸福。我们应该为了生活而工作,而不要为了工作而生活。
如果有一门课一定要加到工程师教育课程中的话,那一定不会涉及编译器或时间复杂性。但这就是我们所在行业的基本要求,因为我们不教他们,这会导致很多不必要的痛苦和折磨。这篇文章希望对作为一名年轻工程师的你的职业生涯有所帮助。我们的目标是让你快乐,填补你所受教育的空白,了解“真实世界”是如何运作的。我花了大约10年的时间,经历了很多磨难才弄明白其中的一些道理。“我知道这不是权威的指导,但希望它会比你的大学就业中心没有告诉你的东西更有价值。”
经济学基础:任何物品的价格(包括你自己)都是供应和需求的关系函数。我们先谈谈需求方。大多数软件不是装在盒子里卖的,也不是在网上卖的,也不是从应用商店下载的。大多数软件都是乏味的一次性企业应用程序,支撑着全球经济的方方面面。它跟踪费用、优化运输成本,帮助会计部门进行预测,它帮助设计新部件,它为保险单定价, 它标记由欺诈部门进行手工审查的订单等等。软件常常可以解决业务问题,尽管它非常单调,但技术复杂性也很低。例如,使用一个内部差旅费用报表,对于一家拥有2,000名员工的公司来说,这可能每年节省5,000个工时(全员成本平均为每小时50美元),而相对纸质文件的处理费用每年可节省250,000美元。对于公司来说,报表是世界上最简单的CRUD应用程序,这并不重要,重要的是它可以节省公司的成本甚至为公司带来额外的收入。
有些公司开发的软件实际上是供客户使用的,它描述了你想到软件时可能想到的几乎所有东西。除非你愿意,否则你不太可能在这家公司工作。即使你在这家公司工作,那里的许多程序员也不从事面向客户的软件工作。
企业总是出于非理性和政治原因而做一些事情(见下文),但它们主要集中在做一些能够增加收入或降低成本的事情上。在经营良好的企业中,地位通常是授予那些成功地将其中一件事的功劳据为自己所有的人。(可以理解,但不一定需要这样做。) 决定增加一个工程师的人并不是因为他们喜欢有一个极客在房间里,而是因为增加极客可以让他们完成一个(或多个)能增加收入或降低成本的项目。生产漂亮的软件不是一个目标。解决复杂的技术问题不是目标。编写没有bug的代码不是目标。使用性感的编程语言不是目标。增加收入、降低成本,这些是你唯一的目标。
彼得·德鲁克——你可能没听说过他,他是管理学大师——提出了利润中心和成本中心这两个术语。利润中心是组织中赚钱的一部分:律师事务所的合伙人、企业软件公司的销售人员、华尔街的“宇宙的主人”等等。 成本中心和其他人一样。 你之所以想依附于利润中心,因为它会给你带来更高的工资,更多的尊重,和更多的机会,还有其他一切对你有价值的东西。这并不难:一个聪明的高中生,在读过一段很长的商业描述后,通常应该可以确定利润中心在哪里。如果你想在那里工作,那就努力达到这个标准吧。如果你不能,要么a)到其他地方工作,要么b)在加入公司后调岗。
尤其是工程师,他们通常是薪酬非常高的成本中心,这会让MBA的优化触角开始抖动。这给我们带来了像外包这样的好生意,那就是“让我们用低工资国家的低成本中心取代那些做一些我们需要但并不真正关心的技术昂贵的成本中心”。(附注:如果你阅读了本指南的其余部分,你完全可以忽略外包的职业威胁)没有人会外包利润中心,试图这么做只能成为MBA案例中的一个笑话。这就像建议用一堆软盘副本来替换源代码控制系统一样。
“程序员”听起来像“成本异常高的苦力,把一些胡言乱语输入到另一些胡言乱语中。”如果你称自己是程序员,那一定有人会想方设法让你被解雇。你知道Salesforce吗?工程师们普遍认为它是一家软件服务公司。他们的座右铭和卖点是“没有软件”,这实际传达给他们客户的是“你知道那些在你的内部系统上工作的程序员吗?”如果你使用Salesforce,你可以解雇他们中的一半,并将部分差额作为奖金。(顺便说一句,这没有什么不对。你从事的是解雇员工的工作。如果你认为这是不公平的,那就回学校去学一些不相关的东西吧。)
之后,尝试用你为以前的雇主所做的增加收入或降低成本的工作来描述你自己。如果你还没有机会这样做,请描述那些表明你有能力增加收入或降低成本的事情,或者有这样做的想法。
有许多种类的高薪专业人士,他们也写代码,但并不认为自己是以写代码为生的。华尔街的定量分析师是第一个也是比较典型的例子:他们利用计算机和数学作为辅助,比其他的人能更快更好地做出重大决定,关键是这些决定会带来“我们公司赚了数十亿美元”的结果。“成功的定量分析师在好年份获得的奖金,比许多同等才华的工程师在十年或一生中获得的奖金还要多。
类似地,尽管你可能认为谷歌听起来像一个对程序员友好的公司,但也有一部分程序员是与1%的AdWords点击率提高紧密相关的。(提示:可证明这部分价值数十亿美元)我最近偶然发现了一个网页,他的专业简历介绍说“之前负责写后端账单代码,谷歌的97%的收入都会经过这里”。他现在是天使投资人(“富人”的礼貌同义词)。
我最近通过Twitter问年轻的工程师们想知道关于职业生涯的什么问题。许多人问如何知道要学习哪种编程语言或堆栈。下面我来做下回答。
Java程序员比.NET程序员挣钱多吗?任何自称是Java程序员或.NET程序员的人在开始就已经错了,因为a)他们是程序员,而非Java程序员, b) 他们让自己无法被大多数编程工作聘用。在现实世界中,学习一门新语言需要几周的努力,6到12个月后,没有人会注意到你的整个职业生涯有没有学过这门语言。我在2010年3月做过后端Java Web应用程序开发,但相信我,没人在乎这个。如果一家Python公司正在寻找技术人员来为他们赚一大笔钱,即便我从来没有写过一行Python代码,但我也觉得这一事实不会对我不利。
有才能的工程师是很少见的——想要用到这些人更难得多——而且现在这个领域几乎每个方面都是人才的卖方市场。Matasano的每个人都使用Ruby。如果你不用Ruby,但你是一个好工程师,他们无论如何也都会雇用你。(一名优秀的工程师有这样的能力——跟我重复一遍——增加收入或降低成本的能力。) Fog Creek的大部分应用都是微软的,即便我甚至不会拼写ASP.NET,他们仍然会雇用我。
有些公司的人力资源政策不完善,没有专业性就意味着你不会被选中。除非你不想为他们工作,如果你真的想为他们工作,你可以花几个晚上和周末的时间在简历上加上相关的关键词,或者通过控制当前工作中的技术选择来提升你的职业兴趣。想在.NET商店学习Ruby吗?用Ruby实现一个一次性的项目后,你就是一名专业的Ruby程序员了——你编写了Ruby代码,并从中赚了钱。(你笑?我通常是在Java商店里这样做的。这个一次性的Ruby项目为公司带来了3万美元的收入。不出所料,我的老板非常高兴,甚至从未问过是什么产生了这些收入。)
虽然你会花很多时间和同事在一起,甚至你可能最终会和其中一些人成为亲密的朋友,但总的来说,你会在三年后离开他们继续前进,除了保持友好关系外,你不会特意邀请他们来吃饭。他们会以同样的方式对待你。你应该对你遇到的每一个人都表现的友善——这是一件道德上的事情,这会对你的人际关系网有很大帮助——但是不要错误地认为每个人都是你的朋友。
例如,在一次工作面试中,即使你是在和一个和蔼可亲的28岁的人交谈,他也会觉得自己比你年长一些。你不是他的朋友,你是一个工业过程的输入,他试图以最低的价格为公司购买商品。关于魔兽世界的玩笑只是为了建立专业的融洽关系,但他会(完全符合道德)尝试做你的实际朋友都做不到的事情,例如尝试让你少付几千美元的薪水或花费更多的时间在公司上,而你可能会花时间与实际的朋友在一起。你也会遇到其他同事——友好且合乎道德地——会提出与你的利益背道而驰的建议,从“我应该从您刚刚做的那个项目赢得信誉”(可能没有用太多的措辞表述)到“我们应该这样做以提高我的职业发展目标,而不是您的职业发展目标。”这种情况发生时不要感到惊讶。
因为你周围有一群人:许多已经被成功聘用为高级工程师的人实际上无法实现FizzBuzz。关键提示:你可能足够优秀,可以在你认为自己不适合的公司工作。他们希望雇用更好的人,但他们仍然会雇用普通职工。
“看到广告,发送简历,参加工作面试,收到薪水offer,是求职的特殊做法,而不是典型途径。通常情况下:大多数工作永远不会公开提供,就像大多数有价值的候选人不会公开露面一样(见这里)。有关职位的信息在喝啤酒时会快速传播,有时通过电子邮件的方式。公司的决策者知道他需要一个什么样的人,他告诉他的朋友和生意上的伙伴。其中一个认识某个人——家人、大学室友、在会议上认识的人、前同事等等。他们互相介绍,开了个会,然后就这份工作基本就落实了。然后是简历、人力资源部、正式录用。
对于你真正想要得到的工作来说,这是不太公平的。“成功创业公司的第一名员工”对很多极客来说都有一定的威望,而这些人几乎没有一个是通过向人力资源部门投递求职信而得到的,部分原因是两个人的创业公司还没有足够的能力组织来组成人力资源部门。(注:你可能不想成为创业公司的第一个员工,反而想成为最后一个。)想在谷歌找到一份工作吗?他们有一个成熟的流程来帮助你,因为谷歌员工看中了你。(对于一个非常喜欢你的谷歌人来说,他们也有多种非正式的方式来缩短这个过程。举个例子:收购你工作的公司。当你手头有几十亿美元时,你就会有很多有趣的选择来解决问题。)
大多数招聘都是私下进行的,原因有很多。一个是,数以百计的简历会将优秀的候选人淹没在人海中(尤其是在当前的经济形势下),而这些简历都是来自那些非常不适合这个职位的人。另一个原因是,其他公司在招聘方面做得很糟糕,如果你对候选人没有深入的个人了解,你可能会不小心聘用了一个非fizzbuzzer。
网络还意味着a) 遇到那些在某个时刻可以为你做些事情的人(或相反),b) 给他们留下良好的印象。
有很多地方可以认识人。你所在行业的活动,比如非学术界人士看到的会议或学术讨论会,就是其中之一。用户组是另一个。请记住,用户组所吸引的人群与行业会议非常不同,因此需要相应地进行优化。
努力帮助别人。这是一件正确的事情,人们会敏锐地意识到谁曾经给过他们帮助。如果你不能帮助别人,但知道有人可以,把他们介绍给合适的人。如果你做得对,两个人会很高兴和你在一起,并愿意在未来帮助你。
你可以通过Internet与人们见面,但是我们猴子脑中的某些事物使在肉体中相遇更加重要。我已经结识了很多人,后来我又在现实生活中见面。物理上的握手是双方关系中的重要一步,即使互联网会议可以产生诸如“通过好的建议使他们赚很多钱”这样非常重要的事情。也一定要多参加聚会。
你的GPA基本上无关紧要( modulo 是个例外:一家跨国广告公司)。在一定程度上,它仅决定你的简历是否被选中进行面试。如果你继续阅读其余内容,则会知道简历不是获得工作面试的主要方式,因此,不要花费大量的精力来优化你已经充分优化的内容(因为你获得3.96的面试次数与3.8的面试次数差别不大),或根本不需要(因为你会接受工作面试是因为你有能力要求合适的人和你一起喝咖啡)。
你的专业和副修都不重要。大多数工业界的决策者即使努力了也分不清计算机科学专业和数学专业的区别。我曾经因为一个小小的学术问题而哭过,因为这威胁到了我获得计算机科学专业的理学学士学位的能力。我的导师告诉我,计算机科学学士学位比计算机科学理学学士学位更有名望。学术界关心的是这样的区别。现实世界则不然。
你们的教授可能知道学术型的就业市场是如何运作的( 工程学上的工作效率低得可笑,而且英语无法超越凡人的理解),但他们往往对现实世界的运作有着不切实际的理解。例如,他们可能会要求你获得额外的学位,因为a)对他们来说这听起来是个好主意,b)他们喜欢有研究人员做拉面相关的工作。记住,在你的领域,有能力进行研究的人的市场工资是80~10万美元+++。那可以买很多拉面。
负责我的研究项目的教授给我提供了他实验室的一个名额,还免除了我的学费,如果我为他工作4~6年,他还会给我1.2万美元的津贴。如果你最近刚从一个低工资国家移民过来,需要有人帮你办理政府签证,那就太合适了。
如果你真的喜欢大学的氛围,那就太酷了。背上背包,你可以随时走进美国任何一所大学的任何一栋大楼。你也可以在工业界引领思想——享受更少的政治和更高的薪水。你甚至可以在期刊上发表文章,如果这对你有帮助的话。(当你摆脱了学术界扭曲心智的氛围后,你可能会有理由质疑,发表在期刊上的文章是否真的对个人或社会有重大意义, 而不是写一篇博客文章,然后展示给需要的人看。)
很没水平的问题。比较靠谱的问法是“工程师通常为什么样的工作机会工作?”,因为薪水是人们用来激励你的众多手段之一。这个问题的答案是,“到处都是Offer,多数人为Offer而活”,这样的答案其实帮助也不大。
一般来说,大公司比初创公司支付更多(钱、福利等)。高感知价值的工程师比低感知价值的工程师挣得更多。高级工程师比初级工程师挣得多。在高成本地区工作的人比在低成本地区工作的人挣得多。擅长谈判的人比不擅长谈判的人挣得多。
我们的文化训练我们永远不要问薪水。这不是普遍现象。在许多文化中,专业语境是讨论钱的最佳时机。(如果你是一名日本中产阶级男性,你有理由在第二次约会时向你的足球俱乐部成员或寿司师傅透露你的确切薪水。如果你拥有一个公司,你可能会对你的净值谨慎不讲,但你会像程序员经常讨论编译器的方式讨论员工工资而不显尴尬。)如果我是一个马克思主义学术或阴谋理论家,我可能会认为这个中产阶级美国文化是特别为雇主的利益设计的,对于员工的利益考虑不周。在讨论任何特定目标雇主的薪资之前,你应该先和在那里工作的人谈谈,问问这个职位的薪资范围。你可以在网上找到这些人。(LinkedIn、Facebook、Twitter和你的(非图形数据库)社交网络都是不错的选择。)
不管怎样。工程师通常会得到一系列福利。在美国,首先要担心的是医疗保险(传统上,你得到它,你的雇主需要支付大部分或所有的费用)和你的退休计划,这是“我们将为你的401k计划提供最高X%的工资”的变体。其价值很容易计算:工资的X%。(这是一笔免费的钱,所以一定要根据雇主的匹配来最大限度地使用你的个人退休账户。把它投入指数基金,然后40年都不去想它。)
还有其他的福利,比如“免费的汽水”、“免费的午餐”、“免费的编程书籍”等等。这些都是社交信号。当我说我要给你买汽水的时候,这说明了我如何管理我的工作场所,我希望谁为我工作,我希望如何对待他们。(上面写着:“我喜欢通过购买20美分一罐的苏打水,让这份工作看起来很有趣,从而改变年轻工程师们不成熟的行为。这样做可以为我自己省下数万美元的赔偿金,但是同时也是对他们健康的破坏。”但我喜欢喝汽水。) 阅读社交信号并做出适当的反应,列如有人表示,愿意为员工教育付出钱的人很可能是一个值得工作的伟大公司,但不要放弃巨额赔偿来换取您可能会获得的小的津贴。
这可能本身就应该重起一篇文章。下边简单先说下:
a)记住,你是在为某个业务需求(增加收入或降低成本)推销解决方案,而不是在推销你的编程技能或你漂亮的脸蛋。
b)带着适当的自信积极地谈判,就像你这样有道德的专业人士。这就是你的对手可能正在做的事情。你的目标是一个互惠互利的提议,而不是每次他们说什么你都答应。
c)“你以前的薪水是多少?”的意思是“请给我一个理由少给你钱”。
d)永远要有还价。在你关心金钱以外的事情时,不要吝啬对薪水的还价。如果他们不能给出更高的薪水,那就谈谈休假吧。
e)讨论薪资的唯一时机是在你们原则上达成一致之后,即如果你能达成一项互惠协议,他们就会聘用你。这时他们已经在你身上投入了大量的时间和金钱,特别是在面试之后。 记住,与他们说“不,我们做不到”相关联的是巨大的成本,而且,他们可能不会因为对你来说很重要的相对较小的问题而破坏交易, 比如你可以这样做:接受他们的提议,还价,再加上几千美元,然后坚持下去。
f)读本相关的书。许多人写过关于谈判的文章。谈判技巧每年能为你的整个职业生涯带来数千美元的收入,这有点让人不安,但工程师们认为,直接研究谈判技巧是一种疯狂的做法,因为本可以将这些时间用来研究一项技术的细节上。
Roll d100。(你不是那种厉害的极客?那就换成rand(100)。)
0~70:你的股权赠予一文不值。
71~94:你的股权授予值一笔钱,这让你放弃为创业公司工作,而不是为一个大公司工作,工资更高,福利更好。
95~99:你的股权授予是一笔有生命价值的钱。你不会感觉到富有的——你知道你不是最富有的人, 因为在过去的几年里,你身边的很多人都比你富有—— 但是你的家人再也不会因为你没有像加入一个真正的$YOUR_INGROUP那样加入$FAVORED_FIELD而让你伤心了。
100:你在下一个谷歌工作,富有得超乎想象。祝贺你。
聪明的读者会注意到,100实际上不会出现在d100或Rand(100)上。
因为你从根本上高估了你的创业公司成功的可能性并且从根本上高估了如果创业公司成功分配给你的那部分蛋糕。阅读有关Hacker News或Venture Hacks的股权稀释和清算相关的文章,然后记住,有些人对商务谈判协议的知识比你对编程的了解还要多,想象一下,如果一个程序有几亿用户,你会对它做些什么。
高百分比的结果是,你在接下来的几年里非常努力地工作,不光彩地失败,然后失业,之后进入另一家初创公司。如果你真的想离开学校进入一个创业公司磨炼两年,你也可以在一个大公司工作两年,赚点钱,然后使用你的资金、专业知识接触并找到一家更合适自己的公司。
在创业公司工作,你会遇到很多创业者。他们中的大多数人两年后没有能力雇用你。在大公司工作,你往往会遇到你所在领域的很多人。在两年时间内,他们中的许多人要么能够雇用你,要么他们可以将你介绍给可以雇用你的人。
在初创公司工作是一条职业道路,但更重要的是,这是一种生活方式的选择。这类似于在投资银行或学术界工作。这是三种截然不同的生活方式。许多人会因为他们自己的原因,试图向你推销那些符合你利益的生活方式。如果你真的想享受这种生活方式,那就大胆去做吧。如果你只是喜欢其中的一部分,记住,如果你真的想要的话,很多东西都是可以单点的。例如,如果你想从事尖端技术的工作,又想在下午5点半看到你的孩子,你可以在许许多多大型企业从事尖端技术的工作。
(当然,如果它能为他们创造价值,他们会投资。他们也会投资大量的CRUD应用程序,虽然创业公司也会这样做——但他们只是把CRUD应用程序做得比大多数大型公司都好。(《社交网络》的第一个小时讲的是如何让一款粗俗的应用程序看起来性感,第二个小时讲的是一出关于两个异性恋男人离婚的人生戏剧,这简直不可思议。)
记住工程师不是被雇佣来创建程序的,那么他们如何来创造商业价值呢?让你获得工作的主要品质是给人一种你会创造价值的感觉。这并不一定与创造价值的能力正相关。
我认识的一些最好的程序员天生就不擅长沟通。人们不愿意和他们一起工作,甚至低估了他们的价值创造能力,因为人们通过对话了解这种能力,而这个人恰恰不喜欢落于这种俗套当中。相反,人们通常认为我是他们所知道的最好的程序员之一,因为a)有明显的证据表明我能编程,b)我的书写和口语非常非常好。
(曾几何时,我认为自己在编程技能上“略低于平均水平”。从那以后,我认识到我对技能分配有一个严重扭曲的问题,编程技能并不是人们真正优化的目标,谦虚也不是我的兴趣所在。如今,如果你问我,我是一个多么优秀的程序员,我会告诉你,我是如何编写程序,帮助数百万儿童学习阅读,或者让公司赚了数百万美元。我在技能曲线上的位置对任何人来说都不重要,所以为什么要关注它呢?)
沟通是一种技能。多练习:你会变好的。一个关键的子技能是能够快速、简明、自信地向一个不是你所在领域的专家、没有先天理由爱你的人解释你如何创造价值。如果你尝试这样做时,总是出现一些技术术语(“通过优化……上的索引,将第99个百分点的查询时间减少了200毫秒”),那么删除这些术语,然后再说一次。你应该能够向一个聪明的8岁小孩,公司的首席财务官,或者一个不同专业的程序员,在任何适当的抽象层次上解释你所做的事情。
企业销售是进入一个公司,试图说服他们花六到七位数的钱去购买一个系统,这个系统可以提高他们的收入或者降低成本。你参加的每一次面试都是企业销售。政治、人际关系和沟通技巧非常重要,而技术上的实现却不那么重要。
当你和同事开会,试图说服他们执行你的建议时,你也在做企业销售。如果你的工作职责是完成任务,那么说服别人完成任务就是你的核心工作技能。花适当的努力去做好它。这意味着能够在备忘录、电子邮件、对话、会议和PowerPoint(在适当的时候)中进行有效的沟通。它意味着理解如何为技术创新提供商业案例。这意味着你要知道,有时为了追求商业目标,你会做出技术上的牺牲,而这是正确的选择。
很多工程师都有自信问题。许多人也来自于在文化上崇尚谦逊的成长环境。美国企业基本上不重视对个人成就的过分谦虚。在面试、与他人的互动以及生活中,正确的原则应该是“克制、自信的职业精神”。
如果你也参与了和团队一起努力,而且团队努力取得了成功,正确的说法不是“我的一切都归功于我的团队”,除非你的立场是,所有人都能理解你为了谦虚而这样讲。你应该这样说:“我很荣幸能够帮助我的团队完成$YOUR_SPECIALTY方面的工作。对着镜子说一千遍,直到你能板着脸说出来。你可能会觉得自己夸大了自己的成就。有人声称自己在努力优化生产,而自己的头衔是三明治艺术家,这是在夸大自己的成就。你是个工程师。你创造了奇迹,让人们的生活更美好。如果你是负责一个重要的数据库项目,特别是涉及到人,那么你领导的数据库工作,这是至关重要的项目的成功。这就是游戏的规则。如果你对此感觉很糟糕,就像一个棒球击球手因为偷垒而感觉很糟糕那样,但实际你在道德上并没有犯什么错误,你只是打得很糟糕。
人就是人。社交礼仪是一项非常重要的技能。人们通常会支持朋友的建议,因为他们是朋友,即使其他的建议实际上可能更好。人们往往会对与他们共进午餐的人怀有好感。(有一本商业书籍叫《永远不要独自吃饭》。这可能值得一读,但人们总是喜欢那些他们认为与自己相似的人,而不是那些他们认为与自己不同的人。(这可以是好的、中性的,也可能是很令人讨厌的。但接受它永远是我们更好优化自己的基础)。
真正的仪容整洁也是至关重要的,因为人们很容易被一些不注意的穿着搞得滑稽可笑,比如根据情况适当地着装、保持职业形象、用自信的语气说话等等。你的西装可以大概和电脑显示器一样贵。你只是偶尔的需要穿它一次,但当你需要它的时候,你会真的、真的、真的很高兴你拥有它。请相信我的话,如果我在参观市政厅时穿着日常便装,我就会被当成一个倒霉的、笨拙的20多岁年轻人来对待;如果我穿西装,我就会被当成一家跨国公司的首席执行官来对待。实际上,我是一家跨国公司20多岁的首席执行官,有点笨手笨脚,但当我希望得到领导般的优待时,我可以选择突出自己想要的一面。
熟悉我工作的人可能会反对我把它描述成一家跨国公司,因为当“跨国公司”在对话中被使用时,大多数人并不是这么想的。抱歉,这是一个简单的会话技巧。如果你认为当人们发现自己被操纵时,他们会很生气。有些人也非常讨厌商务套装,这并不意味着西装毫无价值。顺便说一下,当你面临移民驱逐时,技术上正确的答案是最好的答案。
归根结底,您的生活幸福将不受您的职业支配。 与老年人交谈或信任拥有以下知识的社会科学家:家庭,信仰,爱好等,通常会在实际产生幸福的事情上淹没职业成就和金钱。您的职业生涯很重要,现在看来这可能是您一生中最重要的事情,但是很有可能这不是您永远相信的。为了生活而工作,不要为了工作而生活。
英文原文:Don’t Call Yourself A Programmer, And Other Career Advice
领取专属 10元无门槛券
私享最新 技术干货