You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
4.8 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 结束语|如何成为一个编程好手?
从刚开始准备这个专栏的时候算起,到这一篇文章和大家见面,已经有十个月的时间了。
这个专栏设立的愿景,是想要传达编写优秀代码的理念,帮助软件工程师快速成长并且保持长久的竞争力。但是,四十多篇文章,显然不是通天的秘籍。一个软件工程师的修炼,主要还是靠日积月累的积累和精进。而且,这个修炼还包括编码之外的功夫。
## 了解问题的领域
我们编写代码的目的,是要解决具体的问题,而不是为了写出好看的代码。这就需要我们至少了解两样东西:编码的工具和具体的问题。无论是编码工具,还是具体的问题,都需要专业知识。一般来说,一个优秀的程序员,这两样东西都要学,都要会,而且还能把它们结合起来。
世界上的编程语言屈指可数,如果只会几门编程语言,不管你多么精通这门语言,都很难保持长久的竞争力。这主要是因为,编程语言的门槛很低,掌握编程语言的人太多。这也就意味着,在市场竞争中,你要超越的人会有很多。
而具体的问题领域,则是一个多姿多彩的世界。证券交易、银行结算、商品流通、教育培训、安全防护等,各有各的道理,各有各的规则。
作为一个软件工程师,如果你熟悉银行结算的专业知识,你就成为了懂得编码和银行结算的复合型人才。你可以在编码工具的领域出类拔萃,也可以在银行结算领域出类拔萃。但是,市场分工已经不需要你在这两个领域都是顶尖高手了。只要在这个结合部位,是个顶尖高手就可以了。而这个结合部位的竞争者的数量,就没有那么大的基数了。
所以对于软件工程师来说,特别是那些年轻的软件工程师,我们不要把自己局限代码的编写者这个角色上。我们需要把自己的角色拓展成问题的解决者。
定位成代码的编写者,你的目标可能就是写好代码,学好工具。定位成问题的解决者,你的目标可能就变成使用代码,解决好问题。
问题解决者这一定位,会让你更有好奇心去了解问题的来龙去脉,去发掘问题背后更多的东西。这样,你就能自己推动自己,成为该问题领域的专业人士,然后成为这个结合部的复合型人才。
## 扩大“无用”的见识
编写代码,本身是一个创造性的过程。在这个过程里,很多过去看起来没有多大用处的见识,可能就会派上用场。而这些“无用”的见识,如果过去你没有认识,没有积累,它们一定不会在你需要的时候让你灵光乍现,也不会在你需要坚持的时候给你力量。所谓的灵光乍现,其实都是埋在你脑海深处的见识。
我们前面讨论过不少编码的原则,比如说“简单直观”和“最小授权”。直觉上,这些虚无缥缈的东西和编码本身没有直接的联系。可是,这些小小的原则往往决定着产品的市场成败。你怎么抵御住复杂性、丰富性以及代码权力的诱惑?说实话,如果没有很坚定的理由和开阔的视野,我们很难抵御住这些诱惑。而见识和信念,来源于你对于生活的理解,包括对人的理解。
所以,除了技术之外,我希望你有时间、有精力、有能力去做其他的事情。读书、旅游、做饭、遛娃、种地、修车,各种爱好,都是积累,都是人生百态。
## 平衡安身的生活
当我准备这篇文章的时候996.ICU的讨论真是一浪高过一浪。希望普遍的996只是一个特殊时段的特殊产物。
长期超负荷的工作时间能不能换来超额的工作产出这是一个很大的疑问。不过我可以确定的是每个人一天都只有24小时我们有限的精力只能在这24小时内腾挪。在一段时间里我们做了这件事情就丧失了做另外一件事情的机会。获得了这件事的好处就丧失了另一件事的好处。这还有一个专业的名词叫“机会成本”。
996的安排让我们付出了多大的代价丧失了多少机会对于具体的每个人答案也许有所不同。但是对于整个群体和大部分人这代价也许会超出我们的想象。它所造成的长期的社会问题和个人问题也许要很多年后才会显现。
希望955早日正常化这需要大家的共同努力。
即使正常的工作时间只是一种奢望,我希望你还能够谈恋爱、陪家人。
谢谢你陪我一起走过了这个45期的专栏
[![](https://static001.geekbang.org/resource/image/ea/1a/ea14f3062eb7d9099a321c633ad2741a.jpg)](http://geekbangshujufenxi.mikecrm.com/2320J41)