TEL : 0558-4285588

安徽弘展科技内部程序员分享如何成为一个优秀的软件开发工程师

作者:弘展网络科技来源:安徽弘展网络科技网址:http://www.3hznet.com

尽管您可能将软件工程师想象成缺乏社交技能并住在地下室的怪胎,但这些人实际上需要具备一定的素质,才能使他们适合担任这份工作,他们热衷于代码并且注重细节,可以融入这一领域,但还有其他技能和性格特征可以帮助抓住这份令人垂涎的工作。而且,从外部看,共享这些属性的开发人员就是那些会让您辞职以创建公司的人。

编辑搜图


请点击输入图片描述

技术能力

1.基本的计算机科学技能:希望任何软件工程师都具备这些技能,甚至更多。研究技能,阅读理解能力,知道如何使用库函数的能力以及理解计算问题,设计模式和框架的能力是其他有价值的技能。一流的课堂让学生参与进来,并帮助他们发展逻辑思维,创造性的问题解决和沟通能力。结合团队方法的课程,要求成员在解决问题和向他人解释解决方案时进行明确的沟通,使毕业生能够以这种方式工作。

2.对代码的热情:不适合无聊的人进行编程。您必须对代码充满热情,将其从纯粹的科学技能发展为工艺或艺术。建筑规范很像开发绘画,雕塑或交响曲。随着开放源代码的普及,您不必在代码创建中一个人了–与来自世界各地的软件工程师和开发人员合作的能力很可能是通过Internet。

编辑搜图


请点击输入图片描述

3.无所畏惧的重构:重构是在不更改代码功能的情况下改进代码的能力。意识到没有人可以成为原始代码的奴隶的能力在这里很关键-随着时间的流逝,旧代码可能变得不稳定和不兼容。重构使开发人员可以拥有代码,而不是拥有代码。

4.提高质量:在过去的时代,工程师们认为测试是他们的根本。今天,经验丰富的工程师了解并理解测试的价值,因为他们的目标是创建一个工作系统。暴露并消除错误是开发最佳代码的最佳方法。但是,优秀的工程师也知道不要浪费时间编写琐碎或多余的测试,而要专注于测试每个组件的基本部分。

编辑搜图


请点击输入图片描述

5.愿意利用现有代码:为什么要在轮子已经工作时发明轮子?生命太短了,无法不断发明新的代码和库。重用内部基础架构,使用第三方库以及利用Web级服务(例如Amazon提供的服务)是软件天才的标志。

6.专注于可用和可维护的代码:软件总是比设计良好且以用户为中心的软件更好。优秀的工程师会努力使系统简单易用。他们一直在思考客户,而不是尝试发明那些只有极客才能理解和欣赏的复杂东西。训练有素的工程师也从一开始就考虑代码的可维护性和发展。方法和变量的表达名可以使代码不言自明。

编辑搜图


请点击输入图片描述

7.可以使用多种语言进行编码:用任何语言编写FORTRAN只是冰山一角。就像一个会说多种语言的人一样,不拘泥于一种编码语言的工程师也可以跳出框框思考,这是一个更理想的选择。愿意学习新的语言,新的库和新的系统构建方式对于创建优秀的软件工程师来说是很长的路要走。

编辑搜图


请点击输入图片描述

个人特质

8.愿景:当开发代码在一两年之内无法应用时,它在代码开发中有什么用?有远见的人创建了可重构的代码和库,并易于在所有代码语言中使用。能够看到当今决策的影响对于构建出色的软件至关重要。

9.注意细节:如果您对拼写错误的数据库列,“未注释”的代码,未检入源代码管理的项目,未经单元测试的软件,未实现的功能等感到生气,那么您可能会尝试避免这些错误发布自己。错误的安装软件包,草率的部署或拼写错误的列名可能会使整个系统瘫痪。痴迷于细节,您将成为软件之星。

编辑搜图


请点击输入图片描述

10.业务敏锐度:如果您不了解为什么软件开发对客户的生活如此重要,请考虑以下NASA故事。“该软件永不崩溃。它永远不需要重新启动。该软件没有错误。它是完美的,就像人类所达到的那样完美。考虑以下统计信息:程序的最后三个版本-每个420,000行长每个错误仅一个。该软件的最后11个版本共有17个错误。具有同等复杂度的商业程序将有5,000个错误。”能够理解为什么要进行所有编码的能力,因为这对任何客户或客户都是成功的。

11.好奇心:最好的软件工程师对为什么以某种方式完成某件事却又具有客观地解决方案的能力感到好奇。我们认识的许多工程师在小时候就陷入麻烦,无法将事情分解成一团,看看他们是如何工作的。将软件组合在一起只是一种创造力,许多软件工程师也有艺术爱好。在设计程序时,需要创造性思维和好奇心。使某件事起作用的快感是让您前进的动力。

编辑搜图


请点击输入图片描述

12.经验:如果您从小就一直在尝试软件程序,那么您成年后的能力将提高四倍。除了动手实践之外,您可能还沉迷于数学和科学以及保持井井有条的能力。同时,出色的软件工程师也意识到他们并不了解所有这些……在不断变化的领域中,持续学习的能力至关重要。

13.纪律:尽管您可能对工作充满热情,但对工作和下一个项目的热爱并不意味着您会变得草率。注重细节很重要,但保持井井有条的能力也很重要。如此多的错误代码属于不执行他们应该做的事情的开发人员。

编辑搜图


请点击输入图片描述

14.耐心:虫子是自然的。设计故障是正常的。其他工程师经常进行草率的编码。对于想要在这一领域工作的软件工程师来说,耐心是一项关键素质。

15.团队合作:很少有项目足够小或只需要很少的技能,一个人就能做好。学习如何在大学里团队合作是克服“隐士”形象的一种方法……而在网上或办公室里团队合作只能产生出色的项目。成功的工程师也将成为良好的沟通者。他们知道如何编写清晰简洁的报告和说明,并且知道如何向客户和客户传达想法。


会员登录
登录
留言
回到顶部