程序员需要天赋吗?

3/6/2022

今天上午一位读者咨询我一个问题:

图片

有些师兄师姐。。。真的是很坑人,我跟这名读者聊了20多分钟才初步打消了他的疑虑。

其实无论是成为程序员还是成为一名优秀的程序员,只要不是做算法岗,都不太需要优秀的数学能力,高中数学足矣。

甚至也并不需要高智商,程序员的本质是工科而不是理科,是应用岗而不是研究岗,只要不是弱智都没啥问题。

关键先问问自己能不能做到这些事情:

1.每天坚持编码至少5小时

2.每天坚持学习经典计算机专业书籍2小时

3.坚持寻找效率更高的学习资料,比如视频、网课、开源代码、身边高手的指导等等

4.一个bug调不通(初学者编译不通过也算)可以聚精会神的干几个小时

以上四点做到了,再来谈天赋。

其实我认为做程序员,天赋真的只占很小的部分,更多拼的是这四个能力:动手能力、解决问题的能力、抗压能力、终身学习的能力。

这四个能力层层递进:

1.动手能力

首先不动手真的不行,程序员行业很符合10万小时定律,你可能要上机实战编码好几年才能成为一名优秀的程序员。

程序员最害怕的就是纸上谈兵,千万不要觉得这个知识点看过了就掌握了,必须敲出代码并运行起来,才算真正掌握。

要想成为优秀程序员甚至要养成不实现就睡不着觉的怪癖,这种怪癖会让你以倒腾各种小程序小玩意为荣,并乐此不彼。

2.解决问题的能力

进一步,解决问题的能力是职场发展的保证,不管是系统性的学习,还是遇见bug去查找资料和其他人解决的办法、快速满足公司业务需求或者项目攻坚,这些都需要强大的解决问题的能力。

程序员都会遇到各种古怪bug,有的时候解决方案可能并不高大上,甚至有点脏活累活的感觉,但牛逼程序员可能还真就是更有耐心更能吃屎。

3.抗压能力

程序员真的又苦又累,没一定吃苦抗压的能力还真别来,这也是程序员行业基本没有富二代的最重要原因。

很多时候为了攻克一个问题,我们是需要持续作战的,一旦被分神就面临重启的时间消耗。

很多时候出了线上bug是真的会血压升高的,在老板和产品经理的催促下如何沉着冷静的解决这些要命的bug,真的是个学问。

4.终身学习

终身学习对程序员也非常重要,这个行业新技术日新月异,曾经C++还风靡全球,今天就换Java横扫千军,Python、node.js、Go这些新兴的语言也层出不穷。这意味着程序员要不断学习新东西,很难一招鲜吃遍天。

终身学习最好的手段就是看计算机经典书籍或者看经典视频,同时配合刻意练习。

这里重点说说如何读书:

看计算机经典书籍其实有不少技巧,首先是如何选书,需要结合工作需求和自身水平确定范围,在这个范围内进一步筛选出最经典的书籍。

筛选方法无非是两点:身边朋友推荐、看书评和书籍评分。学习过程需要注意前置知识点的掌握,很多人抱怨看书看不懂其实都是栽在这里了。

比如在你学习《Java核心技术》的Network之际,要是犯迷糊了,那就应该看看计算机网络相关的书籍或者视频,了解下HTTP、DNS、ARP、TCP、IP、ICMP、UDP等基础知识。

这样不光你能攻克学习的卡点,顺带还把计算机体系基础知识给补齐全了。

顺便,给大家推荐几本计算机经典书籍:豆瓣9.8!这三本计算机书籍太牛逼了! (opens new window)

另外,有良好的锻炼习惯也会让你在程序员这条道路上走得更远,毕竟长期与电脑为伍,很容易患上各种职业病:颈椎病、肥胖、高血压高血脂等等。而锻炼可以很有效的预防这些疾病。

以上,就是今天的全部分享了,希望洋哥的每一个程序员读者都能在职场上一码平川。

其他原创:

我变强了 (opens new window)

34岁的程序员、工作10年、存款只有5万.... (opens new window)

真不值!技术大神,却只是阿里P6... (opens new window)

豆瓣9.8!这三本计算机书籍太牛逼了! (opens new window)

PS:最近弄了一个新微信号,欢迎大家围观,洋哥是个不错的段子手、鸡汤大师:

# 图片