编程能力|阿里毕玄:程序员如何提升自己的硬实力
从业余程序员到职业程序员程序员刚入行时 , 我觉得最重要的是把自己培养成职业的程序员 。
我的程序员起步比同龄人都晚了很多 , 更不用说现在的年轻人了 。 我大学读的是生物专业 , 在上大学前基本算是完全没接触过计算机 。 军训的时候因为很无聊 , 我和室友每天跑去学校的机房玩 , 我现在还印象很深刻 , 我第一次走进机房的时候 , 别人问 , 你是要玩windows , 还是dos , 我那是完全的一抹黑 。 后来就只记得在机房一堆人都是在练习盲打 , 军训完 , 盲打倒是练的差不多了 , 对计算机就这么产生了浓厚的兴趣 , 大一的时候都是玩组装机 , 捣鼓了一些 , 对计算机的硬件有了那么一些了解 。
到大二后 , 买了一些书开始学习当时最火的网页三剑客 , 学会了手写HTML、PS的基本玩法之类的 , 课余、暑假也能开始给人做做网站什么的(那个时候做网站真的好赚钱) , 可能那样过了个一年左右 , 做静态的网页就不好赚钱了 , 也不好找实习工作 , 于是就开始学asp , 写些简单的CRUD , 做做留言板、论坛这些动态程序 , 应该算是在这个阶段接触编程了 。
毕业后加入了深圳的一家做政府行业软件的公司 , 一个非常靠谱和给我空间的Leader , 使得自己在那几年有了不错的成长 , 终于成了一个职业的程序员 。
通常来说 , 业余或半职业的程序员 , 多数是1个人 , 或者很小的一个团队一起开发 , 使得在开发流程、协作工具(例如jira、cvs/svn/git等)、测试上通常会有很大的欠缺 , 而职业的程序员在这方面则会专业很多 。 另外 , 通常职业的程序员做的系统都要运行较长的时间 , 所以在可维护性上会特别注意 , 这点我是在加入阿里后理解更深的 。 一个运行10年的系统 , 和一个写来玩玩的系统显然是有非常大差别的 。
这块自己感觉也很难讲清楚 , 只能说模模糊糊有个这样的概念 。 通常在有兴趣的基础上 , 从业余程序员跨越到成为职业程序员我觉得不会太难 。
编程能力的成长作为程序员 , 最重要的能力始终是编程能力 , 就我自己的感受而言 , 我觉得编程能力的成长主要有这么几个部分:
1、编程能力初级:会用
编程 , 首先都是从学习编程语言的基本知识学起的 , 不论是什么编程语言 , 有很多共同的基本知识 , 例如怎么写第一个Hello World、if/while/for、变量等 , 因此我比较建议在刚刚开始学一门编程语言的时候 , 看看编程语言自己的一些文档就好 , 不要上来就去看一些高阶的书 。 我当年学Java的时候上来就看Think in Java、Effective Java之类的 , 真心好难懂 。
除了看文档以外 , 编程是个超级实践的活 , 所以一定要多写代码 , 只有这样才能真正熟练起来 。 这也是为什么我还是觉得在面试的时候让面试者手写代码是很重要的 , 这个过程是非常容易判断写代码的熟悉程度的 。 很多人会说由于写代码都是高度依赖IDE的 , 导致手写很难 , 但我绝对相信写代码写了很多的人 , 手写一段不太复杂的、可运行的代码是不难的 。 即使像我这种三年多没写过代码的人 , 让我现在手写一段不太复杂的可运行的Java程序 , 还是没问题的 , 前面N年的写代码生涯使得很多东西已经深入骨髓了 。
我觉得编程能力初级这个阶段对于大部分程序员来说都不会是问题 , 勤学苦练 , 是这个阶段的核心 。
2、编程能力中级:会查和避免问题
除了初级要掌握的会熟练的使用编程语言去解决问题外 , 中级我觉得首先是提升查问题的能力 。
在写代码的过程中 , 出问题是非常正常的 , 怎么去有效且高效的排查问题 , 是程序员群体中通常能感受到的大家在编程能力上最大的差距 。
解决问题能力强的基本很容易在程序员群体里得到很高的认可 。 在查问题的能力上 , 首先要掌握的是一些基本的调试技巧 , 好用的调试工具 , 在Java里有JDK自带的jstat、jmap、jinfo , 不在JDK里的有mat、gperf、btrace等 。 工欲善其事必先利其器 , 在查问题上是非常典型的 , 有些时候大家在查问题时的能力差距 , 有可能仅仅是因为别人比你多知道一个工具而已 。
除了调试技巧和工具外 , 查问题的更高境界就是懂原理 。 一个懂原理的程序员在查问题的水平上和其他程序员是有明显差距的 。 我想很多的同学应该能感受到 , 有些时候查出问题的原因仅仅是因为有效的工具 , 知其然不知其所以然 。
我给很多阿里的同学培训过Java排查问题的方法 , 在这个培训里 , 我经常也会讲到查问题的能力的培养最主要的也是熟练 , 多尝试给自己写一些会出问题的程序 , 多积极的看别人是怎么查问题的 , 多积极的去参与排查问题 , 很多最后查问题能力强的人多数仅仅是因为“无他 , 但手熟尔” 。
- 王兴称美团优选目前重点是建设核心能力;苏宁旗下云网万店融资60亿元;阿里小米拟增资居然之家|8点1氪 | 美团
- 注册|阿里申请注册“爆改吧!小店”商标,打造线下特色实体小店
- 信服|深信服何朝曦:安全不能只面向静态风险进行建设,应该从"面向风险"转向"面向能力"
- 耽误|被阿里耽误的虾米的一生
- 租赁物业|居然之家(000785)牵手阿里与小米
- NIST测试显示人脸识别系统对蒙面人的识别能力越来越强
- 能力|美国研发快速法评估神经网络的不确定性 改进自动驾驶车决策能力
- 能力|辽宁发出首张“网络直播”专项职业能力证书
- 上市公司|数字化新外贸成为企业巨头新选择 近百家上市公司入驻阿里国际站
- 字节|阿里巴巴、字节跳动、花生日记获“互联网行业公益奖”