这篇文章的前身是另外一篇断断续续写的随感,今天咬断手指忍住难产的疼痛终于把它完成了,待会开瓶啤酒庆祝下!这个问题的答案有许多条,比如时间管理、优先级、工作与休闲的平衡等等,本文基于本人的自身情况着重强调了其中的某些点。另外,由于本人的身份是学生程序员,所以本文的重点也放在了“学生程序员”这个人群上。

作为一个程序员,一天中大部分的时间是在电脑前度过的。但是天性好动的我,怎么克制住自己呢?我已经在这个问题上挣扎了好久,不知道有多少次,因为抵不住诱惑而跑去打游戏,也不知道多少次,因为无聊地上网闲逛而荒废了一个上午。为了解决这个问题,我决定从源头抓起。

我为什么写程序?

做一件事,一定有一个缘由。要想有其果,必先有其因,如果种错了了因,就会结错果。那么我为什么写程序呢?因为我是“要”靠这个吃饭的啊!虽然现在还在念书,吃的是父母,但是假以时日自己出去混,就靠这一点点技能赚钱了。所以,我写程序是因为要吃饭。但是其实目前来说这个分析并不十分正确,因为现在我花的是父母的钱,即使不写程序也能吃上饭。矛盾冲突没有那么明显。要等毕业了,断奶了,被丢进社会了,才能感受到不写程序就吃不上饭的压力。所以,准确地来说,我现在的所有学习,都是在为将来做准备。

写到这里我忍不住暗骂了一声,妈的老子准备了十几年,还准备!这个前戏有点长啊!我终于能够理解为什么包括我在内的众多难友们都萎了。好吧,我忍了,那前戏这么长,是不是会有特殊技能GET呢?(嘿嘿嘿~~~)换句话说,我的学习和未来的成就怎么挂钩起来呢?是不是GPA达到4.0就表示能找到好工作了呢?是不是多做一个项目就表示未来的薪水会高一千块呢? NONONO,这一切的答案都是操蛋的不确定!不确定啊!我要砸键盘了!

我终于明白为什么之前自己总是沉迷打游戏了,在游戏里面奖励机制是准确、清晰、透明的。你事先能知道打死一个怪能得到的经验,也知道升级所需要的经验,更知道(或者可以想象)升级所带来的好处与提升。于是行为与激励形成了闭环,而且这个闭环的响应时间很短。但是在学习与工作这个回路中,反馈未知,响应很慢,我们就像在月宫砍树的吴刚,永远不知道找什么时候能把树砍光了然后去找嫦娥妹妹。

为了荣誉而战!

没错!既然码了一上午的程序,拿不到钱,或许对未来有帮助但是谁知道一年后老子会不会去卖猪肉,那么作为一只高傲的程序猿,我只有为了荣誉而战!拿着正在跑的程序走到正在无聊刷手机的同学面前一摔,看老子做的东西!然后对着屌丝迷茫无知的眼神开始吹比,最后优越感爆棚地转身离去。是的,除了这些,我没有其它可以自豪的理由。练体育的男生一身腱子肉打篮球还有漂亮妹妹站在旁边看,而屌丝只有在梦里才能逆袭。

那些为了荣誉而战的程序猿还算是程序猿里面的优良物种,更多的或者说其他的程序猿,则跑到游戏世界里面寻找新鲜迅速的精神刺激。作为一名资深DOTA玩家,我知道那种”冰封王座不倒绝不GG”的坚持与感动。我也知道自己曾经是多么相信“为了荣誉而战”的宣言,但是打得越多,越来越明白,一次次的杀戮,杀的是其实是自己,游戏是一个世界,现实又是一个世界,两个世界的法则互相独立,现实中的问题没办法在游戏中解决。当我不开心的时候,打游戏并不能“最终”使我开心,只是分散注意力罢了。当我空虚寂寞的时候,打游戏并不能“最终”使我“不”空虚寂寞,只是打发时间罢了。好吧,有点扯远了。

回到主题,我确实相信自己是为了写出优秀的程序而写程序的,就好像乐器被创造出来是为了吹奏动人的旋律一样。也许工作了之后我也会考虑赚钱和生计,但是这个精神和原则是不会变的。

好的,既然已经解决了WHY的问题,那么HOW的问题呢?

每天早晨被新奇的点子吵醒?

曾经看到过这个说法:“我每天早晨被新奇的点子吵醒,然后迫不及待地投入到一天的工作中去!”呵呵,呵呵,呵呵。我相信也许确实存在这样的人,但是我觉得应该没有那么纯粹,一个优秀的产品,往往也意味着金钱、前途、影响力……做白日梦的时候我也是那种状态,仿佛自己是上帝视角。现实中伪上帝视角也是有可能的,不过需要实力和运气的铺垫。作为一个小小的还在肉身修炼的程序猿,我也曾偶尔早晨醒来兴奋不已,然后像打了鸡血一样地写代码。但是更多的时候早起是需要坚定的毅力的。而且即使七八点起床了,在没有课的时候,面对学习、玩游戏、再躺一会、上会网先、无所事事、发呆……这许多选项的时候,能不能快速准确地选择第一项也是一个问题。

其实早起不早起,是一个心理预期和习惯的问题。假如心理预期是7点起床,但是9点才起,那么一整天的安排都要被延后。本来预期上午做完的事要拖到下午,本来预期下班前做完的事要加班来做。这种延期只会降低效率,而不是相反。所以,明确自己最习惯的工作时间,并提前做好工作的准备。

去图书馆、实验室、教学楼,一切有人的地方学习、工作 我即使怎么受到诱惑,在图书馆这种庄严神圣的地方也不会玩游戏、看电视剧,即使周围一个人也没有。所以去图书馆可以让我迅速排除几个错误选项。并且,从家到图书馆需要我背着一个重重的电脑包骑车十几分钟,天性懒惰的我一般是不会愿意那么快就再骑车回去的。而且,我发现当其他人在认真的时候,即使互不相识,我也会不自觉地形成竞争意识,然后也会变得非常认真。

把学习、项目当作一项工作

这个方法我是听一个大一的小朋友跟我讲的,然后我那个惭愧啊!人比人,气死人。不过想想很有道理呢。朝九晚五的上班生活,即使再无聊你也不会不去吧!那么为什么健康又营养的学习就可以随随便便对待呢?把学习当作一份工作,到点上班,不到点不下班,做不完还要加班!这个就不多说了,也在慢慢尝试中。

周末走出家门,游山玩水

高强度搞了一周,周末的时候就骑车去散散心,参加一些社交活动,在和人与自然的接触中获得驱动力。学习最终的目的是什么?还不是为了获得更多的社会资源吗?那么这些资源获得了之后怎么用?自己在家里烧钱玩?当然不是,大部分的还是会在社会活动中消费掉。为了弥补消费的资源,就必须努力学习、工作。举例来说,和一般熟的同学聚会,往往会想要给人留一个好印象,这时你的穿着、谈吐一般来说要更加注意,往往高于平时的水准。偶尔还要吹个牛皮:当聊起某一次并不是很刺激的攀岩活动时,往往会说得惊心动魄。给别人也给自己留下一个印象:我攀岩很牛逼啊!下次有攀岩的机会时,就会更加想要去尝试。那么为了要去攀岩,就必须努力学习工作,一来挤出这个时间,二来提高收入以支付攀岩的费用。最终,吹比让我更加热爱学习了!

发布项目,制造成就感

做好了一个项目,跟同学、朋友吹吹比,然后就完了吗?就我的性格而言,重复的话我不会讲两三遍以上的,所以一般也就得瑟个两三次罢了。但是如果我把这个项目放到网上,能被同行点赞,那酸爽!嘿嘿~至于其它开源项目的优点就不多说了,反正是大大的有!

杀死无聊

大多数无聊的时候,抗一抗就能过去。站起来走一圈,听听音乐,和朋友吹吹比都是不错的选择。这时候如果回到电脑前还是提不起精神的话,最合适的做法是立刻开始工作,不要把注意力放在无聊的心情上了。无数的理论和实践证明当你开始工作之后,你就会专注于手头的工作而忘了之前的负面情绪。如果实在无聊到想死的时候,做下一优先级的事情。比如写个博客啦,做些阅读啦,画画啦,千万不要打一会游戏或者看一集电视剧放松一下。因为当你做完一件有价值的事情的时候,总会产生一些成就感,促进你去做更有挑战的事,然后形成一个正向的循环。而当你做完一件不需要头脑,纯粹的精神消费的时候,往往会产生惭愧和内疚,进而陷入负面情绪的死循环。所以,杀死无聊的最好方法,就是做积极向上有价值的事情。

找一个情人

当我写下这个小标题的时候,我发现我是有多么寂寞啊!程序猿最大的朋友和敌人,就是寂寞!整天对着电脑一个人写程序,没有一颗耐得住寂寞的心真的会疯掉。白天苦逼写码一天,晚上回到家如果没有个人陪着说说话,那种感觉确实很难受。所以,如果有条件的话,不要犹豫赶紧找个妹子暖床单吧。如果实在没有条件的话,只能迎着晚风,吹一曲寂寞咯。