如何对写程序这件事保持激情

如何对写程序这件事保持激情

或者我更加喜欢叫的名字是:“为什么你很忙,却没有成就感。”

情景

相信很多人跟我有一样的情况,忙,需求如流水一样涌来,或者就是在改bug和改进系统的长河中不断自愿或者被动的推着前进。最直接的体现就是每天写程序写到智力下降,下班后却感觉一天就这么过完了,既没有努力工作的感觉,也没有荒废一天的想法。不悲不喜,不骄不躁。渐渐开始日复一日的要么在救火要么就是在制造火场,然后把自己埋进去。

问题来了,为什么我很忙,却感觉忙的没有意义。为什么我能力有提升,却感觉还不满足,总感觉欠缺了点什么。

今天大家交付了一个项目,让我有时间能坐下来思考这个项目。我拿画图软件画出了这个软件的架构,发现这个软件虽然不算很复杂,但是却是麻雀虽小,五脏俱全。这个时候惊喜的来了:

即使是这个你全程参与的项目,当你拨开程序的那一层面纱时,再来看这个项目,你发现你对这个项目是陌生的。

我仅存的记忆是每个模块中代码如何实现,数据如何处理等等,当抛开这一层时,我对这个项目就是一片空白。最简单的问题就是:“为什么客户列表要显示客户编号?”

写程序的如果只是考虑如何实现这个功能,如何实现需求,那么就很容易陷入一种被动的状态,就像被驯养的狗就不会自己觅食一样。程序员不应该是代码的量产机器,跟着一张张纸质的需求借着语言,借着工具去实现这一需求,要真是这样,是不是感觉自己其实就是变相的牛,每天辛苦犁地,却被当成是理所当然。全然不用管你在其中花了多少力气,花费了多少心思。

所以:

你要解决的不仅仅是需求,更是将你的思想,你的激情倾注到程序中去。

你对项目的热情 = 你对工作的激情

有时候觉得你对自己的定义决定了你对项目付出的程度,如果你对自己的定义就是根据需求交付项目,那么你不觉得自己其实在无形中将自己限制住了吗?对自己要求的程度就会局限于完成需求,为什么提出这个需求?如何优化这个需求?这些你都不会考虑。虽然你会说这些需求的确不是程序员思考的事情,程序员就是借助自己的专业能力交付代码。

本来我也这么想,所以大部分从业时间都在努力提升自己在语言,经验方面的积累。某一刻我突然想到一个问题:

我为什么写程序?

如果仅仅是为了谋生的话,那么我能坚持多久?到了我30岁,40岁时难道我还要抱着这种态度走下去吗?我不想要这样,我想能接着语言也好,经验也好,或多或少的能创造点我骄傲的东西,不仅仅是对需求的完善,更是超越。我不想要跟着一个又一个的需求随意的修改我写的代码,我不想像审视垃圾一样审视我自己的代码,我想以我的代码,我的代码所呈现的结果为骄傲。我想做出一款,哪怕只有一款,值得别人对我肯定的项目。

随着程序员职业生涯的增长,越来越多的不应该是岁月在你身上留下的痕迹,也不是越来越厚的简历,而是一两个值得你骄傲的作品。借用动漫中的话来说就是:

生命会因为一瞬间而迸发出璀璨的光彩,并且在那一刻达到永恒。

就像人们记住乔布斯是因为苹果,人们记住牛顿是因为万有引力,当你结束这一生的时候,你想在别人谈起你时给你怎样的评价?

怎么做?

多问

当需求来时,多询问为什么要提这个需求,这个需求的要点是什么。你在前期投入的越多,在后期越会对项目难以放弃。

不只关心程序

这是最难的,程序员的惯性思维就是看到需求就在脑中构想如何实现,实现成功后就开始敲击键盘。然后当自己终于实现这个需求后就停止思考,开始测试或者接下一个工作。这个时候请你等等,去看看你写的程序,去看看你实现的结果,真的感觉不错吗?还是觉得还可以更好?如果可以更好,那么请你努努力,有时候就是59分和60分的差别上。

把自己想成推销员

这个是我前几天突然想到的,那个时候准备为项目写一个说明书之类的,可是一开始提笔写就觉得写不下去了。如果我要去推销这款软件,那么这款软件的优点在哪里?他实现了哪些需求?我一个作为全程参与的人员都写不出来的东西,是不是有点奇怪了。

所以当你写完一款软件后,不妨这样试试,当你要去卖你写的这款软件时,你会怎么说?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值