编程二三事

做个清醒的程序员之打造核心竞争力

2023-04-17  本文已影响0人  萧文翰

阅读时长约 12 分钟,共计 2900个字。

作为程序员,打造核心竞争力无疑是让自己变得鹤立鸡群的方式之一,可以顺便帮助我们突破内卷的困境。那么,这个核心竞争力该如何打造呢?

回顾我的职业生涯,我的个人建议是:科学地践行一万小时定律

所谓“一万小时定律”,来源于格拉德威尔的著作《异类》。其中提到:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。一万小时的锤炼是任何人从平凡变成超凡的必要条件。”换句话说,如果想成为某个领域的高手,需要经过一万小时的坚持不懈。

简单换算一下,如果按每天工作八小时,每周工作五天的话,大概需要五年的时间。

这一定律同样适用于做产品,某个产品需要经过一番锤炼才能成为“产品”,而非Demo。所以有的公司在做产品的时候会让员工加班,或者雇佣更多的员工来工作。如果用人力-时间来计算的话,一个员工花五年的时间才能打造出一款精品,那么十个员工就需要花费半年的时间。虽然在编程领域,时间和人力通常是不能互换的,但为了解释这个定律,我就暂且如上表述。

所以这些公司其实也就是为了做出好一点的产品,无意或有意之中,把锤炼产品的时间快速地堆到一万个小时。

但是请注意,这个一万小时并非一个定值,它要表述的意思其实是坚持的重要性。不要半途而废,轻言放弃。

回顾我十余年的工作经历,其实刚毕业时候以及毕业后前几年的时候,我压根不知道这个定律,更多是性格使然。

我这个人比较轴,如果是比较重视的东西,无论如何也要问出个结果。就像编写代码的时候,如果碰到一个难解的问题,不把它解决掉,我睡觉都会不舒服。

凭着这股“轴”劲,才让我的技术水平越来越精进,甚至后来跨界出版了技术图书,打造了属于自己的技能树。

但是这里肯定会有人反对:做软件开发,不加班的占少数。大多数人毕业的年龄大概在23岁,如果按照5年的时间计算,即使不加班,到28岁,也该是个编程高手了。而且如果按照一万小时定律来算,岂不是人均“编程大师”?所以这个定律不靠谱。

其实,我自己在28岁的时候,也没啥成就,依然是个奋战在一线的程序员。所以这一万小时对于我来说,其实也并不能完全这么算。那么,一万小时定律真的不靠谱吗?

其实并不是定律不靠谱,而是使用它的人,把它给用错了。

虽然“一万小时”定律已经成为人尽皆知的事情,但实际上,格拉德威尔在《异类》一书中还提到了智商、运气和家庭环境这另外三个要素。

智商不用多说,如果在120以下,就很难成为高手了,当然也有例外。但好消息是,大部分人的智商其实都高于120,而且都差不多。所以别轻易说自己笨,那样的话就把大家都给骂了。

运气的话呢,可遇而不可求,很多有成就的人都受到了上天的眷顾。所以不要迷信个人的能力有多强大,俗话说一个好汉三个帮,这“三个帮”里面,运气是必不可少的。但是呢,也别过度依赖运气。换句话说,成功的时候别吹嘘自己,失败的时候别怪罪运气。

最后就是家庭环境,不得不说,更好的家庭环境确实能让下一代的站在更高的起点上。这个“更好的家庭环境”其实不只是指财力,还有父母辈的认知、格局等等。有的家庭很贫穷,但是父母的世界观和做事方法都很正能量,这也是一种财富。有一些人,就是出生在这样的环境中,一样可以事业有成。

虽然智商、运气、家庭环境和坚持不懈的一万小时都是成为行业高手的前提,但即使加在一起仍然不构成充分条件。还是那句话,有的人把这一万小时给用错了,那无论怎样坚持,效果都会大打折扣。

所以,我罗列几个错误的使用方法。大体来说,只要规避这几个错误,才能让成为高手这件事有可能发生。

首先要说的,就是不要停留在舒适区。举个例子,光抄写英文26个字母,抄一辈子,也无法流畅用英语沟通,但这坚持绝对是超过一万小时了。所以,如果已经熟练掌握了某项技能,想要更加精通,就不要重复。

很多程序员掌握了某种开发技能,能开发出人们用的产品,就沾沾自喜,骄傲自满,然后不去深挖或者学习新的技能。在多年的工作中重复使用已有技能,那无论工作了多久,都是无法持续精进的,一万小时定律不会奏效。

另一种使一万小时定律失效的方法是失败后不懂得总结经验教训,总觉得失败是成功之母,结果一直在低水平地重复。努力了半天,看似很拼,其实仍然不够精进。

这一点其实现实已经教训过我们很多次了,我国很多优秀的老技术都失传了,导致后人又只能从0开始探索,这真的不利于传承。

这方面给我打击最大的就是做菜,中国菜其实很多外国人都很喜欢,但要走出国门,总是困难重重,外国人做出来的中国菜总感觉不对味。其实何止是外国人,我自己按照菜谱做出来的,我自己都不一定爱吃。在我眼里,那本菜谱根本就不是给初学者看的,因为那些“适量”、“少许”等等,初学者根本不懂掌握火候。等初学者能掌握火候的时候,或许也就不怎么需要看菜谱了。

所以现在去网上搜“中国菜 出海”这种关键字,出来的结果很多都是“预制菜出海”。说好听点是换种方式走向海外,不好听的呢,不是活人亲手做出来的东西,吃着也就没啥灵魂了,味道自然也差很多。

反观像肯德基、麦当劳却能顺利走向全世界,为啥呢?因为他们有标准化流程。即使是没做过饭的人,只要经过简单的培训,就能做出口味差不多一致的食物。这种标准化流程,内含完整、细致、可操作的方法论。只要按照这本“操作手册”来,稍加练习,就能做出个八九不离十了。我甚至可以想象,如果真的有其他文明来到地球,它们拿到这本“手册”,也能尝到地球的美味。

所以,失败不可怕,记得一定要总结经验教训。成功了也别太浪,记录成功的过程,然后好好做复盘,一定还能发现可以改善的地方。

说完了这两点,继续说第三点。

假设我们已经避开了前面这两点误区,现在已经在某个领域是个高手了,但依然要警惕。警惕啥呢?能力的诅咒。

有的人在自己的行业很厉害了,所以就不自觉地排斥周边领域。就好像Java里面的继承,从父类到子类,是抽象到具体的过程。在某个领域成为高手,只能算是在某个子类范围内混得还不错。如果不多关注相似的子类,整个人的思想会永远困在某个子类的范围中,看不到更抽象的维度。

我一开始从事的是Android客户端开发,做了有八年之久。后来接触到前端,意识到不能只把自己的能力局限在客户端,至少应该着眼于大前端。后来呢,又接触到Go语言,又把脚伸向了服务端的范围。

可喜的是,由于之前一直做Android用Java,熟练一门语言之后,再学习其它编程语言的时候其实是上手非常快的。当然这种“快”是停留在应用层面,对语言本身的设计理念感受还不算多,但这对于使用新语言开发产品而言基本上算是够用了。

总结一下,打造核心竞争力,我认为关键在于践行“一万小时定律”,其实就是最朴素的坚持。但要科学地坚持,别做低水平的重复,记得总结经验教训,同时别忘了看看周围的世界。

说到总结经验教训,我是印象笔记的忠实拥趸。从2013年开始注册使用,一开始用的是免费账户,后来付费购买了高级帐户。截止我写这篇文章的时刻,这里面保存了4.76GB的数据,是这十年来我的“备忘录”。

我的印象笔记账户

其实,像图片中搜索文字、PDF文档中搜索文字这类的功能,印象笔记早就有了。用好这个工具,真的能帮我们很多忙。

最后,祝愿大家都能用好一万小时定律,在自己的领域中成为大师。

上一篇下一篇

猜你喜欢

热点阅读