程序员忙,似乎是个公论,有些程序员甚至会认为,不忙的程序员无法快速地进步,从而会落伍。或者说,不忙的程序员有可能被公司末尾淘汰掉。对此,一直危机感很重的我深以为然。
因为,我见过不少得过且过的的程序员工资明显低于同等条件下的平均水平,我更见过更多忙成狗的程序员,因为不知道在忙什么以及为什么忙,所以进步很慢,这真就叫做白忙了。
不论程序员对“忙”持有什么态度,但似乎很少有程序员能主动地逃避,除非得过且过,但这样似乎是透支日后的发展前景,以此来换取当前的舒适度。
本文不讨论程序员该不该忙,而是根据切身体会和所见所闻,交流下如下方面感受。
1. 如何在百忙中更有效地干活,从而让自己能有更多自己的时间,至于这个时间里是休息还是自己发展,那每个人自己看着办。
2. 如何不被过于繁忙的琐事牵着走,从而迷失自己的发展方向,这里会写些我见过的走岔路程序员的情景,供大家警示。
3. 如何利用不多的个人时间,快速地提升自己的能力。
好了,正文开始。
最理想的情况是:不忙,钱多,而且个人还能不断地升级。这是每个程序员都想的,但似乎这类工作很少,至少我没见过。
次一等的是:忙,但拿到的钱能对的上忙的程度,或者通过忙能提升自己(忙得有收获)。
再差一等的是:忙,虽然能挣到钱,但很大程度上不是为自己忙,即忙了一段时间回顾后,说不上个人有啥提高。
最差的是:看着别人忙,自己不忙了,(别高兴太早),原因是在公司里或社会上被边缘化了。
除此之外,不忙的情况我还能想到一种:虽然被分配很多活,但由于个人因素,得过且过。这离被边缘化也不远了。
总之一句话,很少有程序员不忙。但人一忙,心就烦,不少程序员火气就很大,平时就有可能对测试,对需求方,甚至对领导发火。
这里想说的是:很多事情是我们无法改变的,那只有改变自己。这话说得很无奈,我们换种说法:心态不好,没法让自己不忙,更办不成事,最终倒霉受累的还是自己,与其这样,还不是待人接物和气些,指不定大家谈得开心,事情还办快些,还能让别人有个好印象。
浑身都是铁,能打几颗钉?再牛的程序员也不可能啥事都自己做,或者任何与自己相关的事情都自己做。
再换个说法,一些领导,经理和老板,事情比我们更多了,他们该怎么办?
如下是结论和建议:
建议一:不该自己做的事,而且不做是没有风险的事,别做!
比如在安排任务时,不属于自己分管的,在做好自己的本职前,可以不做。或者超出程序员范围的,比如谈需求,或装系统,装机器,也可以不做。
可能不少程序员遇到别人来请求帮忙时,拉不下脸来拒绝,或者怕不做会得罪人。一个人在公司里地位的提升,是靠做好自己的本职,而不是靠到处打杂,而且,如果真的到处打杂,做和自己不相干的事的话,分配你活的领导会怎么想?
那怎么样才能拒掉一些事情呢?
建议二:靠沟通
多和对方沟通,说自己事情已经很多,不做会有xxx后果,而且说自己的时间都已经排满了。这样遇到通情达理的人,那么自然就不会让你做了。
如果还是推不了,那么得和领导沟通,比如说,您交办的事情,我正在做,但目前XXX让我做其他的事情,这样您的事情我就无法按时完成了。这样让领导去拒,如果领导也拒不掉,那至少领导就知道你完不成任务的原因了。
建议三:直接拒
比如事情已经很忙了,而且此类事情有过领导和同事拒掉的先例,那么直接拒掉,不拒白不拒。
建议四:分清优先级
比如某个事情,不得不做,但优先级不高,那么可以直接说,这事情目前没时间,估计要等到3天后再做。
指不定别人3天后这个事情就自己解决了。
1. 在可以的情况下,工作中可以去掉些没有意义的事,比如刷手机看网页。
2. 多问,不断学习别人之前的解决方法,别什么都自己想。
3. 最重要的其实大家都知道:提升自己的能力,多了解业务。
4. 平时一定得多积累,多思考,多学习。
我在上下班的路上,看到很多人在刷手机,这个也正常,毕竟人都是要放松的,我有时候自己也这样的。
但我至少会留下足够多的时间反思:这事情做好后,我反思下如何能做更好,或者我该提升哪些方面的能力,或者我该去了解哪块的业务知识。
1. 小甲,工作确实辛苦,工作之余,刷手机,看连续剧,除了学习其他都干。结果3年后,能力丝毫没有提升,至于大幅度提升工资呢,只能呵呵了。
2. 小乙,一年换一行,总感觉当前太累,想换个轻松点的,第一年做java开发,嫌累,转行做.NET,第二年又转行做测试,第三年去做需求分析,结果3年后,有3类经验,但没有一个是精的,所以工作3年后依然无法在某一领域升级为高级。
3. 小丙,工作压力太大,所以学会了得过且过,结果很快被后进超越。
4. 小丁,在一个公司里工作有些年头了,属于老油条了,也能仗着资历推掉一些事情,自认为“钱不少人不累”。但随着年纪增长,过了初级或高级开发的年限,但能力无法提升,最终工资远低于平均水平。
我好歹也在一些大公司里呆过,在其中也见过不少牛人,他们至少属于架构师级别的,可想而知他们平时工作的繁忙程度(至少比我忙),说下我看到的他们平时学习的场景。
1. 见缝插针,有机会就学习,比如在开会间隙,或下班之余,都会看教学视频或纸质书。
2. 不会光看,而是边动笔边运行代码边学习。比如打开电脑,手上有本书,电脑里是有书的代码,边看书,边运行代码,从代码里仔细体会书上的内容。
3. 不仅限于书,会在读书的基础上记笔记,写博客,甚至写书,当然更会把学到的内容落实到平时的代码里。
本人自己感觉,谈不上聪明,说下我自己的感受。
1. 再忙,也一定得学习,可能干开始学的时候,甚至不知道学习的途径,不知道该学什么以及怎么学,但一回生两回熟,多看几本书就知道了。比如本人从架构小白到能忽悠一般的架构师,就用了大概半年的时间。
2. 至于学习的时间,一定是有的,比如最近我早上少用半小时看手机,那么一周5天工作日就有两个半小时了,可以写至少2篇博文了。又如晚上,回到家里,脑子不怎么灵了,但可以看些资料,积累些框架上的技能,待到周末再仔细阅读。
我自己感觉,远没有达到“一有空就学习”的地步,但相比之前“有空就玩”的场景,感觉确实有进步。
3. 得靠一定的目标来激励自己,比如发博文能名利双收,就凭这点,我会努力写博客。又如,我听说写书更能展示自己的实例,我就用了2年时间,完成了两本,有一本尚在写作中。
4. 自己学习的方法、途径以及学习的内容未必是最有效的,比如有可能学到内容在平时是用不到的,或者学了一些将要被淘汰的技术。所以一定得通过某些途径来“试错”,比如多看些大牛的博客,看下自己学的内容是不是恰当,或者学习的层次是不是大牛们推荐的。甚至可以去多参加面试,通过真刀真枪的实战来检验自己的学习效果。
5. 最关键的,得给自己明确一个长远的目标,这个目标可以不断被修正,但一定得有。比如3年后,我得升级到高级java开发,为了这个,我得学xxx,xxx等的技术。n年后,我得升到高级架构,为此,我该看xxx书,得实践xxx技能。
其实上述方法大家都知道,但能做到的寥寥无几,所以大家可以看到,在自己身边,因忙而迷失前进方向的比比皆是,但在百忙中通过努力升级到大牛的人也不少。 本人自然不想成为警示别人的案例,所以在百忙中写了这篇博文来警示自己,顺便把我的一些所见所闻和大家来分享,同时也希望大家别成为被别人警示的典型。
不忙的程序员不多,至少我见到的程序员都很忙,如果各位程序员朋友在阅读本文时产生共鸣,那么本文就没算白写。如果本文中提到的一些方法能让大家受益,本人就更加欣慰了,大家也可以顺手点个赞支持一下哈。至于本文会误人子弟?想想也不大可能,至少在文本里都是些四平八稳的内容。