一定要称自己为程序员,以及其他职业建议(2013)

2020-06-30 21:08:44

这是对帕特里克·麦肯齐(Patrick McKenzie)的(很晚的)回复,不要称自己为程序员,还有其他职业建议。我觉得他的很多建议都很有道理,可能对刚开始职业生涯的人非常有帮助--假设他们能照做(例如,我真的不知道我这个20岁的自己是否真的能用这些建议来提高自己的谈判技巧)。

然而,文章中有几点我不同意。在这里,我将主要集中在这几件事上,推荐你阅读原文,这样你就不会错过剩下的部分。

不同意不一定是正确的词--更准确地说,在我的经验中是不同的。这是意料之中的,因为我们两人都是基于我们自己的职业生涯发表讲话,而我们的职业生涯有很大的不同。帕特里克·麦肯齐(Patrick McKenzie)是一位经营宾果卡创建器的小企业主,也是一位成功的顾问。我是一家市值10亿美元的公司的首席芯片架构师。因此,我们两个人都已经远离了纯粹的编程(不管这意味着什么),但方向却截然不同。

帕特里克·麦肯齐(Patrick McKenzie)表示,90%的工作涉及实施内部差旅费用报告表之类的事情,而不是将产品发货给外部客户。他建议你要习惯这个想法,即使用他的话说,这样的软件无聊得让人心碎。

情况有多糟糕,90%的工作真的是这样吗?斯波尔斯基认为这可能占到80%,而且这已经够糟糕的了,足以耗尽你的生命。他接着详细阐述了为什么做一名内部程序员很糟糕:

很少有商业理由去改进内部软件,而不是勉强做到足够好。忘掉任何工艺上的骄傲吧--你会大量生产出令人尴尬的垃圾。

在软件公司,你的工作与公司的赚钱方式更直接相关,所以你更有可能受到尊重。程序员永远不会晋升为维亚康姆的首席执行官,但你很可能会晋升为一家科技公司的首席执行官。";";…。无论维亚康姆把互联网这件事做好有多重要,当到了给员工分配办公桌的时候,内部程序员只能在办公室黑暗的地方为每个隔间安排3个人。

请注意,麦肯齐和斯波尔斯基在这些问题上几乎完全一致。但斯波尔斯基说,你应该争取在一家软件公司谋得一个职位--这是你的同类生物自然茁壮成长的环境。相反,麦肯齐解释了如何在软件公司之外作为一名程序员取得成功--朝着与默认情况相反的方向发展(当他们试图外包你的工作时,却被困在办公室黑暗的地方。)

所以问题是你更喜欢哪条路。别那么快,你会说:其中一份工作更容易找到--80%-90%的可能性是你没有进入一家软件公司--所以这不仅仅是偏好的问题。

在这一点上,我不同意:即使只有10%-20%的程序员在软件公司工作(数据在哪里?……),即使他们是最好的(根据什么标准?),麦肯齐自己也在同一篇文章中说:

你从根本上高估了比赛的平均技能,因为你周围的人群:许多已经成功受雇为高级工程师的人实际上无法实现FizzBuzz。

但如果平均而言,竞争相对缺乏技能,你很可能会在你想要的10-20%的行业找到一份工作-就像大多数在我那个时候毕业的人一样。因此,我相当坚定地认为,这是一个选择问题:你是想从事内部软件或那种一次性的商业项目,还是更喜欢软件公司?

让我们来看看麦肯齐对内部程序员的建议--这本身就应该有助于人们做出这样的选择。

不要自称程序员。“程序员”听起来就像是“把一些胡言乱语打成其他一些胡言乱语的不同寻常的高成本的人”。取而代之的是,用你为以前的雇主在增加收入或降低成本方面取得的成就来描述你自己。

当然,一名内部程序员很可能在他的非技术型MBA经理眼里做着某种昂贵的胡言乱语。

然而,在我看来,程序员就是我想要的人,而一份充满收入增长和成本削减的简历听起来就像是一个成本异常高的寄生虫,他们在Excel和PowerPoint中输入一些胡言乱语,声称自己为其他工作赢得了荣誉。

麦肯齐说,软件公司本质上就像是一家雇佣内部程序员的公司一样看待这一问题。他的例子是编写后端计费代码的人,谷歌97%的收入都要经过这些代码--他现在是一名天使投资人。这家伙显然是因为靠近一个利润中心而致富,而不是靠他不同寻常的技能。

问题是,在这种情况下,我相信他指的是美国宇航局喷气推进实验室的博士罗恩·加雷特(Ron Garret)。你认为他们聘用他是因为他从收入和成本的角度描述了他在喷气推进实验室的工作吗?(顺便说一句,他不喜欢写账单代码,于是买了股票期权就辞职了,而不是选择在公司最大的利润中心工作。)。

我最终写了信用卡账单和会计系统,这不是一件容易做对的事情。对我来说幸运的是,就在来谷歌之前,我花了一些时间学习计算机安全和密码学,所以我实际上已经为这项特殊的任务做好了充分的准备。…。我将计费系统设计为即使是拥有root访问权限的不诚实员工(这不是一件容易做的事情)也是安全的。我不知道他们是否还在使用我的系统,但如果他们还在使用,那么我会非常有信心我的信用卡号码不会被盗。

在我看来,他的技术知识和编程能力是他的主要贡献,而深思熟虑,比如意识到由于信用卡号码没有被盗,成本会有所降低,这不是雇主需要雇佣任何人的原因。

因此,如果我投递一份芯片架构师的简历,我会把重点放在从固定功能硬件加速器向可编程处理器转型的技术角色上,而不是这样节省的人力和我们由此赢得的业务(我认为这是我们工作的实际成果,但很难量化--这些事情通常都是这样,除非你是一个听起来亲商的说谎者。)。

顺便说一句,我不确定我什么时候会寄出那份简历,这就引出了下一个问题。

同事和老板通常不是你的朋友:你会花很多时间和同事在一起。你可能最终会和他们中的一些人成为亲密的朋友,但一般来说,你会在三年后继续生活。…。

你的老板会尝试做你的真正朋友都不会做的事情,比如试图说服你降低几千美元的薪水,或者让你内疚地让你花更多的时间在公司里,而你可以花更多的时间和你的真正的朋友在一起。*你会有其他同事,他们-和蔼可亲,合乎道德-会提出违反你利益的建议…

你的同事不是你的朋友的观点有一定的内在一致性,因为你将在3年后离开。事实上,它有点圆形。他们不是你的朋友,因为你会继续前进。那你为什么要向前看呢?嗯,我不知道,也许是为了加薪10%。有什么可失去的呢?和同事的关系?但是同事不是你的朋友!

再说一次,我不是不同意,而是提供了另一种观点,同样在内部是一致的。十多年来,我一直从事一份工作,很大程度上是因为我与同事关系密切。可以肯定的是,我获得了加薪,而且我已经准备好为雇佣条款辞职--但这需要的远不止10%。

这难道不只是偏好上的数量差异--10%的加薪与比如说100%的加薪没有根本区别吗?嗯,足够大的量变加起来就是质变,就像我父母有时引用的马克思辩证法或其他一些苏联哲学思想告诉我们的那样。现在的情况是,这两种方法都可以带来职业晋升,但它们的做法截然不同。

如果你愿意为了小幅加薪而换工作,你就会经常换工作。你不会依恋别人,也不会依恋你们一起做的工作。你会非常善于找工作,你会知道这个行业通常在发生什么,有什么需求。你不会知道很多特定于你的雇主的事情。你和你的雇主很快就会变得对彼此非常有用,但你们也会在某种程度上成为对方的牺牲品。

或者,你可以保住这份工作,只要它是一个有趣的环境,偶尔需要大幅加薪。你与人的关系,再加上你的长远眼光,可以让你们一起做一些原本无法计划或执行的事情,并学到一些你不会学到的东西。

我关于芯片设计的大部分知识来自与我共事的ASIC黑客,他们愿意与我一起开发他们最伟大的想法来自于信任,而这种信任必然需要时间来建立。我们需要时间来认识到,你们中没有一个人习惯于建议一些违背对方利益的事情,或者搞其他不友好的恶作剧。(这句话的意思是:你们没有一个人习惯于提出与对方利益背道而驰的事情,或者搞其他不友好的恶作剧。)。

顺便说一句,如果你在一个地方呆了很长一段时间,那么你对雇主的价值就会增长到你可以获得大幅加薪的地步,你可以在没有真正辞职的情况下辞职。你的价值增长也可能远远高于雇主愿意支付给有经验的新员工的薪酬,所以换工作不再是问题所在。这在某种程度上类似于在换了一大堆工作后成为一名顾问,现在的收入超过了下一次跳槽所能给你的。

这两种方法都有效,虽然我没有统计数据表明哪一种往往更有效。我确实相信长期的方法更有趣。通过跳槽,我永远也找不到像我现在这样的工作。更重要的是,我不会拥有工作中的人际关系。

更重要的是,因为所有达到目的的手段往往都会失败,然后我们剩下的就只有我们的手段了。你不能指望任何职业战略能给你一份梦寐以求的工作或一大笔钱;它在某种程度上会奏效,但谁知道呢。你可以指望的是,你的生活方式会受到你的职业选择相当可预见的影响。因此,这些选择对人际关系的影响可能比对职业发展的影响更重要,因为它更容易预测。

关于老板的部分是我唯一非常同意的部分。(我有足够多的老板,可以振振有词地否认我正在考虑这里的任何一个人。)。是的,他们中的一些人会希望你以更少的工资工作更多的时间(这本身就是雇主的自然愿望),同时试图让你看起来像你的朋友(这就有点让人讨厌了)。这只是意味着你应该(一如既往地)保护自己的利益-也许在花时间设身处地之前不要过于苛刻地评判别人。

麦肯齐说,你不应该太看重公平,他并没有花太多的话来说明这一点。我将谈到股票期权,这比实际的股权赠与更糟糕,也是我唯一被提供的东西。

我的基本观点又是长期的。我在一家私人公司工作,我在那里工作的十年间,该公司的价值几乎增长了10倍。而且它仍然是一家私营公司,所以从大多数股票期权中赚钱从来都不是一个容易的地方。

更糟糕的是,因为拥有股票期权把你的双手绑在背后。当你退出时,你通常买不起,或者至少买下它们是一个你可能不愿承担的重大风险。如果公司生存了很长一段时间,那么你可能会开始不喜欢这个地方,但现在希望通过股票期权赚钱会让你更难辞职。如果你总体上喜欢这个地方,各种选择会让你更难就加薪进行谈判,因为他们知道你不能辞职。

另一方面,随着公司的成熟,其股票期权往往会被员工低估,而且没有充分的理由。人们直观地认为,它已经很贵了--从现在开始,价格还能涨多少?如果价格已经涨了三倍或十倍,这是很自然的想法。

但这遗漏了一点,那就是你拿的不是百分比工资,而是美元工资。100美元的股票上涨20%,达到120美元,意味着你每股赚20美元。5美元的股票上涨100%,达到15美元,这意味着你每股只赚10美元。因此,一家价格仍在上涨的成熟公司的股票期权甚至可以比一家年轻公司的股票期权更好,因为年轻公司的股票期权上涨得更快,但仍然便宜-而且更有可能在一夜之间破产。

其结果是,人们在早期高估了股票期权-但后来他们也经常低估了它们的价值。

请注意,如果你不打算留在这里超过3年,那么股票期权肯定是一种负担,因为它们让你更难退出--而公司在这段时间内大赚一笔的机会非常低。

麦肯齐列出了不这么做的合理理由。在工作满意度方面,他说,你可以在大公司做很多令人兴奋的事情,而不仅仅是初创公司。

这里有一件事是对初创公司有利的。一家大公司通常不会有它不知道如何处理或甚至没有注意到的巨大的裂口。一家初创公司经常有很多这样的漏洞,因为,嗯,还没有建立起任何公司,他们甚至不知道自己在做什么,最重要的是,他们严重人手不足。

这意味着你几乎可以抓住任何你想要的责任。每个地方都会有人们争相从事的领域,但在一家初创企业中,如果做一些足够困难的事情,就会有一大堆没有人争先恐后地解决的难题,因为没有足够的时间和人力去做所有的事情。你可以是那个指出问题并承担责任的人。

随着公司的成熟,想做什么就做什么变得越来越难。我对此的比喻是,游牧程序员从一个问题搬到另一个问题,而移民者与各州和国界的定居者相比,在那里,即使访问你邻居的代码也可能涉及签证。

这并不是推荐给初创公司工作,只是有一件事值得指出。反过来说,如果你是一个井然有序的人,想要一个井然有序的过程,那么一个以发展文化闻名的更大的公司可能是一个更好的主意。

归根结底,你的生活幸福感不会被你的事业所主宰。

在某种程度上,我全心全意地同意这一点:无论一份工作有什么好处,它都是一份工作,而且我实际上注意到,当我把它视为更重要的时候,我的生产力会下降。健康的看待它的方式是一份工作,归根结底就是一份工作。

另一方面,我们确实花了相当多的时间在工作上。问题是,将工作与生活分开在多大程度上是有意义的,在多大程度上它是众多生活中的一部分,与生活的其他部分受到同样的对待,在多大程度上它是生活的一部分?

我认为,工作和生活的分离不应该强烈到足以将同事分成一个截然不同的人类类别,他们之间的关系从根本上是不同的--从情感上脱离工作场所、随时准备抛弃它并继续前进,也不一定是件好事。

(我并不是说麦肯齐的意图与我所说的正好相反,顺便说一句。我只是在评论一些引语和我所感觉到的文本的总体气氛。很多事情在被不同的人听到时有不同的含义;一条简单的建议,比如警惕他人的意图,对于过度信任的人来说是很好的,但对于那些已经接近偏执狂的人来说就不是了。有些人需要知道,同事不是朋友;今天我在为其他人写作。)。

当我自我介绍时,我通常称自己为程序员,而不管我目前在芯片架构和管理等方面的工作。我进入编程是为了赚钱,所以当我说起程序员时,并不像我那样洋溢着自豪感。我只是认为编程是一项伟大的职业,对我来说是正确的称呼。

还有一种可供选择的方法,你可以编程,但你不这么叫它,你把编程作为一个起点,你可以尽可能直接地从编程过渡到某种形式的参与商业活动。

在我看来,这听起来有点拐弯抹角--为什么不干脆去攻读MBA呢?--但对一些人来说,这可能是一条正确的道路(尤其是考虑到一些著名的MBA课程甚至希望你在入学前具备行业经验)。

重要的是选择适合你喜好的道路,始终如一地遵循它,并意识到你的方法在哪里最有可能成功。因为在我工作的地方,申请编程职位而不自称程序员的人不会给人留下好印象。

我非常同意麦肯齐文章中的许多观点--我最喜欢的观点是沟通技巧的重要性--我非常推荐它。

这里有很多好东西,但我不同意这样的说法,即在一家初创企业中,你几乎可以抓住任何你想要的责任。我曾在大公司(10万家)和早期初创公司(2家)工作过,在这两者之间还有很多地方工作过。

我的经验是,你在大公司里有更大的灵活性。不管你想做什么,你都可以调到那个部门去。

在初创公司,创始人更有可能告诉你,你可以在空闲时间做任何你喜欢的事情,但你必须在本周完成这项(巨大的)任务,否则我们将严重失去我们仅有的几个客户。

罗恩·加勒特是喷气推进实验室的私家侦探,不是整个团队的头儿。(至少在他去谷歌之前一两年我在那里工作的时候是这样。)。

我称自己为程序员,并分享您在文章中表达的大部分观点。顺便说一句,你提到的辩证法思想不是马克思主义的发明,而是起源于黑格尔。

我绝对同意为一家软件公司工作。如果你喜欢编程,你的目标应该是在你被欣赏为程序员的地方工作,那通常是主要产品是软件的公司(这样你就可以毫无问题地称自己为程序员)。

我写了一个清单,列出了我在编程工作中寻找的东西(http://henrikwarne.com/2013/03/26/what-do-programmers-want/),,上面的第一项是";产品是软件";)。

我喜欢读这篇文章。你写得很好,为大公司与小公司的难题提供了一些有趣的见解。我认为这一点的核心是人是不同的,多样性是好的。在招聘或被聘用时,很难找到合适的人选,因为这样的多样性,但总体上是值得的。

很棒的文章,几乎每一点我都同意。不过,有一件事我不同意,那就是股票在早期被高估,后来被低估。你拿不到百分比工资的逻辑有问题。

..