致经验不足的开发人员的公开信

致经验不足的开发人员的公开信

原文:https://medium.com/hackernoon/an-open-letter-to-less-experienced-developers-c33c16ea5e88

这条推特让我思考。

整个线程值得一读。我敢肯定,许多对代码感到兴奋的开发人员有时会对这些感觉产生共鸣。

我承诺了一个对 Twitter 来说太长的回复,这就是。

首先,一些背景:我记得大约在 1982 年或 1983 年的圣诞节,当我姐姐(比我大 8 岁)得到一台 Commodore VIC-20 时,我第一次对计算机感到兴奋。我记得在我 4、5 岁的时候,我想我可能会比她十几岁的时候用得更好。

从那时起,每当我接触电脑时,我都很兴奋,但直到我大约 11 或 12 岁时,我才真正开始了解它们是如何正常工作的。到 18 岁时,我已经对 C 语言了如指掌,足以在大学一年级时名列前茅。到 28 岁时,我已经在公务员系统、学术界、多家小企业、世界上一些特殊的角落(福克兰群岛很可爱)工作过,并经营着一家公司,帮助小型创业公司搞清楚这场技术革命到底是怎么回事。

我最终为几家初创公司做了 CTO,然后在大约 2014/2015 年,我意识到自己怀念编程,辞去了工作,接受了大约 30%的减薪,回到一家更大的公司担任高级软件工程师,我现在仍在那里。

Saron 在这条线上发的每条推都概括了我职业生涯的一些方面,在外人看来可能是一种方式,但实际上,还有别的事情在发生。

举个例子:

有趣的是,我可以用不久前自己发的一条推特来回应这个问题:

初级开发人员从这种期望开始,如果他们只是学习编码,他们将完成,然后得到他们的时间,他们将在职业生涯中进步。这是胡说八道。

以编码为生就是以学习为生。如果你不喜欢每天都学习,现在就回头,或者试着从学习的角度跳到要求不那么高的事情上。

你编码得越多,你就越意识到,有很多数学、理论、工程和创造性的领域你不理解,永远也不会去理解,因此假装你理解、愿意或能够理解是没有意义的。

如果你把我和另一个有相似经历的开发人员放在一起,但对方一生都在银行写代码,然后让我们一起去酒吧聊天,我们会惊讶地发现几乎没有什么共同点。

我们可以谈一点语言语义学。我会比他们更了解面向网络和应用的东西。他们可能更了解法规遵从性,也许更了解适合企业设置的策略。目前我花了很多时间在活动采购上,所以我们有共同点,但我们会用不同的名字称呼事情。

在我们的桌子上增加一个游戏开发者,我们可能会安静地坐一会儿,直到我们都记得我们都喜欢瑞克&莫蒂

我认为当你看到一个自谦的学长时,你通常会看到这种情况。他们实际上并不认为自己很糟糕,他们只是知道自己的局限,并喜欢在这些局限中工作,而且已经过了让你觉得他们什么都是专家的阶段。

下一个主题是:

一个软件最不重要的是代码。抱歉,但这是真的,越早认识到这一点,他们就会越有效率,越快乐,越踏实。

说代码是最重要的事情就像说一座新建筑最重要的部分是建筑师的蓝图。没有他们你走不远,但是建筑师必须做很多其他的事情来确保客户、当地居民、当局、其他建筑师等等。对这座建筑都很满意。

没有人会因为一幅好的图画而获得建筑师的奖项,一段服务于没有人拥有的需求的代码,或者以无意中泄露个人数据或破坏机器的方式去做的代码,是不会赢得高度赞扬的。

语言语义学相当于建筑师绘画的语言。正如建筑师将图纸传递给建筑工人来实现一样,我们将代码传递给解释者和编译器。

就像一些建筑师想在土木工程方面出类拔萃一样,一些程序员会进入语言的工作部分。

对于那些不关心建筑本身的人来说,预制房屋是多么物有所值,你可以通过下载或复制/粘贴材料并将其缝合在一起。

最终,作为专业人员,你有责任意识到你的代码有观众的期望,它对观众和其他人负有责任,这就是它存在的原因。

这并不意味着你不能为你如何通过在代码本身中表达那些需求来满足或超过那些期望或责任而自豪,但是直到你在内心深处接受你的工作是通过代码语言来为它们服务,并且代码本身并不比墨水和纸对于写作来说重要,你会发现这是一个残酷的职业。

我以前说软件工程 80%是交流,20%是写代码。我现在认为,如果做得好的话,更像是 95%/5%,只是通过设计和架构良好的代码,可以与其他工程师进行更多的交流。

我回到编码行业是因为这是我所知道的在谋生的同时表达自己的最好方式。我会弹一点钢琴,我是一个糟糕的艺术家,虽然我喜欢写作,但这并不能支付账单。

几年前,我有一堆兼职项目。他们中很少有人得到工作,因为现实生活阻碍了他们。我们中的一些人随着年龄的增长越来越累,我们中的一些人有家庭,我在没有意识到的情况下生病了,在过去的两年里,我基本上一直有一个问题,最终导致我失去了行走的能力(我现在基本上没事了,这里有更多的)。

关键是,经验告诉我们,对那些伟大的想法过于兴奋可能会导致沮丧,因为我们可能无法去实现它们。

不要让这阻止你对这些事情感到兴奋。尽你所能去建造。

如果你能够并且愿意,不仅仅要多产,还要多产。

随着年龄的增长,你的精力会减弱。没关系。你生活中的优先事项将会改变。没关系。你会缩小你的兴趣范围。这可能好,也可能不好,通常最好是对新领域保持开放的态度,尤其是在职业生涯的前 30 年左右。

但是不要混淆,那些把生活的其他方面放在首位的人和那些放弃了一个有好主意、有精力和技能去执行它的开发者所能做的潜力的人。请记住,我们都知道盖茨和扎克伯格的名字,因为他们只有两个:机会很大,荣耀很大,如果你想要,它就是你的。

但是,你知道,如果你想和人一起出去玩,不这样做是可以的。以我个人的经验,和人一起出去玩比和电脑一起出去玩更好。想想吧。

我有时会讲一个我几年前遇到的故事。我在索尔福德大学为皇家学会做 STEM 推广。一天早上,我发现自己正在曼彻斯特伊斯兰女子高中参加一个集会。

面对一屋子 11-14 岁的女孩,大多数戴着头巾,一些穿着长袍,我拿出了阿达·洛芙莱斯、格蕾丝·赫柏、盖茨、扎克和其他人的照片。我告诉那些女孩我是如何看到她们的潜力的:

如果你选择用这些技能来改善人类,你一生中能选择做的事情很少会让你对人类的改善产生如此大的影响。

有了家里可能已经有的笔记本电脑或个人电脑和一些知识,你可以为数十亿观众创造体验,除了你的时间,几乎不需要任何成本。这些经历可以教育、娱乐或提高。他们可以把人变成游戏中虚拟世界的超人,或者电子表格中的行业巨头。你可以建立精神肌肉来平衡我们作为一个物种的能力。

编写代码位于科学的分析世界和创造性艺术的表达潜力之间的迷人而美丽的交叉点上。它是专业的,有回报的,而且报酬丰厚。

如果你学习编码,并且喜欢它,你表达的极限完全是你自己造成的。

在做了 20 分钟慷慨激昂的演讲后,我坐下来听下一位演讲者:一位来自英国燃气公司的女士鼓励他们成为锅炉维修人员,这样他们就可以“穿上自己的制服,开上货车”。我对着我的社会叹了口气,拿起笔记本电脑就走了。

但是我现在告诉你,萨伦,以及所有和你有同样感觉的人,我的想法保持不变,我现在告诉你这些事情。

是的,我自我贬低,是的,我太忙了,以至于无法对任何事情都感到兴奋,是的,我确实优先考虑我的健康和生活的平衡,以至于像一个疯子一样将自己投入创造性编码的深渊。

但是千万不要误以为我们在向你发出信号,你正在天真地犯一个错误,你的兴奋最终会减弱,尽管你不希望如此,或者我们这些比你更有经验的人现在认为你的热情放错了地方。

一路顺风,祝你好运。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除