前端开发心理学(五):不要急于求成


上一篇中我们提到,只要我们不断的缩小现状目标之间的差距

达成目标就只是时间问题了,

也就是说,只要路走对了,就不怕远。


道理谁都懂,但是,在实际执行的过程中,

人们却很难做到这一点,

经常在积累还不够的情况下,急于求成。


实际上,欲速则不达,

事情总得花一定的时间来完成,

不可能瞬变,只能渐变


不幸的是,各种营销广告却牢牢的抓住了这种急躁心理,

让我们误以为自己与成功之间,只差一个想法

可惜这是不可能的。


回过神来,我们才发现,自己还是一无所有

估算


我们在开发软件的时候,有一个常见的环节就是评估工期

也就是预估一下我们大概需要多久能够完成,

虽然程序员们经常反讽估算的不准确性,但它却不失为一种有效的度量方法。


强行缩短工期的行为是不理智的,也是违反软件规律的,

它会带来很多风险


这个道理,对于程序员的个人成长而言也是如此,

用十年学会编程并不是在劝退,

一万小时定律,也不是妄谈。


因此,有些事情是急不来的,急也没有用。

时间管理


很多软件项目,都会遇到不能按时交付的问题,

因此,如何缩短时间,如何提高开发效率,

都是老生常谈了。


为此人们考虑了各种各样的办法,但实际却鲜有成效

所以,我更倾向于认为开发效率是团队的一个隐含属性,

它的瓶颈不在技术,而在于人的管理


对于绝大多数工作而言,任务如何划分,成员之间怎样合作,

具体的工作流程是怎样的,都会对效率产生严重影响,

而与是否在做软件开发无关。


因此,提高效率应该多从技术无关的角度想一想,

对于个人成长也是如此。


我们不可能无限制的提高效率,但总有一个当前最明显的阻塞点

不以消除瓶颈为目的做出的努力,都是徒劳的,

不能假设换了学习方法之后一定会有效果。

实战经验


上文我们提到,努力过程中必要的“一万小时”或许是难免的

因此,我们大可不必再抱有侥幸心理了。

其次,提高效率也要以消除瓶颈为突破口,优先处理阻碍自己进步的阻塞点


对于前端开发者而言,一个明显的阻塞点就是项目经验

任何不进行实战操作的技能学习,到最后几乎都会被证明是毫无用处的。

这简直就是“房间里的大象”。


大家都知道如此,但很少有人主动去克服它。

有用的经验需要从实战中获取,我们可以不用再怀疑自己的这种判断了。

我甚至认为,直接投入到真实的项目环境中才是最有效的学习方法。

泛读


另外一个比较重要的阻塞点是开发者自身的知识体系

有不少爱学习的程序员,只阅读专业的技术书籍,

这虽然在短时间看来突飞猛进,但从长远来看,却十分有害。


因为软件中遇到的问题,很少是一个纯技术问题,

即使是纯技术问题,也跟我们如何定义问题有关。


因此,除了编程语言,工具框架,软件工程,网络与计算机体系结构,

还应当泛读一些非计算机类的书籍,

例如,经济学,数学,逻辑学,心理学,等等。


这样做会重塑我们的知识体系,改变认知,

很多令人迷惑的问题,在其他领域早就有人解决过了,

思而不学则殆。

结语

本文主要介绍了阻碍开发者成长的两个方面,

一个是缺乏实战经验,另一个则是没有进行广泛的阅读,

要想做到这两点,首先得摒弃浮躁


只有静下心来,才能耐心的进行实战练习,

而不是妄想从介绍性的资料中获取专业知识,

只有看清现实,不急于求成,才肯花时间涉足多个领域。


很多人告诉过我们,要珍惜时间,

但其实不珍惜时间,什么也不做,其实更加困难

总会做点什么事情。


参与到一个项目中,正常的完成工作任务,

即使没想着要学习,也是在学习了,

反之,强迫自己学习那些仅让自己满意的技术,学了也未必有效果。


所以,工作和生活不妨轻松一点。


正是,

草长莺飞二月天,拂堤杨柳醉春烟。

儿童散学归来早,忙趁东风放纸鸢。