意大利「文艺复兴之父」彼特拉克曾经说过:「肉体和心智的能力必须大到足以满足文学活动和妻子两方面的需要。」如果换做程序员的角度,这句话应该修正一下:肉体和心智的能力必须大到足以满足熬夜写代码和女朋友两方面的需要。当然啦,这个说法也还远没有表达出生活真实的复杂性和严峻性。
有时候我会把学习比作跑步。对于程序员这样的职业,新技术更新换代的速度确实比较快,这需要你总是保持在学习的状态。
跑步是锻炼身体很好的手段。但是马拉松,除了锻炼身体,同时也是对人性的考验。一件接近身心极限的事情,你的身体能否承受,你的精神能否坚持下来。
在一般情况下,程序员们对新知识进行学习的能力都还是比较强的。工作中碰到以前没做过的东西,只要能在网上找到对应的开发文档,仔细读一读,再看几个 Demo,就基本能解决问题了。这种规模的学习过程,一般几天就搞定了,可以看做是一次「短跑」。
当然,这种「短跑式」的学习过程,也只对于「一般性」的情况有效。而对于一些「专业性」的领域,我们就需要「马拉松式」的学习姿态了,做好充分的准备,并且长时间投入,半年,一年,甚至更长。
实际上,编程这门工作,门槛说低也不低,说高也不高。很多学历不高或者非科班毕业的同学,也都能把这份工作从事得很出色。但是按技术领域来区分的话,编程还是可以分为「一般性」和「专业性」两大类的。对于「一般性」的技术领域,你只要具备一点计算机基础,懂得一门编程语言,能理解业务逻辑,就能胜任了。但是「专业性」的技术领域就不一样了,除了计算机基础知识之外,你更需要掌握一整套知识体系,可能对数学知识还有特殊的要求。这样的领域有哪些呢?比如说,分布式系统,数据库理论,音视频处理,3D游戏引擎,操作系统和虚拟化技术,大数据处理,还有最近火爆的人工智能技术,等等。
对于「专业性」的这些知识,如果你打算涉足其中,就得需要拿出跑马拉松的精神了。据说马拉松跑到一半,很多人就会产生强烈的「想放弃」的想法,后半段就靠毅力支撑了。「马拉松式」的学习过程也是一样。可能一门「专业性」领域的知识,最开始吸引你的是兴趣,它非常有意思,可能听起来还很酷,但随着研究的深入,你就不可避免地遭遇很多沮丧时刻。
你会发现,你学得越多,未知就越多。这时候你肯定会产生放弃的想法,甚至对自己是否适合做技术产生一丝怀疑,但是没有关系,每一个在某一领域走得足够远的人都会碰到这样的情况。只要你咬牙坚持下去,随后你得到的奖赏必然是恍然大悟或醍醐灌顶的感受。我相信 ,这与一场马拉松终于跑到终点的胜利喜悦是一样的。
有长跑经验的人都知道,真正能在马拉松上取得好成绩的人,基本上都是匀速跑者。开始跑得多快并不关键,关键在于「后劲」足不足。我们的职业生涯也是一样,不管是程序员还是其他职业,这个道理都适用。
我时常在想,不同技术人员之间的区别到底在哪。是在于工作经验,还是在于他们的聪明程度,或者是在于他们是否有名校的教育背景?为什么本来基础差不多的人,多年之后会产生巨大的差异?与此相关的一个很实际的问题是,我们在招聘新员工时,到底应该看重他们的哪些特点?我最后想到的答案是,决定不同技术人员之间的真正分野,在于「成长性」,也就是持续学习和提高自身的能力。
换句话说,「后劲」足不足。一个人的成长过程,什么都可能随时变化,但成长性本身不应该有丝毫减弱。
很多人担心年龄大了就再也做不好技术,或者担心年龄大了之后的职业发展问题。显然,年龄并不是决定成长性的关键因素,这顶多是一个心理因素。成长性更应该是一个人的本质特征,是他所具备的基因。人与人的不同究竟在哪里?具体技能总是会变化的,但基因是不变的,也不应该随着年龄的变化而变化。
人的可贵之处就在于学习和塑造能力,这是造物主赋予我们的可贵品质。
甚至现在的人工智能模型也要以学习的方式来训练,才能产生它需要的职能。一个复杂的模型,需要大规模的训练,喂给它很多数据和模式,才能让它获得新的知识,不断提高「智能」。
我们可以想象,人脑其实也是一个智能模型,只不过这个模型更庞大,参数更多,容量更大;训练它需要的数据更多,时间也更长。如果你想成为某方面的专家,就需要花费很多年的精力来进行专业训练。
一个人,要想在某方面获得睿智,唯一的办法就是持续地学习、调整、提高、成长。这个过程需要耐力和坚持,而最终你会收获成功和乐趣。
结语
一句话,保持学习,保持「后劲」,保持成长。
这里推荐一下我的前端学习交流圈:784783012,里面都是学习前端的从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴。最新技术,与企业需求同步。好友都在里面学习交流,每天都会有大牛定时讲解前端技术!
点击:加入
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。