今天上午一位读者咨询我一个问题:
有些师兄师姐。。。真的是很坑人,我跟这名读者聊了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)
另外,有良好的锻炼习惯也会让你在程序员这条道路上走得更远,毕竟长期与电脑为伍,很容易患上各种职业病:颈椎病、肥胖、高血压高血脂等等。而锻炼可以很有效的预防这些疾病。
以上,就是今天的全部分享了,希望洋哥的每一个程序员读者都能在职场上一码平川。
其他原创:
34岁的程序员、工作10年、存款只有5万.... (opens new window)
真不值!技术大神,却只是阿里P6... (opens new window)
豆瓣9.8!这三本计算机书籍太牛逼了! (opens new window)
PS:最近弄了一个新微信号,欢迎大家围观,洋哥是个不错的段子手、鸡汤大师: