擅长编程比赛,常常跟正式的工作表现负相关。因为编程竞赛的获胜者习惯于快速地提出解决方案,但是在工作中,你需要反思问题,并且慢慢地进展,确保一切正确,才会表现更好。
——Peter Norvig
说到程序员的日常工作,我会分为三部分:面对未知、面向搜索、面对团队。
作为一个老程序员,今天就跟大家分享一下我对这3点的理解。
01
面对未知
薪资越高的工作,面对的“不确定性”越大。这也是为什么思考者往往比执行者赚得多的原因。
程序员作为互联网的高薪代表,写bug和解bug是常态,而bug即未知。
在我看来,程序员越往后,所沉淀的不仅是解决问题的能力,更多的是通过经验对问题有一定预判。
预知风险,提前假设解决方案,是程序员进阶的重要命题。
02
面向搜索
一个用不好搜索的程序员不是好程序员。
干我们这行,最怕重复造轮子!能在已有代码上修改的绝不重写,能在网上快速搜到解决方案的绝不浪费时间瞎琢磨。
信息是解决问题的重要手段。
初级程序员能从前辈的经验里快速成长,老程序员能从同类问题的方案上快速迭代。
03
面对团队
初入职场、新入职一家公司,最先要学会的就是team work。
不管你多强,都要面对团队协作,一个人的能力是有限的。
我接触过的优秀的技术leader,他们都很擅长发现每个人的技术优势并加以放大。
当作为一个leader的时候,日常工作就很少写代码了,把自己的知识分享给更多人,同时让团队所有人都充分发挥自身长处,这是一个优秀leader必备的职业素养。
希望程序员们都能利用好团队优势,少点内卷,一个人难成大事,成功的项目,靠团队每个人。
最后分享一段谷歌研究总监Peter Norvig的话:
“擅长编程比赛,常常跟正式的工作表现负相关。因为编程竞赛的获胜者习惯于快速地提出解决方案,但是在工作中,你需要反思问题,并且慢慢地进展,确保一切正确,才会表现更好。”
-The end-
你好,我是中年码农飞哥,
我会从CTO视角讲述程序员职场/技术/学习/创业等,
分享从码农到CTO的职场和技术经验
扫 码 | 围 观 飞 哥 朋 友 圈