翻译:给自己作为新软件工程师的一封信

翻译:给自己作为新软件工程师的一封信

科技爱好者周刊:第 101 期 - 阮一峰的网络日志

原文:A letter to myself as a fresh software engineer

亲爱的自己:

你刚刚毕业,并且已经准备号开始你在IT领域的职业生涯。我不能剧透,但我向你保证这将是一段有趣的旅程。我给你写这封信是因为我想给你一些帮你变得更加专业的建议。接下来的几年,你不会学到任何东西,这正是我希望某人在我职业开始的时候高速我的。

这是一场马拉松,不是短跑。

成为一个好的软件工程师是个很长的路。不要一下跑的太快,也不要放弃,因为你并不会很容易地、快速地赢得比赛。花时间学习你感兴趣的东西,并且做到最好。记住,这是一场马拉松,不是短跑。

要谦虚,不要愚蠢

要谦虚,这很好(对不起,这是基础的)。总会可以在别人身上学到东西,即使你是资深专业的。但这并不意味着你不如任何人,你得尊重你自己和你的技术。当你不尊重你自己的时候,你就变得愚蠢,不在谦虚了。

和自己比,而不是别人

与别人比较是没有意义的。 工作中总会有人比你厉害,总会有比你厉害的人还厉害的人,总会有……好了,你明白了。只做你最好的。如果你认为有人是比你厉害的工程师,那就学习他。保持做你最好的,最终你会成为别人眼中厉害的人。

尊重人,而不是头衔

在你职业生涯中,你将会与资深的专业人员一起工作。最重要的是,你会遇见不一般的人。要因为他们是谁而尊重人,而不要因为他们的头衔。如果foo是“ 首席高级工程架构师 ”,这并不意味这他比初级软件开发人员bar更受尊重。

选择挑战,而不是舒适

路上满是岔路口。可能会有很多选择,但一切都可以归结为你在舒适区,或离开舒适区的选择。你生活中会可能有这样一刻,数十年的工作后,你觉得需要平静下来,因为你将为你的成就感到满意。直到那一刻,尝试走出舒适区。这将使你更加专业,你也会对职业生涯更加满足。记住最好的事情往往发生在舒适区之外

从白板开始,而不是键盘

当你设计了一个新的功能或者一个新的系统,不要跳到键盘上就开始写代码。你需要训练的“肌肉”是你的大脑,不是你的手指。行动之前一定要思考。出于这个原因,转向白板而不是键盘,并且要开始思考你应该实现什么。要是有一个能和你进行思维碰撞的伙伴最好了。我说的“白板”指的是“任何可以帮助你思考的对象”,可以是一支笔和一张纸、一个记事本应用等等。

产生价值,而不是代码

请不要被NIH综合症影响。重复造轮子没有意义。避免在早已解决的问题上浪费时间。如果你能通过简单的粘合几种工具就能解决问题,那就这样做。做为软件工程师,你应该产出的是对工作的价值,并不是几行代码。

选择生活,而不是工作

在IT领域,很容易过度关注工作。毕竟,对我们大多数人来说,这不仅仅是一个工作,这是激情。记住工作很重要,但是生活更重要。过一个有意义又丰富的生活。做运动,读书,找到爱好,旅行,去看我们生活的美丽的世界。和朋友出去玩,找一个生活的伴侣,给伴侣所有你能给的爱、注意力和支持。你将会惊讶有一个丰富多彩的生活将使你更加专业。

这就是现在所有我可以给你说的。我仍然有很多东西要学。

最后一件事,享受旅途

(一个更有经验的)你



作者,Luca Florio

计算机科学博士, 热衷分布式系统,半栈开发人员,数据和机器学习爱好者,马伽术黑带

原文地址:https://www.cnblogs.com/bfjdbcs/p/12683364.html

时间: 2024-11-01 02:45:12

翻译:给自己作为新软件工程师的一封信的相关文章

明星软件工程师的10种特质(转)

如今,每家公司都似乎成了科技公司.从软件创业公司到投机性投资公司.制药巨头和媒体巨头,它们都越来越多地加入到软件业务行列.代码质量不仅成为了一个必需品,更成为了一个竞争优势.因为众多公司围绕软件而竞争,开发软件的人——软件工程师正显得越发重要.但是,你该如何发现那种百里挑一的程序员呢?在本文中,我们简明扼要地列出了明星开发人员的10种特质. 1. 热爱编程 2. 完成事情 3. 持续重构代码 4. 使用设计模式 5. 编写测试 6. 善用现有代码 7. 专注可用性 8. 编写可维护的代码 9.

CEO应向软件工程师学习的7个技能

软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此.但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学习呢? 1.懒惰 优秀的工程师(不只是软件工程师)是懒惰的:他们喜欢自动化重复性的工作,不愿意做任何不必要的工作.会议和文书工作通常都属于这一类.通过避免不必要的工作,软件工程师可以更高效,并且有更多的时间去做更多有用的工作.CEO也应该力求高效率的偷懒.删除不必要的活动,把精力和时间放到提升价值的

软件工程师的必修和选修(转)

谷歌员工眼中的6个关键点 在我向你提供课程列表前,先读第一二点 全职工作人员——基于你的行业经验和学术背景去选择性的看待这个回答 准大学生——请直接跳到第七点 标记说明: # 可选的 **必须的 #第一点:让我们回到这个问题本身,也即是如何准备才能让自己成为“优秀”的软件工程师? 是的!这个问题的剩余部分都是可选的.加入谷歌不是登月计划.任何优秀的软件工程师都有好机会成为谷歌工作文化的一部分.问题是你如何定义“优秀”. **第二点:调整态度 在你给谷歌招聘人员留下深刻印象之前,让我们来看看谷歌的

浅谈软件工程师的代码素养

WeTest 导读 写这篇文章时内心是比较忐忑的,因为文章的话题范围非常大,怕自己驾驭不了.在实际工作中,维护过很多类型的代码,其中不乏高级工程师完成的逻辑,大家的需求能力都很不错,能够快速满足产品的需要,但很少能有人能注意到代码的整洁度,甚至很多代码经过多人维护后已经变得无法再进行任何一处的修改,最后不得不花大量的时间进行重构.因此我决定还是写一篇文章来"浅谈"软件工程师应具备的代码素养,希望能够对大家有所帮助,水平所限,如有不当之处还请不吝指正~ "程序是写给人读的,只是

JAVA软件工程师笔试试题

JAVA软件工程师笔试试题 (考试时间:120分钟 试卷分值:150分 ) 一. 逻辑推理题[10分] 1.甲.乙.丙.丁四位同学中有一位同学为海啸灾区捐款1000元,当老师询问时,他们分别这样回答: 甲:这1000元不是我捐的 乙:这1000元是丁捐的 丙:这1000元是乙捐的 丁:这1000元不是我捐的 这四人中只有一个人说了真话,由此可见这1000元是谁捐的( ).[2分] A.甲 B.乙 C.丙 D.丁 2. 甲.乙.丙三人是同一家公司的员工,他们的未婚妻A.B.C也都是这家公司的职员.

软件工程师的成长(构建之法)

上班的时候,高级的软件工程师其实和普通的软件工程师一样坐在电脑前敲敲打打,查下邮件,上会网,看看手机,聊会天.但是两者的区别就在下班的时候,高级工程师下班回家,而新入职的工程师还在电脑前奋斗. 软件开发不仅有团队的流程,还对每个成员有独立的要求.软件团队是由个人组成的,团队开发的大流程中是每一个人在做具体的开发测试用户界面设计管理交流等工作.个人在团队中也有独立的工作流程.但是个人的工作要用什么来评判呢,用上班时间?那是不是经常加时的同志能够赢得头筹? 初级软件工程师要成长要先积累开发相关的知识

一位软件工程师的7年总结

1.分享第一条经验:“学历代表过去.能力代表现在.学习力代表未来.”其实这是一个来自国外教育领域的一个研究结果.相信工作过几年.十几年的朋友对这 个道理有些体会吧.但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2.一定要确定自己的发展方向,并为此目的制定可行的计划.不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”.因为,这样的观点会通过 你的潜意识去暗示你的行为无所事事.碌碌无为.一直做技术,将来成为专家级人

软件工程师周兆熊给IT学子的倾情奉献

[来信] 贺老师: 你好,我是中兴通讯的一名软件开发工程师,名叫周兆熊.最近看了您的新书<逆袭大学:传给IT学子的正能量>,感觉你真心为当代学子答疑解惑,很值得敬佩! 从上大学开始,我就喜欢写一些文章,然后发表到博客上.最开始是在新浪博客上写文章(http://blog.sina.com.cn/u/1646254072),后来转到了CSDN上(http://blog.csdn.net/zhouzhaoxiong1227).通过在博客上写文章,我结交了很多朋友,同时也学到了很多东西. 作为广大的

现代软件工程 第三章:【软件工程师的成长】练习与讨论

1.选哪一种医生? 分析一下四个医生, a)属于新手类型,能力有限,经验不足,主要能完成功能就可以.bug会比较多,代码也不规范. b)属于创造类型,既然能想到新技术和新方法,说明必然有一定的经验.但是创新虽好,也可能失败,成功可能性跟自己的能力有关. c)属于熟练类型,对于代码的实现相当熟悉,能够快速的实现功能需求. d)属于糊弄类型,相当之不靠谱,明眼人都知道,但有时瞎猫碰见了死耗子或者民间高手也有可能出现. 你要选哪类医生? 我会选c类型的医生,虽然创新不能保证,但可以保证最基本的功能需求