写在前面
我也有问过自己:“明明是个程序员,有必要写这么虚的文章吗?”
答案是:“很重要,所以我想写。”
启发
在写完Phaser.js的入门系列文章后,我长舒了一口气,但在那个瞬间我突然冒出了一个想法:
似乎没人逼着我,但为什么我会写这些文章?
我认为可以归结于热情。
相信每个程序员一路走来,都会感叹学习编程真的不容易,如同学习其他技能一样,都需要大量的练习来帮助自己掌握知识。在这过程中有很多的困难需要克服,同时,我们都渴望获取更多知识,想获得更大的成就。
是什么让我们坚持?是热情。又是什么让我们保持这份热情?那就是自我激励。
《自我激励的100种方法》
适逢最近的工作不慌不忙,也需要一点激励来让自己更投入开发中去,于是我找到了,并阅读了这本书。这本书1996年就已经出版了,直到今天依然畅销。当然了,我不是卖书的,坦白地说,100种激励方法中有几乎一半都是大同小异的。总的来说可以归纳成一下几个点:
自信面对一切
养成习惯
专注于目标本身
从心理上欺骗自己
给自己一个承诺
保持创造力和好奇心
要深刻地感受到时间的宝贵
要说的话这可不只是一本关于自我激励的书籍,还能帮助你充实人生、提高心理素质。书中比较有趣的是作者会列举很多例子,包括和很多名人交流后的感想,还是值得一看的。下面说说作者开篇关于心理治疗专家所用的临终体验的方法吧:
摘自第一章:
《在生命的最后一刻,你还会想说什么》
体验结束时,我的情绪已经完全失控,放声大哭起来。然而,当我慢慢恢复平静之后,一件美妙的事情发生了。我的头脑突然变得清醒无比。我突然明白,生命中真正重要的到底是什么,我最牵挂和最担心的人到底是谁。生平第一次,我对乔治·巴顿的名言有了如此透彻的理解:“死亡远比生命更令人激动。”
体验的方法其实很简单,闭上眼睛,让自己平静下来,假想自己即将离开人世,脑海中勾勒出朋友和家人来送别的情景,感受弥留之际的百感交集的心情。此时你最想说什么?会向谁倾诉?
算是个题外话。好了,剩下的就让大家自己去体会吧。(反正我是很有感触的,想象得越逼真,才越能明白,过有意义的一生是多么重要。)
程序员的自我激励
上面书中所说的可能是面向所有人的,如果范围缩小到程序员身上,他们都有哪些自我激励的方法呢?这些方法如何执行?我来总结一下。
No.1 危机感
核心:认为自己处于危机当中
首先,对于我们来说危机是什么?从程序的角度来说,无非是两个方面:
自身技术落伍,竞争力不足
缺乏自己发挥的空间
就像2016年前端技术概念大爆发的同时,前端程序员的危机感爆炸。我们总会担心自己了解的还不够多,技能不够全面。如果缺乏竞争力,自然就容易丢了饭碗。另一方面,如果我们修来一身武功,却无用武之地,则郁郁不得志,自然没有动力继续在编程的道路上更进一步。
执行:
关注相关技术的新动向,勇于学习、使用新的技术。
可以follow一些技术上的牛人,在提高自身技术水平的同时,也能督促自己往前看。
如果公司项目没有空间让你去发挥,勇敢地离开吧,只有自己的未来才是最重要的。
No.2 好奇心
核心:对于技术,必须有好奇心
物理学家艾希德·艾沙克·芮白,于1938年最先发现核磁共振现象,他把他在物理学领域取得的成就归功于他的母亲,因为在他的学生时代,每当放学回家时,母亲都会问他:“艾沙克,你今天提出好问题了吗?”
同时也可以说说我的童年,我喜欢跟着爷爷看动物世界,好奇它们的生存之道;喜欢坐在摩托车的前面,沿途一直抛出为什么;最喜爱蓝猫淘气三千问(暴露年龄)中的科普知识,比他们本身有趣得多。小小年纪就一直问个不停,很庆幸,我的家人都很乐意去回答我的这些问题,我认为这对我的成长非常与帮助。
我们可以专精某个方面,但我们需要对世界的事物好奇,面对新的技术,我们都需要有好奇心,因为只有这样,我们才能发现更多的可能性,才能更有动力去学习新的技术。举个例子,为什么会有MVVM框架的出现?我们本可以看着教程把任务完成即可,但我们更应该去思考,为什么?尤大(Vue.js的作者)是本着怎样的想法来写出这样一个优秀的框架的?
好奇心就像一面风帆,让我们能乘风前行,缺乏好奇心,我们也许只能在名为“技术”的海上找不准方向。
执行:
多给自己提出问题,也多给别人提出问题。
遇见新鲜事物不要放过,Google一下留下印象,也许会是你未来的帮手。
时刻提醒自己,要拥抱新技术,要发掘新技术,研究它,使用它。
No.3 分享
核心:乐于分享,认真对待分享,会有很大收获
你会看到很多大牛都会很乐意去分享他们的经验,因为分享本身就是对他们自身的一种激励。试想一下,你的文章被上万的程序员阅读过了,你能不要求自己做到逻辑缜密,认真负责吗?
说个尴尬的事情,我一开始也忌讳在社区发表文章,因为总觉得自己写不出什么好内容。自从听过了一句话:
在岸上永远都学不会游泳。
尝试去写文章吧,羞于分享的话,尽力一步步提高自己的写作水平。只有开始写了,才有可能越写越好,才会对自己要求越来越高。
就如之前写的几篇文章一样,我查阅资料、附上示例、贴上参考链接、列出我的重点和见解。在把之前的知识整理成一篇文章的过程中,我收获了很多,更加深了对相关知识点的理解,而不只是重新排版了我的笔记。
另外,为什么说要认真对待分享?因为分享除了达到交流互助的目的外,更为重要的是寻求肯定。对于我而言,我会经常翻修自己写的文章(或是一切分享给他人的资料),因为我不希望我写出来的东西只是一纸流水账、简单的资料整合、或是存在错误引导的烂文。当有人看了文章并给我点赞表示支持,我会得到很大的满足感,并努力贡献更好的内容。
执行:
保持在社区的活跃,定期整理自己的知识,发表自己的文章。
对自己的文章要有要求,对读者负责。
No.4 产品思维
核心:每个项目都是一个产品,我们都应有产品思维
很多时候我们写的一个项目,可能是一个小框架,或一个plugin,没有获得很多的关注,并不是因为它的代码不够优雅,实现还不够完美,而是我们缺少了产品思维。
先说说这里的产品思维是指:
在大家还不了解你的产品的情况下,你要讲一个故事、或描述一个场景,来介绍它的用处,来让大家对你的产品有一个大概的概念。
由浅入深地讲述,从Quick Start到References,从代码片段到完整示例。
你需要让其他人发现你的产品,因此,你需要做一些推广的工作。
每个产品都有迭代周期,都有版本管理。
你需要提供一个反馈的渠道,让使用的人给你提点建议,或是反馈问题。
……
只有将项目看待成产品,才能使这个项目能长期发展下去,才能变得更好,否则在不久之后你将对它失去兴趣,它只会成了你自己练手的项目。
就拿我们经常逛的Github来说,你有认真想过README该怎样写吗?优秀的开源项目一般都有一个整洁,可读性非常高的README。Quick Start能让你快速上手这个项目;想先看看效果?你会找到DEMO的链接就在README的顶部或底部;把Github Pages利用起来是必须的,稍微设计一个好看的页面,把更详细的内容展示在上面。
做好一个产品,而不只是做一个单纯的项目,需要做大量的工作,但由于做了这些工作,你的项目会得到更多的关注。带着产品思维去开发,你的项目也将更规范,迭代周期更加合理。
执行:
把自己当成产品经理。
为你的项目写一个流畅易读的介绍。
分享你的项目,或是开源,或是写文章去介绍它。
No.5 好胜心
核心:和一切竞争者进行良性竞争
这里的竞争者不限于你的办公室同事,还有社区上的其他开发者,甚至你的儿时好友,即便他们不是和你共在相同的行业。
科比曾说过:“如果必须有一个人要赢,那个人为什么不能是我?”
保持好胜心,你会持续优化自己的代码,你会由于自己编写的组件出了个bug而闷闷不乐,你会由于比隔壁的同事写的代码整洁而暗自高兴,你会由于别人采纳了你在segmentfault上的回答,而不是其他人的而满足……
将自身置于一场比赛中吧,在时间面前,我们都在竞赛。人生苦短,我们还处于很年轻的时候,能跑的话,为什么只是散步,能跑赢别人,为什么只是紧跟其后。
执行:
问自己:“大家付出了同样的时间,你收获的有更多吗?”。
看到别人的努力,然后付出更多的努力。
如果可以比赛,就将自己代入比赛中。
No.6 创造性
核心:追求做有创造性的工作,拒绝搬砖
我常会思考我的晚年会在做什么,我想象过很多种画面,但唯一有一点我很肯定的是,我会继续发挥我的创造力,利用编程这个技能,继续创造。
看着到了四五十岁还在做无创造性的重复工作的人们,我总感觉,他们肯定很无聊,或者很寂寞。如果到了晚年,你不会创作,那该是多可怕的一件事情!我都想不到时间多到爆炸的我能做什么。学习新的技能很困难了,难道我最后的十年二十年都是在搓麻将?好吧,断言30年后的事情是愚蠢的,但我们还是要警惕自己。
人因为有创造力而生动。
所以我一直觉得单纯的外包就像搬砖,假如没有收获,没有沉淀,只为赚点小钱而工作,激情何在?最后大家都在谈理想,而你抓着一把钞票欺骗自己达成了人生目标。
执行:
拒绝做不利于成长的重复工作。
把自己的所见所闻转化成各种新奇的点子,有时间了就去实现它。
No.7 勇于承担
核心:主动承担重要的工作,将逼出更强的自己
看到举重选手的大腿没,都是扛出来的。看到技术大牛的成长轨迹没,都是坑。
我们写程序的,经常会说踩坑。大家都知道踩坑的过程苦,于是也都绕着走,比如web前端中列表项过多时滚动页面会卡,一开始大家都尽可能减少列表项,或者干脆说,你的手机性能不行,没办法。后来出现了virtual list,不就是直面这个问题的结果么。至少我很佩服克服困难的作者,能承担这个难题的解决工作。
在创业公司工作也有很深的体会,不同于大公司分工会更加明确,每项工作都会有对应的人来负责。在创业团队中,大多数人都是身兼多职,或是一职多能。这就要求我们承担更多的责任,也因为这样,我们迫使自己更认真对待工作。
执行:
九成以上的技术问题都是可以被解决的。
机会总是留给主动承担责任的人,扛下来吧,不就加个班!
事无大小,自己能做的,主动去做!
小结
偶尔还是需要给自己打打鸡血的,写这篇文章,沉淀程序员的一些自我激励的方法,日后读到,说不定能唤醒自己,继续在编程的路上奋斗。忙碌的5月即将过去了,上半年的最后一个月,大家今年的目标进程到一半了吗?
花了一杯咖啡的时间,希望能抵上一杯咖啡的作用。