英语轻松读发新版了,欢迎下载、更新

通过「刻意练习」,你才能成为顶尖的程序员

hkliya 发布于 2015年12月28日 | 更新于 2016年01月07日
tinyfool adad184 清醒疯子 等5人欣赏。

作家格拉德威尔在《异类》一书中指出:

人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。

他将此称为「一万小时定律」。

要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。

如何打破无休止的加班?

在中国,IT 行业普遍加班严重,先不说行业特征与企业文化。 就我最近面试的经验来看,很多程序员的开发效率实在是低到不忍直视。

所以「效率」是一个导致加班的重要因素。 如果你效率高,但迫于企业有加班的文化,你完全可以用加班的时间来学习一些新的技术,进一步提高自己的效率。

效率低会引起下图的怪圈: 效率低 -> 无法按时完成工作 -> 加班 -> 没有时间练习 -> 效率越来越低。

要打破怪圈,有效的办法就是「刻意练习」,从此进入一个正向循环: 效率高 -> 提前完成工作 -> 练习提升 -> 效率越来越高。

别把工作当练习

演员在台上的表演算是练习吗?球员在比赛场上算练习吗?不算。 那么对程序员而言,工作上做项目算刻意练习吗?

我以前以「能边学边做」为荣,API、语法之类的没必要看,反正我们有 Google 和 Stack Overflow 嘛。 直到我参加了 Hackthon 之后改变了这个观点。在极短的时间内,要把一个创新的想法,用技术手段实现出来。 这个时候如果你还在查某个接口应该怎么用,某个语法应该怎么写,能竞争得过别人吗?

现实工作中何尝不是如此?商业竞争如此激烈,假设你要做个推荐系统,你是找做过的来做,还是边学边做?

所以我认为练习应当发生在工作之外,一旦上了战场,不是你死就是我活。

怎样练习才有效?

并不是所有的练习都是有效的,没找准地方,只是在浪费时间。 比如,我用吉他弹一首曲子时,某个小节老是弹不好,我就会单独把这一个小节拿出来重复练习,而不是把整首曲子一遍一遍地重复练。

专家研究表明,只有在「学习区」练习才最有成效。 我们应当走出舒适区,多在学习区练习,将其变成舒适区; 接触恐慌区,将其慢慢变成学习区。

这样才能避免原地踏步,持续提高。

程序员怎么练习

走出自己的舒适区

首先要走出自己的舒适区,接触一些不熟悉的技术领域。比如后端很熟悉了,去写写前端试试。Web 很熟悉了,去写移动端试试。 业务开发很熟悉了,去研究一下搜索,推荐系统,大数据试试。OO 很熟悉了,玩 FP 试试。 老守着自己会的那点儿东西,总有一天会坐吃山空。

发现自己的不足

有以下方式:

  • 录视频
  • Code Review
  • 结对编程
  • 参加编程道场

没有对比,很难发现自己的不足,所以把自己的代码和编码过程展示出来,一定会发现许多可以改进的地方。

只有菜鸟才会觉得自己特别牛,因为物以类聚,他的圈子里全是菜鸟。 你越牛,接触的圈子也越牛,你越会觉得自己渺小。

程序员练什么?

程序员要练习东西很多,一些基本功如下:

  • 打字
  • 编程语言
  • 编程范式
  • 编辑器
  • 快捷键
  • TDD
  • Clean Code
  • 重构
  • ...

没时间不是借口

我第一次组织 Code Retreat 的时候,到 QQ 群里宣传活动,结果得到的是嘲讽:

周末还在写代码,肯定是屌丝。

很多人没有时间练习,却有大把的时间打 LOL,大把时间在群里吹水,大把时间讨论楼市股市。 当然,人都有选择自己生活方式的权利,并没有谁对谁错。

说这么多,只是希望真正热爱编程的同学们知道,只有通过刻意练习,才有可能成为顶尖的程序员! 希望我们一起成长,成为顶尖的程序员!

共16条回复
tinyfool 回复于 2015年12月28日

写得不错,所以虽然是广告,我还是点赞

hkliya 回复于 2015年12月28日

1楼 @tinyfool 真是有原则的人!没看错你 : )

CALLPLA 回复于 2015年12月28日

想点赞,但是声望不到20,谢谢分享。

自己还停留在写个新功能都得先Google一下,看看有没有示例,实在没有才自己看文档去重新写的阶段。

hkliya 回复于 2015年12月28日

1楼 @tinyfool 为表诚意,我把正文里的广告去掉了! 现在就没人知道我是给 CodingStyle.cn 打广告的了。

tinyfool 回复于 2015年12月28日

4楼 @hkliya 哈哈哈,赞

hkliya 回复于 2015年12月28日

3楼 @CALLPLA 只要有用就行了,赞不赞都不重要。

online66 回复于 2015年12月28日

所以我认为练习应当发生在工作之外,一旦上了战场,不是你死就是我 。 赞

mratoz 回复于 2015年12月29日

功夫都在课外,赞一个

Lexus 回复于 2015年12月29日

practice makes perfect.

surefire 回复于 2015年12月29日

有道理啊,我以前也是喜欢边学边做,并以此为荣

zyy93 回复于 2015年12月29日

求QQ群号~~

hkliya 回复于 2015年12月30日

11楼 @zyy93 没有 Q 群,只有网站。

zhdooo 回复于 2015年12月30日

不错,很有道理,边做边查比较费时间。

taker2001 回复于 2016年01月04日

不错不错。很有道理

river53 回复于 2016年01月05日

恩。有道理

wwd2010 回复于 2016年01月07日

我想每天练习吉他 真是弹得越来越烂

本帖有16个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]