作为一名程序员,我痴迷于技术教程。即使生吃,没有任何装饰,它们也适合我的口味。
这是因为当我进入软件行业时,纯技术材料明显短缺。Reddit和StackOverflow甚至还没有诞生。谷歌在摇篮里。
用户手册或文档以外的任何东西都是有价值的材料。

我对技术教程的热爱也植根于这样一个事实,即我受够了来自我那个时代技术领导者的半熟的技术建议:“努力工作,你就会成长”类型的样板。
就在三年前,我写了一篇非常受欢迎的文章,内容是关于一个高效程序员的七个习惯,描述了每个程序员都应该掌握的任务。
但我不知道一条真正的技术建议是什么样子的。
回想一下,以下是我很想听的东西。
#1:你必须不断脱颖而出这并不意味着你必须是唯一一个在团队会议上大喊大叫的人。这是关于真正的工作,加上可证明的结果。
一项技术相关的时间越来越短。如果你是C++专家,并且只是把它作为一种技能,你就再也找不到工作了。
你必须找到一种方法来提及你的代码可以让机器人在木星上行走。如果没有,至少打破一些厨房用具。
工作、面试和职位总是稀缺的。简历和求职信最终被囤积起来。
如果你不在每个阶段都脱颖而出,你注定要退出任何职业,而不仅仅是软件。
您的进度从重新格式化简历开始,包括重新发现您的面试陈述技巧。在两者之间,你应该以表演为目标——比人群更好地展示。
找到你梦想中的工作后,一个全新的进度周期开始了。
#2:你是由你做什么来定义的,而不是你属于哪里:作为一名编码员/开发人员,这一定能引起你的共鸣。因为您知道,对客户端(双关语)来说,接口(商定的合同<=>预期结果)比类/对象(如何实现东西)更重要。
当您将此转换为公司术语时,这意味着您的工作职能比您的职称更重要。穿着燕尾服签署客户合同的经理并不比你更重要——穿着卡其色短裤的代码瘾君子。你交付的东西能给公司带来收入,而你的重要性完全来自这一事实。
由于我们正在使用接口类比,我们必须寻求我们交付的东西的外在表现。如果这对公司的既定目标有价值,我们不需要任何人的认可。
如果没有,我们必须在旧的设置中重新发明我们的界面,或者找到一个适合我们实现的新界面(双关语)。
#3:命名事物比缓存失效更重要:计算机科学中只有两件困难的事情:缓存失效和命名。
—菲尔·卡尔顿
命名事物不仅仅是变量和函数命名。当你给某物命名时,你赋予它一种抽象的本质。事物的未来消费者应该能够将这种抽象转化为适当的具体形式,以得出预期的含义。
您必须评估计数器变量是否必须命名为计数器或i/j/k。
同样在你的职业生涯中,当你换工作时,除了使缓存无效(摆脱旧的偏见)外,你在命名时必须谨慎。一次又一次地命名(分类)你的成就和失败——直到你得出正确的结论。在正确的桶下推销它们。
正直的人重视那些具有相同天性的人。你会及时得到回报。
#4:大学学位可能很值得如果你还没有,可能值得考虑回去。
如果我在3年前写了这本指南,它就不会被列入名单。从FAAMG到街上的初创公司,每个人都说:动手技能比理论知识更重要。
然而,GenAI的进入为生产力等式引入了另一个维度。拥有足够技术知识的产品所有者可以使用GitHub副驾驶员毫不费力地编写代码。
即使GenAI在真正的程序员的工作上很糟糕,但仅凭这种看法就提高了行业期望,这个数量级。
技术人员再也负担不起成为代码瘾君子了。你能问正确的问题吗?您是否能够与商务人士在同一水平上解释领域和需求讨论?这些问题将更加重要。我亲身体验过它,甚至在GenAI之前。
当然,程序员会更好地公正地对待一个充满技术债务和109个错误的代码库。然而,随着GenAI的到来,样板调试的规模将大幅缩小。
大学学位可能不会直接给你绝对的权力,让你在没有实际操作的情况下研究产品。但它可能会给你足够的时间来:
思考并重新思考你的优先事项+领域将您的原始技能与高级概念交织在一起建立有意义的联系。原因?阅读下一点。#5:除非你是爱因斯坦,否则没有联系的天赋就算不了什么:我想在标题中使用一个丰富、智能的程序员的名字。但这真的是一回事吗?缺席时,我不得不麻烦质量能方程的发明者
每一步都需要有意义的联系。他们可以帮助您将申请转发给相关的招聘经理。他们可以提名你参加下一次晋升。在最好的情况下,他们也可以成为您的联合创始人/投资者。
顺便说一句,爱因斯坦的时代已经过去几十年了——不仅在编程方面,而且在科学方面。公司统治,谁可以雇用N人来制造超过100万条记录。
独特的见解?好吧,只要专利赚钱,谁就经常需要它们呢?这把我们带到了下一个点。
#6:你独特的想法在公司里没有多大价值:在组织中,没有人会寻找有独特想法的人。即使这是你工作描述的一部分。
很有可能,有人已经考虑过了。
即使情况并非如此,提出新的想法也会产生不良副作用:每个人都对此很生气。
根本原因可能是以下方面的变化:
我为什么不想出来?为什么这个新家伙想改变事情?他/她知道什么?我们知道,这不会有什么结果。这家伙只是个炫耀,想快点爬梯子。让我们把他带下来。即使你这样做是集体头脑风暴的一部分,也不能保证逃避这种想法。过去的头脑风暴,这不再是你的想法了。
在90%的情况下,酋长会丢弃它。如果它真的有价值,他会把它带给他最喜欢的爪牙(除非你像上面#5那样联网),并以全新的包装出售给组织。
外卖?把自己从心碎中解救出来。把你最好的留给自己的努力。
#7:处理你自己的东西:副项目消耗了大量时间。这会严重破坏你的家庭承诺和工作与生活的平衡。
但它们让你的生活值得一去——即使只有一次。
在没有一个欣赏的组织的情况下,你的激情必须有一个出口。如果你的下一个小隔间同事正在做第二份工作,你会有点不满。
你的副项目可能不会让你快速赚钱,但它可以让你对你拥有的东西有进展的感觉。
它可以是一个独立游戏,你孩子的机器人初创公司,也可以是你自己的有机农场。至少你可以梦想在退休后获得回报。或者保留它作为急需的下班后放松的选择。
结论:编程是一门独特的学科。完全踏入需要更多的时间,过时的时间要少得多。
除非你将你的技能与意义和智慧结合起来,否则你要么被抛弃,要么被烧毁。
你越早学会让你的技能为你工作,你将获得更好的回报。