高级程序员到底长什么样子?( 四 )


那些你现在看起来很傻逼的设计,可能就是当时的人做出的妥协 。
所以,既然如此,你更应该考虑的是,当前的这个问题现在到底有没有必要解决?值不值得,为什么之前没去解决?它是不是你当前所有待解决问题列表中优先级最高的?
7、打造自己的“T型”专业技能可能很多人都听过“T型人才”的概念,我们程序员在专业技能的打造上也适合用这种模型 。
但是对于“先竖再横”还是“先横再竖”可能不同的人有不同的看法 。
我的观点是,大多数情况下,先竖再横 。特别是某个技术、领域发展得越成熟,越应该如此 。
因为很多事物的本质是一样的,所以对某一个领域达到非常深入,洞察到一些本质的东西之后,对其它相邻的领域有触类旁通的效果 。可以加速自己在“广度”上的扩展 。
不过,“广度”也不是说蜻蜓点水,只知道最表象的“它是什么” 。我认为比较合适的程度是,可以不用清楚某个技术具体的使用方式,但得知道它可以解决哪些问题,以及使用成本和潜在的风险,我将这些信息概括为“它怎么样” 。
8、构建自驱动的“闭环”很多人都知道闭环的概念,但是它的重要性和价值往往被低估 。因为人总是短视的,“聚沙成塔”之类的方式总是不受待见 。
常规的搭建一个闭环的过程大多是这样的 。

高级程序员到底长什么样子?

文章插图
 
这里所说的自驱动的“闭环”是这样的 。
高级程序员到底长什么样子?

文章插图
 
如何才能变成这样呢?只要做一件事,尽可能多地对外输出自己的知识 。
举个我自己的例子,我在 2015 年那会在项目中开始引入领域驱动设计,并且不断地在内部进行分享它的好处,慢慢地越来越多的项目开始往这个方向走 。
因为前期的不断分享,所以在组织内部,别人对我的人设多了一个“DDD专家”的标签,那么大家遇到有关 DDD 的问题就会来和我一起探讨 。
越到后面,我已经不用自己主动去寻找这个领域的知识去学习了,因为接收到的外部反馈已经足够多了,它们能够倒逼我往前走 。并且这些反馈都是实际的真实场景,此时的信息获取和学习自然能达到“学以致用”的效果 。
说实话,有不少人并不是这么想的,他们想的恰恰相反:“为什么每个人都在问我问题!你自己去学习吧!” 。
所以,当你遇到其他人来请教你的时候,如果恰巧这是你所关注的领域,那么应该去拥抱这个问题而不是排斥它 。因为你是团队里最权威的人,这是你构建自驱动“闭环”的好机会 。错过这一回,下一回不知道得等多久 。
前面文章里说到,我会将“专业技能”、“连接外部的能力”、“领导力”三个维度组合起来给你看 。就是下面这个样子 。
高级程序员到底长什么样子?

文章插图
 
你会发现这里面包含了程序员在进阶后的几个常见岗位 。
可以对号入座一下:D
好了,我们总结一下 。
这篇我先和你聊了一下在大家眼中高级程序员是什么样子,发现没有特别统一的标准,都是模糊的 。这也体现在了几个现实的场景中,比如招聘高级程序员、培养高级程序员上 。
其次,我对初级、中级、高级程序员的特点分别阐述了自己的观点 。
然后,给出了一些帮助大家往高级程序员靠拢的实践思路 。
希望对你有所启发 。
最后,用Martin Fowler 的一句话作为结尾:“任何傻瓜都能写计算机能理解的代码,优秀的程序员编写人类能够理解的代码 。”
Any fool can write code that a computer can understand. Good programmers write code that humans can understand
Martin Fowler

【高级程序员到底长什么样子?】


推荐阅读