如何成为一名优秀的软件工程师?

时间:2016-07-19 09:22:07    来源:信狮教育    已有人浏览
分享到:
导读:在决定对软件做出改变的时候,大多数工程师会马上行动。刚开始的时候,工作会很简单,但是随着项目的发展,对代码做出改变会变得越来越困难。

  一. 简洁性较少代码数量

  在决定对软件做出改变的时候,大多数工程师会马上行动。刚开始的时候,工作会很简单,但是随着项目的发展,对代码做出改变会变得越来越困难。究其原因,主要就是因为积累了太多代码,代码变得越来越复杂。随着软件的活动件越来越多,软件的维护就会越来越难,潜在的bug也越来越多,构建和测试的时间也会越来越长……在这样的代码上工作,无可避免的会加大工程师的工作难度。

  “我没有时间写短信,所以我就写了一封长的。”

  — Mark Twain

  使用更多的代码,通常是懒人的解决方式,而并非最优的解决方式。你应该用更多的时间去寻找更简单的解决方式,最好能让代码的数量变少。

  二. 经验减少代码数量

  我认为,一名软件工程师会经历一下三个阶段:

  1.在深渊中挣扎。我们都经历过这个阶段。尤其是在刚入行的时候,这个时候你要尽可能多的吸收知识。你想要自己做出正确的事情,但是由于缺少经验,以及由于时间上的压力,你很难写出高质量的软件。你会犯很多的错误,而这些错误正是你学习的手段。最理想的情况下,你身边会有很多经验丰富的工程师,他们能给你提供支持和指导。

  2.自以为是阶段。在这个阶段,你会觉得自己已经掌握了软件的堆栈、语言或是框架。你在这个时候能够做出不多的软件,而且倾向于编写大量的代码,而且里面有大量的“神奇代码”,或是与一般的编程方式背向而驰的代码,因为你会觉得“我的代码编写方式更好”。或许每一个开发人员都曾经犯过这样的错误,我们甚至会觉得自己已经不再需要继续学习新东西了。反正我自己就曾经很多次的犯过这样的错误。

  3.成熟阶段。当你在回顾以前所写的代码的时候,如果你有这样的想法:“我怎么会把代码写的这么复杂?完全没有必要啊。”或者“我之前怎么没去查查其他人都怎么解决这个问题呢?”,那么这意味着你已经理解了软件工程师都会犯的那些错误,度过这个阶段,你就能够做出更好的解决方案了。

  “程序是给人写的,要让人能读懂;能被机器运行,只是程序的附加属性。”

  在我看来,人们对于软件工程最大的误解在于,很多人将软件工程师视为代码机器。他们认为写代码是我们最重要的工作。人们给软件工程师抛来一个问题,我们能够写下解决这个问题的代码。但是这种理解并不正确。我们的工作是解决软件问题,让软件达到一定的质量和可靠性,让它可以满足工作环境的需要。而这个过程中,写代码并不是我们唯一要做的事情。代码编写其实像是一个粘合剂,将我们的经验和知识连接在一起,但是它并不是我们所关注的最重要的事情。

  三. 深刻的理解减少代码数量

  

 

  在编写和维护软件的过程中,最糟糕的副产品是什么?大多数人会说是“技术债务(technical debt)”。技术债务有很多种表现形式,但是其中最主要的,与源代码有关。我想要强调,不仅仅是那些写的不够好的源代码会产生技术债务。标准、框架、甚至是语言,都有可能随着时间的推移出现变化。那些在某一个时间段下写的非常好的代码,在过了几年之后,也很有可能变得不可用,或是兼容程度不够高,从而需要软件工程师对其进行大规模的重构。

  如果你有着几年的编程经验,你一定有过类似的经验,在回头看自己几年前写的代码时,你会发现这些当时写的非常好的代码,如今需要你重写。对于许多软件工程师来说,寻找最佳的技术解决方案是我们的天性,也是我们热爱这一行的原因。几年前的你对于技术和代码认识还不够深刻,而几年之后,随着你的理解逐渐加深,在解决同样的问题的时候,你将会写出更好、更简单的代码。

  改写代码从来就不是一件容易的事情,无论是在代码编写的过程中,还是在代码已经完成之后。即使那些写的最好的代码,到了未来的某一个时段,它都会变成技术债务。在代码写完几年之后,未来的工程师(甚至是你自己),在理解这段代码的时候都有可能遇到困难。

  沟通是关键。不仅仅是工程师和非技术人员之间的沟通,还包括工程师之间的沟通。如果你能找到一种可以解决同样的问题,但是对代码数量需求更少的解决方式,那它就是更好的解决方式。

  总结

  从某种意义上看,人们对于软件工程师的要求,就是要打破自己的直觉和自然反应。也许吧,但是作为一名软件工程师,最重要的东西,就是“KISS(Keep It Simple, Stupid)。

  我知道我在这篇文章中说的可能有些夸张了。对于一名软件工程师来说,很难在每天的工作中只写少量的代码,但是请记住,代码数量少,出错的可能性就更小,而且未来的维护工作也会更少。

  •       关于学什么技术好就业这个问题,最常见的时候是人们想要找工作的时候,这不,最近小编的朋友就来问过了,因为想换工作,男生学

  • 信狮教育学校同样严格把控,校区每一位任课老师均拥有丰富的行业经验,并且经过了北大青鸟总部严格教学教法培训合格后方可持证上岗工作,他们在教学过程中不仅能传授课本上有的知识,

  •   随着了年末的到来,求职也进入了一个萧条期。从2013年史上最难就业季,到2014年更难就业季,大学生就业难一直是社会各界关注的热点。据

  •       深圳北大青鸟信狮教育:上了大学真的好就业吗?高考结束考上大学的高中生们往往都松了一口气,在暑假里不断憧憬着四年舒坦的大

  •   根据最新新闻报道,4月1日起,北京、上海和天津将分别上调最低工资标准。据记者不完全统计,随着北京和上海加入最低工资标准的上调行列

  • 田*辉:输了高考赢了人生

    时间过得非常快,从北大青鸟信狮教育毕业至今似乎已有五月之久,六个月的学习时间似乎完完整整的达到一种并且给人屌丝逆袭的感觉。想想过去的种种我对现在的自己以及获得的成绩感到非

  • 陈*东:梦想照进现实,奋力前行

    姓名:陈*东班级:JT29班学历:大专年龄:23就业企业:云奥贸易就业岗位:开发工程师就业薪资:8000我,曾是一个刚离开校园的毕业生,怀揣

  • 江*宇:在信狮的学习只有“值得”两字可以来形容

    姓名:江*宇班级:3T131专业:ACCP8 0学历:初中年龄:17就业企业:深圳*网智能科技有限公司就业岗位:java软件工程师就业薪资:6500+伴随

  • 不忘初心,方得始终

    姓名:林*辉班级:3T129学历:高中年龄:21就业企业:深圳华为*安云谷就业岗位:web工程师就业薪资:8500时间飞逝,一年半的时光匆匆而过,

  • 许*泽:我的人生我做主

    半年前对生活比较迷茫 ,决定继续从事自己的专业,于是来到了信狮学校进行了为期半年的Java学习,毕业后顺利进入全新的工作领域,成为了一

热点专题 更多 >
热门标签 更多 >