F++:谈谈程序员的自我激励

510 阅读12分钟

写在前面

我也有问过自己:“明明是个程序员,有必要写这么虚的文章吗?”

答案是:“很重要,所以我想写。”


启发

在写完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月即将过去了,上半年的最后一个月,大家今年的目标进程到一半了吗?

花了一杯咖啡的时间,希望能抵上一杯咖啡的作用。