当然,写代码是超级重要的,但是我认为它只是整个过程中的一小部分,且不一定是最难学的。
学习如何写代码要花些时间,但是只要有足够的训练(每天写代码,坚持数年),你就能真正擅长它。
你知道的,我相信在某种程度上,每个软件开发人员几乎能给任何软件写代码。(当然有时候这要用更长的时间,但是你不再感到害怕,肯定能按照你的方式来运行。)
我和自己的同事都看到了这种现象。我今天的一部分工作是把项目分配给开发人员,我的团队有一些成员,常常能够适应任何项目。这些家伙就是我说的能够给任何软件写代码的人。
基本上,我不得不改变我过去用于衡量他们做为工程师的标准。他们已经都是非常优秀的程序员了。
不仅仅是要成为优秀的写代码的人
这些家伙都擅长让计算机做他们想做的事情。但是这个行业里任何有经验的人将要对你说,还有更多的能力。
其中较大的一部分,是你通过看书、然后经过一周训练还无法准备好的。像大部分其它工作一样,经验在软件工程职业里发挥着巨大作用,没有其它捷径可走。
我花了一些时间,尽量思考我在软件工程里最看重的所有方面(和写代码有关),下面是我想到的,不分顺序:
- 编码的能力(当然,这是既定事实。)
- 编写正确的程序的能力。
- 使用正确的方式编码的能力。
- 快速编码的能力。
- 证明你的代码运行的能力。
- 和其他人编码的能力。
- 为其他人写代码的能力。
- 讨论你的代码的能力。
- 为将来编码的能力。
- 从你的代码学到经验的能力。
除了写代码的能力,列表中的其它方面对于靠软件谋生的任何人而言,都是相当重要的。而且,我敢肯定,所有这些对于优秀的职业生涯都是同等重要的。它们每一项都难以学习,不能速成,需要数年经验才能掌握。
(当然,写代码的能力就像把其它所有东西粘在一起的胶水。没有这种能力,一切无从谈起。)
不过,它是最容易的吗?
我给本文的标题为“写代码可能是成为软件工程师最容易的部分”,因为我深信,成为优秀的开发人员,比成为优秀的工程师要用更少的时间。
达到“优秀的开发人员”的状态,对于任何软件工程师而言,是一个不可逾越的阶段:首先你需要学习弹钢琴,然后你才能开始音乐创作。你具备了写代码的一流能力,才能打造你的软件工程师职业生涯。此后你拓展能力,开始增加和夯实越来越多的技能。
但是,所有一切能力的基础是掌握写代码的能力。
没有绝对
我认识一些杰出的开发人员,他们能够用 C++ 编译器做出牛逼的东西。我从来达不到这种境界。我认识的大部分优秀的软件工程师也将不可能达到这种境界。这些家伙是用他们的生命积累了海量的编程技能,十分不易。
我还认识一些优秀的软件工程师,他们从来不是好的开发人员。他们选择了一条不同的道路,才成为他们今天的样子,这条路适合他们。
对于我,以及我认识的大部分人来说,他们从写代码开始,并以此为基础。写代码是最容易的部分。其它部分要花时间,大量的时间。
来源:51CTO