成功的软件工程师共有的10个习惯和技能

又看到一篇关于方法论的文章,观点仍是不错的。翻译出来,分享给你们。若是有一项启发了你,那恭喜你。如下为正文内容:程序员

就像没有两片相同的雪花同样,程序员也各有不一样。每一片雪花都是由不一样原子以独特的结构构成。一样,对于程序员来讲不管学习的途径如何类似,在开发技能和能力上都会有所不一样。微信

即便具备不一样天资水平,可以达到行业顶峰或被公认的成功人士一般都是以习惯和技能做为坚实的基础。这也使他们能够更长久地接近最大效率,并在较长的时间持续得到更高质量的输出。函数

多年参与软件项目和管理人员的过程当中,如下特质在成功人士中脱颖而出。这些技能和习惯不只能够提升产出的效率和质量,还能够帮助任何人达到更高的水平。工具

1.寻找有效管理时间的方法

最好的软件工程师既要编写代码,又要做为本身的时间管理者,从而保持较高的效率。学习

大多数软件工程师须要独自完成某些艰巨的开发任务,它们每每须要深刻的思考和规划。这也意味着被干扰和注意力分散的可能性很高。测试

优秀的工程师了解如何避免这些干扰,如何在有效区间中最大化时间,从而产生最大输出和极限效率。编码

PS:像“番茄工做法”和“四象限工做法”都是不错的时间管理法,可根据本身的须要和习惯来运用。翻译

2.遵照编码标准

你应该始终以一致的风格来编写代码。设计

若是你所在的团队有一个标准能够遵循,那就太好了。若是没有,那么你应该创建本身的标准。遵循标准提供了一套行事准则,随着时间的流逝会提升输出的效率和一致性。版本控制

我的标准还能够帮助你识别曾经写的代码,当须要排查、修改或重构代码时提供有效的帮助。当你忘记曾经写的代码时,统一的编码风格也能够为你提供熟悉的感受,从而提高回顾代码的效率。

PS:规范化是批量化生产的基础。统一的规范,统一的编码风格,即便忘记了当初的业务逻辑,也能够快速梳理。

3.尽早且常常与团队和老板沟通

世界是互联的,没有一个工程师是在真空中工做。

任何正在进行的项目,总会有利益相关者。优秀的软件工程师会意识到这一点的重要性,并努力确保每一个利益相关者(不管相关程度如何)的知情权,并可以快速了解开发的最新情况。

沟通是优秀团队合做的基础,而最好的工程师始终会努力使每一个人都持续得到最新进展。

PS:说沟通是最大的生产力一点不为过,关键是还能修正错误的认知,产生新的灵感,固然前提是有效沟通。

4.寻找学习的榜样

总有更多的东西须要学习。

不管多么擅长某种语言或方法,总会有某些新的事物在某刻出现。做为软件工程师,成长的最佳方法之一就是跟随聪明人的脚步,由于他们已经在前面铺好了路。

这并不须要构建特定的师生关系。团队中的成员、博客做者、领导以及开源项目均可觉得本身的职业生涯提供知识和价值的来源。核心目标就是永不中止地学习。

PS:曾经一直感慨职场中缺乏能够学习的榜样。后来发现,读书、读博客、读源代码等也是在向榜样学习。

5.尽早且常常的核查

目前代码的版本控制已经没有什么限制了,易用且只需花不多精力便可完成操做。因此,尽情的使用吧。

由于没有备份而失去工做,一点都不冤。现有的工具使备份的成本变得微不足道,将其做为工做中优先级较高的事项来处理吧。

不少软件都会自动进行备份,出错的可能性极小,但不是没有可能。养成常常备份和检查的习惯是保持持续进步和高效的重要手段。

PS:曾经写了上百页的文档,忽然软件崩溃了,本身也差很少崩溃了,还好最后找回来了大部分的内容。必备技能:Ctrl + S。

6.平衡工做与生活

工做永无止境,企业只会压榨出你最后的一点价值。

沉浸于一个大项目是很容易发生的事,若是你让这件事发生,它会耗尽你全部的精力。但大脑须要休息和刺激,而不是经过电脑屏幕、键盘和更多的咖啡来保持较高的效率。

周末的存在是有缘由的。花一点时间去散步、看一场演出或遛遛狗。当你回来的时,工做就在那里,你能够经过平衡工做和我的生活来得到更高的平均产出。

PS:啥都不说了,劳逸结合。若是还在996,就得动点脑筋了,毕竟挣钱是为了更好的生活,更健康的生活。

7.持续进行我的项目

任何人都不可能在各个领域保持处于前沿水平。

即便你正在从事着最前沿的工做,仍然有许多没有探索或学习的前沿技术。

我的学习和独立项目是继续学习新领域的关键,而这些领域多是正常的8-5工做制中所不能涵盖的。经过我的项目可使你跟上其余技术领域的发展并与其创建关联性,创造学习的机会。

PS:以项目实战引领学习节奏。

8.学会准确预估

工做是按日期和时间表进行的。

不管你的开发方法有多敏捷,总会在某刻出现一个问题:“何时能准备好?”

经过了解本身的工做习惯以及单位时间的产出,能够更轻松地获得一个准确的答案。诀窍是要在正式加入团队以前就了解到这一点。了解本身的能力和局限性可让你更自信更准确地回答这个问题。

9.注解代码

随着时间的推移,你会逐渐遗忘为何用这种方式来实现这个函数。

将来的某一天,回顾旧代码时,须要花费一样的精力来理解代码是你仍是其余人写的。注解代码提供了一种方式,使任何人(包括你本身)均可以快速了解上下文内容,从而能够排查、维护或修改软件。

当使用注解成为一种习惯,不只能够跨越时间的保留当初设计的初衷,并且还能够得到比阅读代码更好、更快的理解和处理复杂业务逻辑的优点。

PS:永远不要相信你的记忆力。多篇文章中都提到文档和注解的做用。一个月后看本身的代码与看别人的代码基本上没啥区别。

10.学习如何对本身的工做进行质量检查

没有人比编写软件的人更了解软件的优点和局限性。

在将新特性和功能交付他人review以前,执行本身的质量检查(QA)是编写稳定、完整软件的宝贵工具。

学习和实践测试驱动开发(TDD)等技能,并了解如何有效地对本身的代码进行360度审查,寻找边界状况,将使你在输出质量方面远远超过其余人。无论这个过程看起来多么无聊或耗时,学习如何有效地进行质量检查将使你成为一个更好的软件工程师。

PS:只能说自测是一种美德。

做为软件工程师,越早养成成功的习惯和技能,你的职业将会越成功。记住要继续阅读和学习,永不放弃!


程序新视界:精彩和成长都不容错过

程序新视界-微信公众号