作为一枚程序员,一枚好久没有双休过的程序员,我的回答是:
有
一个月才过一个周末不算有,几个月偶尔加一次班才算。
加班,词典上的翻译是这个样子的:
加班,是指在规定的工作时间外,延长工作时间加班,延长休息日工作又不能安排补休的或法定休假日工作的。
所以,加班原因就显而易见了,要么,上级给你的活太多了,要么,你干活的速度太慢了,两者兼有的,额,你是说我么?
稍稍琢磨一下,活儿多与速度慢之前存在一个悖论,等量的活儿,给不同人,完成所需的时间可能相差很大,甚至可以大到几倍的差距。
据我观察,越牛叉的程序员加班的时间越少,即使是在很忙的时候(这会不会暴露我的码农的秘密),他们也基本上不加班。
对这种人只有膜拜了,膜拜之后,还是得想一想,怎么可以离这种的人距离更近一些,说实话,上级给的活并不是多了那么多的,只是稍微多了一点儿,只要的速度稍稍提升一下,就能在下班之前做完的。
按照正常的逻辑,接下来应该写怎么提高自己的工作效率,怎么成为一名牛逼的程序员,在下班时间到来的时候,潇洒的按下macbook的关机键;帅气的从人体工程学椅子上站起来;空灵的眼神从那些要加班的同事身上扫过,你们这些菜鸟,诶,做事咋就这么慢呢;飘逸的从老板的办公室前面走过,用身影告诉他,你今天给的活儿实在是太简单了,一个小时就能搞定,能不能有点儿追求啊。
我也想这么写下去,可是,阔是,我也不知道啊。那就写点儿别的吧,写点儿我知道的,比如说,为什么我干活儿总是这么慢呢?
工作经验欠缺
这个,除了不断积累,也没有什么可做的。
时间利用率低
细细回忆了一下,八个小时的工作时间,真正用来一心一意工作的时间却真的是好少啊,大部分时间都在
- 不知道自己在想什么
- 为什么要做这个啊
- 诶,这个太难了,我去喝喝水再来
- 那个傻叉的客户为什么要设计这个鬼样子的需求
- 我去,怎么又编译不过啊,我什么都没做啊
- 上次这个问题是怎么解决来着
……
嗯,这就是大部分时候的心理状态,虽说,比上班时间去聊微信,去刷微博,逛淘宝要好一些,但是,好起来的这一些并不能支撑你不加班的愿望。
工作的目的是什么?
解决问题
工作不是来混时间,也不是来抱怨,来神游的,而是来解决问题的,这样来看,上面那六点与逛淘宝流一样,都是偏离了工作的重心,导致好刀没有用到刀刃上,时间被浪费了,所以你要加班,将浪费的部分给补回来。
抓住了工作的目的,那就好办了,作为一个程序员,一个不想加班的程序员,上班时间该干些什么。
不要情绪化,冷静对待bug与需求更改
bug既然出现了,那就是有bug了,对着提示信息,找到bug去解决它就可以了,你情绪化个毛啊,难道你对这bug骂一通它就能自己没有了。至于需求更改的问题,如果你的老板都同意了,你还有什么可以评论的,难道你不想干了,再说,多敲敲代码不是成长得更快么。
对待难题不逃避,多分析,多思考
bug也是分等级的,有的看看log就能解决,有的几天都没有头绪也正常,对待这类bug中的战斗机,如果逃避,只会将解决的时间越拖越长,导致加班时间越来越长,并不能将其躲过去。管那么多干嘛,撸起袖子就是干啊,一些分析不出来,上第二次,第三次……直到解决出来为止。
多总结,跳过的坑不跳第二次
bug的种类之多,那事牛津词典上面的单词数也不能匹敌的,对于那种少见的,如果不做好笔记,不总结,以后遇到了,还是不知道怎么解决,之前花过的时间又要花一遍,活该加班。
貌似凑足三条了,暂时就这么多,倘若都能做到,起码能从零休升级为单休。