写代码可能是成为软件工程师最容易的部分

当然,写代码是超级重要的,但是我认为它只是整个过程中的一小部分,且不一定是最难学的。

学习如何写代码要花些时间,但是只要有足够的训练(每天写代码,坚持数年),你就能真正擅长它。

你知道的,我相信在某种程度上,每个软件开发人员几乎能给任何软件写代码。(当然有时候这要用更长的时间,但是你不再感到害怕,肯定能按照你的方式来运行。)

我和自己的同事都看到了这种现象。我今天的一部分工作是把项目分配给开发人员,我的团队有一些成员,常常能够适应任何项目。这些家伙就是我说的能够给任何软件写代码的人。

基本上,我不得不改变我过去用于衡量他们做为工程师的标准。他们已经都是非常优秀的程序员了。

不仅仅是要成为优秀的写代码的人

这些家伙都擅长让计算机做他们想做的事情。但是这个行业里任何有经验的人将要对你说,还有更多的能力。

其中较大的一部分,是你通过看书、然后经过一周训练还无法准备好的。像大部分其它工作一样,经验在软件工程职业里发挥着巨大作用,没有其它捷径可走。

我花了一些时间,尽量思考我在软件工程里最看重的所有方面(和写代码有关),下面是我想到的,不分顺序:

  • 编码的能力(当然,这是既定事实。)
  • 编写正确的程序的能力。
  • 使用正确的方式编码的能力。
  • 快速编码的能力。
  • 证明你的代码运行的能力。
  • 和其他人编码的能力。
  • 为其他人写代码的能力。
  • 讨论你的代码的能力。
  • 为将来编码的能力。
  • 从你的代码学到经验的能力。

除了写代码的能力,列表中的其它方面对于靠软件谋生的任何人而言,都是相当重要的。而且,我敢肯定,所有这些对于优秀的职业生涯都是同等重要的。它们每一项都难以学习,不能速成,需要数年经验才能掌握。

(当然,写代码的能力就像把其它所有东西粘在一起的胶水。没有这种能力,一切无从谈起。)

不过,它是最容易的吗?

我给本文的标题为“写代码可能是成为软件工程师最容易的部分”,因为我深信,成为优秀的开发人员,比成为优秀的工程师要用更少的时间。

达到“优秀的开发人员”的状态,对于任何软件工程师而言,是一个不可逾越的阶段:首先你需要学习弹钢琴,然后你才能开始音乐创作。你具备了写代码的一流能力,才能打造你的软件工程师职业生涯。此后你拓展能力,开始增加和夯实越来越多的技能。

但是,所有一切能力的基础是掌握写代码的能力。

没有绝对

我认识一些杰出的开发人员,他们能够用 C++ 编译器做出牛逼的东西。我从来达不到这种境界。我认识的大部分优秀的软件工程师也将不可能达到这种境界。这些家伙是用他们的生命积累了海量的编程技能,十分不易。

我还认识一些优秀的软件工程师,他们从来不是好的开发人员。他们选择了一条不同的道路,才成为他们今天的样子,这条路适合他们。

对于我,以及我认识的大部分人来说,他们从写代码开始,并以此为基础。写代码是最容易的部分。其它部分要花时间,大量的时间。

来源:51CTO

时间: 2024-10-03 10:57:08

写代码可能是成为软件工程师最容易的部分的相关文章

[转]技术领导要不要写代码?

[转]技术领导要不要写代码? 前言 嗨!大家好啊!那么今天开始呢,笔者会为大家带来一些比较优秀的文章进行转载整理,在这里也感谢所有的文章提供者辛勤的付出! 如原文作者不希望转载,请联系! 附上: 喵了个咪的博客:http://w-blog.cn 原文地址(乱象,印迹):http://www.luanxiang.org/blog/archives/2228.html 技术领导要不要写代码?这是一个问题 我刚工作的时候就听说,程序员(那时候还没有"码农"的说法)是吃青春饭的,到30岁就熬不

技术领导要不要写代码?

技术领导要不要写代码?这是一个问题. 我刚工作的时候就听说,程序员(那时候还没有"码农"的说法)是 吃青春饭的,到30岁就熬不了夜写不动代码了,所以要尽早转管理岗.相应的,如果你走上管理路线成了技术领导,自然就不必干写代码这种低级重复的体力劳动 了.所以当时自己代码写得很多,技术能力增长很快,但总感觉有点别扭.那感觉就像,你能把车开得又快又熟练,最终只是为了能按时到达机场赶上飞机.然后, 你就再也不用开车了. 不过无论如何,赶上飞机看来是更高级的选择,为了它,放弃苦心修炼的车技也可以接

网络工程师要会写代码 非营销意义的软件定义安全

LinkedIn公司网络架构师Russ White认为网络工程师应该学会写代码;网络专家兼博客主Ivan PepeInjak指出为避免落入炒作,建议寻找通过提高抽象水平简化网络安全功能的软件定义安全技术. 网络工程师职业生涯:征服代码 写代码还是不写代码?在这个软件定义的时代,说"no"好像不是那么容易的事-- LinkedIn公司网络架构师Russ White最近参与了围绕编码和职业发展的辩论.White认为网络工程师应该学会写代码,即使他们的工作不需要它,或者即使这样做并不一定会带

微软资深软件工程师:阅读代码真的很难

导读:原文作者Eric Lippert是一名资深软件设计工程师,从1996年起一直在微软开发部门任职,协助设计并实现VBScript.JScript.JScript .NET.Windows Script Host.Visual Studio Tools for Office和C#. 以下是文章内容: Escalation的工程师JeremyK在他博客中问到: 你是怎么教人们快速深入挖掘不熟悉的代码(不是自己所写的)?我学习如何编程的方法很传统--自己动手编码.但我现在很纠结:到底是集中精神阅读

会写程序还不够,硅谷杰出软件工程师都有的 5 种能力

曾任职于Google和Quora等公司.现任Quip软件工程师的Edmond Lau,于 <The Effective Engineer> 一书中访问任职于Facebook.Instagram和Google等知名网路公司的资深软件工程师,归纳出他们眼中高生产力的杰出软件工程师都具备的五种能力. 一.不害怕探索陌生程序语言 接触新专案或是转换工作跑道时,都有可能需要学习全然陌生的程序语言,许多人对此感到害怕,甚至未尝试就先放弃.其中,跳脱舒适圈的恐惧往往多于学习程序,会担心是否无法重现过去工作的

工程师当上老板 他们是否还需要亲自写代码?

他们曾经是优秀的工程师,但当他们走向创业道路,并一步步成为拥有几十名员工的老板时,他们还需要亲自为产品写代码吗? Quora联合创始人兼CEO亚当·安杰罗(Adam D'Angelo)针对这个问题提供了自己的答案:需要. 作为http://www.aliyun.com/zixun/aggregation/1560.html">Facebook的首任CTO,安杰罗曾掌管着Facebook众多新产品的开发工作并管理整个工程师队伍.2008年,安杰罗开始创办问答网站Quora. 虽然已经成为CE

盖茨:软件开发不只是坐在办公室里猛写代码

12月17日消息,据国外媒体报道, 微软董事长比尔·盖茨近日表示,软件开发并不是一项封闭的工作,仅仅坐在办公室里写代码是行不通的. 盖茨认为,无论是现在还是将来,很多有影响力的工作都与软件有关.而软件开发并不是一项封闭的工作,沟通技巧和与不同类型的人打交道的能力也至关重要. 盖茨说:"很多人都认为,开发软件是一项很封闭的工作.只是关上门,坐在办公桌前猛写代码.其实,根本不是那么回事." 他说,与其他领域的创新一样,软件创新也需要合作,与其他人分享自己的观点.而且,还要与用户沟通,获得反

像建筑设计师一样去写代码

写代码和写文章,从某种程度上是相通的,需要逻辑.构架,也要尽可能的简练.我们之前说过,创作者的时间表和管理者的时间表是不一样的,编代码和写文章,都是一个孤独而不能受到干扰的过程,面对屏幕,就是一场自己与自己的战争.  同样,如果说建筑师最后的成品是建筑的话,那么程序员和软件工程师最终的成品就是软件.在实际动工之前,建筑师将会将建筑的每一个细节,都在蓝图上加以呈现.只是程序员和软件工程师并不会这么做.或许,这就是为什么房子很少倒塌,而软件却经常崩溃的原因?  设计蓝图会帮助建筑师确定他们的设计是可

IT人的技术哲学书单:谁说写代码、做产品就不需要参禅悟道?

刚刚进入大学校门时老师曾经说过:"无论学习什么专业,只要研究到最后就是哲学."我们笑着问道:"那么,写代码写到最后也是哲学?"老师回答:"是的,那就是技术哲学."现在回想起来,的确如此,我们发现技术中无处存在着哲学.那编写代码来说,对于同样一个功能进行实现,有的同学就会使用了很多的设计思想和设计模式,这样的代码无论是在自己看来还是拿给其他人看都会是赏心悦目的,而且也非常便于后期的重构. 无论是科学家还是工程师,成长不能只局限于技术层面,也要学会如