那些编程高手是如何炼成的?
文章图片
每个人都有成长的渴望 , 也都会遇到成长的瓶颈 。 下面这个问题是一个读者问我的:
如何才能训练成为一个编程高手?
先简单说下这个读者的背景:工作3年多 , 目前在大厂做后台开发 , 身边有不少编程高手 , 是他想要追赶的目标 。 最近半年时间 , 他花了一些精力在研究源码和底层原理上 , 但总觉得这些知识和实际工作衔接不好 , 提升很慢 , 学习动力也越来越差 , 希望我能给点建议 。
我和他语音聊了半个小时 , 讲了一些我个人以及身边同事的案例 。 交流下来后 , 双方都有所启发 。 所以再次整理下 , 分享给大家 。
1.何谓“编程高手”?
我觉得能分成这样3类:
第1类:天赋和成就都很高的人中龙凤 , 比如能一个人写出WPS的求伯君、一个人开发出电子邮件Foxmail的张小龙 , 对开源领域影响很大的章亦春等人 。 第2类:有不错的口碑同时广为人知的技术大牛 , 他们一般在知名公司的重要岗位任职过 , 对技术纯真热爱 , 同时热衷分享 , 比如耗子哥、阮一峰、尤雨溪等人 。 第3类:工作中被我们视为崇拜对象、未来有希望企及的高P或者架构师 。
前面两类不在我的圈层射程内(除了跟耗子哥在亚马逊有过一面之缘以外) , 因此本文主要聊下第3类人 。 这个也是绝大部分读者最关心的、同时可以设定为超越对象的群体 。
这样就有了一个新问题:既然想成为第3类人 , 那如何给第3类人下一个相对准确且具象的定义呢?(如果目标都是模糊的 , 就难言超越了) , 这其实是一个很有意思的问题 , 每个人的答案可能都不一样 , 因为「编程水平的高与低」本身就是一个相对的概念 。 我先说一下我的看法 。
刚毕业那会 , 我眼中的编程高手是我的同事-超哥 , 他是亚马逊的架构师 , 团队里面技术级别最高的人(后来他做到了亚马逊中国首架的位置 , 现在也算圈内比较知名的大牛了) 。
超哥是那种能搞定一个复杂项目(跨多个系统) , 从架构设计、到编码、到自动化测试、再到运维工具、甚至写文档都非常全面的人 。 显然是我这个刚毕业的菜鸟极其崇拜的大佬 。
再后来 , 我工作了四五年 , 走向了技术管理路线 , 因为带团队的原因 , 我又多了一个新视角来审视编程厉害的人 。 对比所谓的PPT架构师、以及讲到技术原理就满嘴跑火车而编码能力却稀松平常的人 , 我倾向给「编程高手」下一个更务实的定义:那就是实际工作中 , 能做到高效率、高质量、且稳定输出的人 。 看似容易 , 实则很难 。 我对这个定义的详细解读如下:
高效率:编程效率能做到团队中的Top , 对于复杂需求或者复杂问题能够快速理解 , 具备将复杂工作拆解成一系列简单子问题并搞定这些问题的人 。 他们能从实际场景出发 , 有造轮子的能力 , 也有不造轮子的觉悟 。 高质量:编程质量能做到团队中的Top , 设计方案的合理性、编码的严谨性、测试方法、监控运维方案等 , 都能思考全面的人 。 稳定输出:给高效率和高质量增加的限定 。 我觉得只有量变引起质变 , 真正形成了自己的方法论 , 能持续搞定一类问题 , 而不是单个问题的人才算是高手 。
也许你会说要同时做到这3点太难了 , 但是实际工作中 , 一定有人能做到某个点或者某几点 , 那么以他们作为这一点的标杆即可 。 因为所谓的「编程高手」不过是我们设定的一个目标而已 , 你清楚这个目标是什么就足够了 , 不一定非得安在同一个人身上 。
2.如何理解“底层知识”的价值?
要成为一个编程高手 , 底层知识是必不可少的 。 这是一句正确的废话 , 就不展开解释了 。 读者真正的问题在于:如何将底层知识和实际工作衔接起来 , 做到相辅相成?
先看一个具体的例子 。 对于简历中写自己做过性能优化的候选人 , 我面试时比较喜欢问:你是如何定位性能瓶颈并完成调优的?如果再次碰到此类问题 , 你的详细思路是什么?
很显然 , 这是一个系统性的工程问题 , 能同时对技术深度和宽度进行考察 。 不仅仅是应用层的代码 , 还包括所使用的框架、中间件、虚拟机、网络甚至操作系统等等 。 有性能指标等基础性的知识 , 有监控和压测工具的运用 , 还有成体系的排查思路和优化方法等等 。
如果是编程低手 , 他们的答案通常有这几类:
1、性能指标都不清楚 , 遇到问题也不知道该用什么工具 , 这一类人应用层都不达标 。 2、初步定位到一个疑似瓶颈点后 , 就着手优化 , 最终解决的只是一个浅层次的性能瓶颈问题 , 根本原因并未触达到 。 3、能定位到根本原因 , 但是对于解决方案的合理性缺少深入思考 , 不追求极致 , 最终只是用了曲线的方案再次隐藏了性能问题 。
- 济南少儿编程:济南市教育厅发布人工智能试点学校!看看你的学校在里面吗?
- 盘点平原类巅峰小说《白鹿原》那些不寒而栗的细节!
- 有着“北欧海盗”之称的维京人, 有着那些不为人知的历史
- 嘴上说“爱你”,其实根本没走心的星座,情场高手,却真的不可信
- 我的世界:关于MC那些反科学的Bug,恐怕牛顿来了也解释不了!
- 老年|微视河南,河南的那些梯田风光,分分钟把你迷倒
- 牧马人的油耗更低了!那些牧马人的粉丝们快准备出手吧!
- 盘点下那些经典到无人不晓的男士手表,你应该都认识
- 那些长命的手游作品,王者荣耀越来越火,这款将迎来5周年庆
- 山羊|猫和老鼠组CP,老虎山羊做朋友,盘点那些动物界超越种族的友谊