@IT·互联网程序员知了·IT

为什么本地文件夹会有烂尾工程

2016-01-26  本文已影响162人  鸡米或者是哈里
我的烂尾工程们.png

在面对自己广泛的爱好时,我从来都是鼓励自己去学去了解,从来不会在这些方面给自己定下死的要求,但是面对自己的专业,赖以生存的技能,还仍采取这样的简单态度的话,势必会为带来严重后果。一个开发者所持有技术的熟悉程度,其重要性无庸赘述,大概分为以下几层:查、写和说。在对技术不熟悉的情况下,出现问题,要能够自己解决,也就是能够查询问题的原因找出正确的解决方案,这是最基本的素质;在看到一个需求的时候就能够大概知道如何实现,并且按照思路走下去走得通,没有大bug,这是更高的层次;最高的层次在于,不论看到什么样的技术现象,都可以用精确的语言来阐述其原理。

仔细想了下,自己所处的位置当然只是到「写」的阶段,还不能够很好的阐述自己从事的技术其中大多原理。而且已经很长时间处于这种停止进步的状态,到底是什么阻碍了我在技术上的成长?

作为一个开发者而言,常常会在亲手完成第一个项目之后从结果获得自信和安全感,将大脑当中唯一那份自我怀疑给消灭掉,导致将接下来的开发工作视为重复的、繁复的、没有挑战的而渐渐变得懒惰,懒惰是一切不思进取的根源;长年累月地在同一水准线完成工作,甚至会产生一个「幻觉」,就是「我能够做到所有事」,不勤于思考再进步的方式。

开发者隶属于项目组,当一个项目组发现自己能够完成某种技术类别的工作时,会认为自己在这方面工作有经验,以此为资本,接受更多同质工作。比如一个项目组完成了oa系统,当看到其他oa项目时,都会打着「已开发过xxoa系统」的旗号去应征,拿下另一个oa系统。因此,挂靠在项目组当中的个人开发者们会发现,自己长年累月接受到的工作内容都是大同小异的,这表示只要我能够开发其中一个模块,就能靠这个历史分混很长时间,不太需要充电,从而造成不思进取。

最后一个原因是各种api过于智能化。优秀的设计api原则之一就是模块化,将大型问题转化为规模较小的、可单独解决的问题。「单独解决」就表示作为一个优秀的api,不需要使用者知道我内部的运作机制,只需要明白我需要什么和能干什么,肆无忌惮的用,这样原本是为了简化开发者的工作,没想也造成了一段潜台词:「开发者不需要理解api其中的机制」,导致开发者对自己写出来的程序不求甚解。

我们常常被告知「逼迫自己走出舒适区学习」,但「走出舒适区」只解决了一个问题:愿意学。我们学习只要有一个意愿就足够了吗?显然不够,比如学习本身就意味着要有「考评」,没有考评怎么知道自己学得怎样呢?像上面所说的,当自己亲手完成第一个项目后,我们会有那种「考评结束」、「有自信」的感觉,但绝大多数情况下,我们工作的内容都是相仿的,也就是说想学新技术,但没有那么多新的项目来考评我们,所以,想达到学习的效果,克服内心的自我怀疑,开发者们得自己给自己找项目做——自己确定需求、设计界面、完成功能,这加大了我们学习的难度,最终的结果极可能还没人用、没成就感,是一种短期高投资低回报的行为,这重重障碍生生将自我学习变成遥遥无期的烂尾工程。

上一篇下一篇

猜你喜欢

热点阅读