IT职场人生系列之二十五:如何向高手学习

转载 2016年08月29日 14:49:07

这是IT职场人生系列的第二十五篇(序言专栏目录),也是松结对编程的第十八篇(专栏目录)。

向高手学习是每个新手的心愿,但遇到的最大的问题是没有高手愿意教,这篇文章主要是解决这个问题。

向高手学习有以下诀窍:

善于观察

不需要高手说话,也可以从高手那里学到东西,那就是靠多观察。

1. 观察代码

不是所有高手都愿意或都有时间来指导新手,所以如果能拿到高手的代码,就要多学习借鉴。
先从比较好学的部分入手,比如命名方法,代码缩进这些;其次是函数、类的封装方法;再次是整个程序的架构方法。很多人抱怨没有师傅指导,但实际上他们曾经与很多很好的代码擦肩而过,而没有去学习。
一种方法是模仿高手编程的风格,看不懂的地方就去问。高手一般很乐于回答自己为何如此这般,因为他们也是多年积累下来的经验,引以为豪并乐于分享。但不要问高手低级或空泛的问题,比如“你觉得命名规范怎么样才好?”很多编程很久的人也说不出来,虽然他们做得很好。这些都是需要在模仿中学习的东西,而不是靠口口相传。

2. 观察高手的工作习惯和工作环境

可以观察的东西有很多,不限于代码本身。高手打字的方法,使用快捷键的方法,打开窗口的方法,使用的输入法,选中一段文字的方法,拷贝粘贴的方法,切换窗口的方法……任何区别一个高手与新手的方法都值得学习。
比如修改完Html代码后想看效果的最快的方法是:Alt+F+S+Tab(保存并切换到浏览器), Alt+D(定位到地址栏), Enter(回车刷新),看起来很长的按键组合,但可以在大约1~2秒左右完成。
这些格式这样的技巧虽然看似接升不了多少时间,但是一天下来,可能就有半个小时之多。加上自己操作体验的改进使得注意力可以集中在编程上面,实际可获得的时间会不止于此。


善于提问

1. 多思考,少提问

很多新手都很希望一下知道答案,绕过中间繁琐的求知过程,其实这样很不好。
两年前同时从头学习Html + JS + Jquery + asp.net + C# + LinQ + MVC……这些新东西的时候,觉得在网上搜索答案的过程很漫长和低效;但过了一段时间突然感觉到,很多新问题的答案似乎早在解决老问题的时候就见到过,一搜就能搜到;再往后就发现多数新问题甚至早就知道答案了。
所以,要把解决问题的过程当作积累的过程,而不是找单个问题的答案的过程,对日后的帮助极大。

2. 带着答案提问

高手一般不屑于解决低级问题,也不愿意从头解决问题(因为问题常常是“问题集”,某些是关键问题,某些是低级问题),而是喜欢解决关键问题。
所以每次提问高手的时候,最后都是解决了一半的问题,带着一些半截的答案找高手最好。高手也会觉得自己受到尊重,因为高手感觉自己在被“提问”,而不是替新手工作。

3. “主动”提问

之前提到过主动搜索,就是不要指望能直接搜索到答案,而是每次主动分析思考搜索出来的结果,或许改变搜索的关键词,或许改变搜索的网站,靠自己找到答案。
主动提问也是这个意思。被突然问起什么问题来的时候,高手并不知道很多前因后果,相反问问题的新手可能更理解这些。这时候也就不能指望高手直接给出答案,而是要分析和思考高手回答的内容,乃至反问的问题,靠自己找到答案。

这种思维方式又叫福尔摩斯思维方式。福尔摩斯总是不是第一个到现场的,也不是知道最多的,但他总能从别人都看到都听到的事情里边推断出新的线索。就在于他能多思考,主动提问。


善于互动

没有高手天生有义务帮助新手,因为他们也有自己的工作。另外从公司的角度看,高手工作能力更强,如果被纠缠在帮新手解决问题中,生产力会下降。因此要注意方式方法。

1. 把握时机

不要因自己需要而发问,而要因高手有空而发问。
如果感觉高手正在聚精会神地解决自己的问题,那么就先等等。如果他起身倒水喝茶或者和别人聊天讨论问题,就可以掺和进去。这样高手不会感觉被打搅,更容易帮助新手。

2. 建立互助关系

新手帮助高手看似很难,其实不然。
比如新手可以帮助高手写测试代码,或者借助高手的底层库帮高手编写一些“肤浅”的上层应用,等等。但这些都有两个收获:一则新手有机会接触到高手写的代码,二则遇到问题可以堂而皇之地邀高手一起解决了。
当然更完善的状态,是之前提到过的松结对编程和139团队中的师徒制度。

总结:好学生于好老师是并存且互为因果的,如果新手很多年都感觉没有人愿意帮助自己或没学到过东西,都应该反思自己是否少做了一些事情。

相关文章推荐

IT职场人生系列之二十五:如何向高手学习

这是IT职场人生系列的第二十五篇(序言,专栏目录),也是松结对编程的第十八篇(专栏目录)。向高手学习是每个新手的心愿,但遇到的最大的问题是没有高手愿意教,这篇文章主要是解决这个问题。向高手学习有以下诀...

IT职场人生系列之十七:入职(高手篇)

这是IT职场人生系列的第十七篇。 这里所说的高手,大约比项目经理还要高一些,大致在产品经理或部门经理的层面上;但项目经理也可以参考。之前新手入职的要点是找到自己要帮助的人,和要帮助自己的人(是同一个人...

IT职场人生系列之二十一:如何学习新语言(一)

这是IT职场人生系列的第二十一篇。(序言,专栏目录)最近《火星人敏捷开发管理工具》接近发版了,回忆起一年半以前刚利用业余时间开工的时候,编程已经中断了7年(03年最后一次用VC++6.0编码),开发所...

IT职场人生系列之二十二:如何学习新语言(二)

这是IT职场人生系列的第二十二篇。(序言,专栏目录)(续上篇)获取帮助谦虚、大胆、再谦虚地尝试这几个词看起来很不搭嘎,但我细细回忆起来10多年编程的经历,这句话很可能是高手与低手最后产生差别的关键,所...

IT职场人生系列之二:大学生活

本文是IT职场人生系列的第二篇。本人本来小学至高中一帆风顺,没想到自大学以后颇多坎坷,最近家族中有位下一代来咨询考大学的事情,也算是帮我重新整理了一下思路。先做个总结:大学成绩马马虎虎,但在班里也算是...

IT职场人生系列之二十四:程序员如何增加收入

转载自:http://blog.csdn.net/cheny_com/article/details/8450065   程序员的收入是广受关注的问题,很多人从业3~5年之后就会遇到这个收入瓶颈。...

IT职场人生系列之十:创业观

本文是IT职场人生系列的第十篇。最近头条是关于创业的,自己曾经想过很多,业来说两句。本文不涉及如何创业,该在什么行业创业的内容,只是从年龄的角度,看年轻人是否应该创业。没有太多脉络,从问题收入。1. ...

这是IT职场人生系列的第十八篇

IT职场中,有几个看上去就很危险、没有前途的职业;也有一些看上去很美,但前途也很危险的职业。本系列将大致列举其中一些,并给出一些如果已经位于这些职业中,应该如何处理的方法。 如何判断危险职业 整体...

IT职场人生系列

IT职场人生系列之一:序言及找谁占卜 本文是IT职场人生系列的第一篇。 时间流逝,渐渐从之前在公司里边的小弟变成大哥了,当年身边比我大的程序员们都不见了,既没有当领导也没有去创业,就这么消失了。 ...

IT职场人生系列之十一:找女友

本文是IT职场人生系列的第十一篇。   “找男友”就不写了,没经验。 半年前,正好同部门的一个小女生找到男朋友,好像也是IT人士。大家一起吃饭的时候,就聊到这个话题,当然,是从女方的角度。 一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IT职场人生系列之二十五:如何向高手学习
举报原因:
原因补充:

(最多只允许输入30个字)