软件开发加班.docx
《软件开发加班.docx》由会员分享,可在线阅读,更多相关《软件开发加班.docx(7页珍藏版)》请在冰豆网上搜索。
软件开发加班
软件开发加班
篇一:
程序员误区做软件开发要加班熬夜的工作
20XX年05月30日
一个外行老板:
有一个朋友在一个国际知名的公司工作,这家公司在北京的中国公司是被一个国内电子商务公司控股的企业。
最近这家公司进行了人事调整,原来的外资管理层被中资管理层取代。
新来的中资管理人员是原来在其他行业的管理者,对iT行业并不是内行,他们上任以来提倡了多个工作作风,其中一项就是,软件技术人员工作必须是早9点上班到晚9点下班。
公司的管理制度所标识的“8小时”工作制度形同虚设,当然,你也可以晚6点离开公司,但是,很快会收到点名批评的邮件。
这是一个外行老板去领导内行的笑话,很明显,这位cEo的想法是,“做软件技术的怎么能不加班?
不熬夜呢?
”
他的这个想法恰恰是进入了一个职业的误区:
“做软件开发必须要加班熬夜的工作”。
1、程序员们熬夜工作的借口
对软件开发职业的这个误解并非“空穴来风”,因为,我们确实看到很多的程序员在没有硬性规定的公司中加班熬夜的编程序。
正是这一个现象,旁观者们当然会很自然的联想到“程序员们的工作需要这样”的假设。
作为程序员,“加班”是有的,但是这个“现象”本身是具有“偶然”性的,而不能成为一种“常态”。
程序员们总能找到熬夜工作的借口,我们来看看都有哪些。
1、1代码一气呵成,一定要写完而后快
想一口气编完程序,是大部分程序员们自发加班的主要驱动力。
比如,小张在开发一个图形显示组件的过程中,该组件程序已经接近收尾,一定要写完看到想要的效果才肯罢休。
这个加班的动力:
软件开发加班),程序员这一天工作中,不仅仅需要编写程序,还要花费时间阅读并回复邮件,接电话处理各种问题的询问,协助HR面试,甚至审阅产品使用手册,等等,根本没有办法踏实下来一气呵成写完代码。
其二,来自于周围环境,如果程序员运气比较差,正好和商务部门或客服部门做邻居,那还真是存在这个问题,因为那里的电话与谈话声此起彼伏。
面对这两个问题,应该有各自的解决方案:
第一种情况,应该安排好自己的工作时间表,尽量将自己的时间合理的分配。
第二种情况,申请调换座位或心静如水、充耳不闻。
1、4项目进度紧张,需要尽快完成任务
“项目进度紧张”经常成为“加班”的借口,一方面是项目经理要求程序员加班的借口,另一方面是部分工作拖沓的程序员的加班借口。
之所以这么说,是因为造成“项目进度紧张”的直接责任应该归咎于“项目经理”,而不是“程序员”。
项目的进度应该由“项目经理”进行合理的安排与调配,“程序员”所需要做的是按照项目进度要求完成自己编码工作,如果编码工作是按照既定计划完成的,那么造成项目进度的紧张自然就是项目管理的问题。
不过还有另一个现象,“项目经理”安排的时间得当,某些程序员工作拖延,在没有完成既定任务的情况下,工作时间在做其它事情,反过头来造成项目进度紧张而“加班”。
所以,我们说凡是出现这个原因加班的情况,这一定是一个“警钟”,那就是,“项目出现了问题”,因此,这个加班现象就一定要避免了。
项目进度紧张而加班:
是项目或者你自身出现问题的信号。
2、常态加班的危害偶然的加班是不会造成影响的,甚至有可能激发程序员的工作热情。
但是当加班成为常态,则会给工作造成很大危害。
2、1危害1:
项目进度不升反降
加班成为常态以后,尤其是老板要求其工作必须超过12小时的时候,你会发现程序员将私人事情安排进工作时间。
要不程序员该什么时候处理自己的私人事情?
2、2危害2:
工作积极性被严重磋商
本来加班是一种工作积极的表现,尤其是对于由于“代码一气呵成”原因而加班的程序员来说,更是为项目为公司努力工作的表现。
然而,当被公司要求加班而不是自发加班的时候,这部分程序员的积极性可以说是完全被磋商。
2、3危害3:
程序员身体造成危害
8小时的工作时间是一个比较科学和合理的,如果一味的去拼命的使用身体,必将使身体受到损害,势必会造成如:
工作没有精神,记忆力差,反应不敏捷,等现象,这些现象本身给项目造成的损害是更加致命的。
常态的加班危害巨大,有经验的项目经理或者睿智的管理者,是不会允许这个现象发生的,哪里出的问题从哪里找原因,千万不能通过增加工作时间来弥补事情的真实漏洞。
作为刚刚入行的程序员,也要清楚的认识到这些危害,不要陷入“加班熬夜”的工作误区。
3、控制好工作的一日时间表才是关键
前面提到程序员这一天工作中,不仅仅需要编写程序,还要花费时间阅读并回复邮件,接电话处理各种问题的询问,协助HR面试,甚至审阅产品使用手册,等等,根本没有办法踏实下来一气呵成写完代码,无法白天安心编码的问题。
我们程序员应该给自己定一个“一日时间表”,这个一日时间表可以更合理的安排时间,把主要精力放倒最重要的事情上去。
比如,下面这个时间表可供参考:
接满一杯热水,打开电脑,整理思路,阅读并回复昨晚下班后收到的邮件——0.5小时
专心软件开发工作——2.5小时
午餐休息——45分钟
阅读并回复邮件——15分钟
专心软件开发工作——4小时
处理其他事务如接电话等——1小时
阅读并回复邮件——10分钟
在一早来到公司到午餐前这2.5小时是一天中工作效率最高的时间段,应该在这个时间段中完全投入到开发工作,这段时间头脑清醒,思路敏捷,应该尽量避免去做其他事情,你会发现,这个时间的开发进度会事半功倍。
然后午餐,午餐回来后稍事休息,快到1点的时候,可以处理一下邮件。
之后,进入下午的开发时间,这个时间段效率最高的部分也是2.5小时,尽量投入全部精力在2.5小时以内开发编码。
电话等其他事务,会穿插于下午的工作时间中,尽量压缩在1个小时以内。
最后在下班前,阅读并回复邮件。
大家看,这样安排工作时间,是否就不会被繁复的其他工作搞得手忙脚乱了?
用效率最高的时间去处理开发任务,用接近休息或者接近下班的时间去处理邮件,这样你还需要加班吗?
反之,如果整天被开发之外的事情搞得团团转,一行代码都没有写,这样的话,不加班都不行了。
时间策略:
好钢用在刀刃上。
4、“偏执与狂热”不等于加班加点
作为程序员如果想成功是需要“偏执与狂热”力量的,这部分“狂热”的力量促使着程序员永远在关注着最新技术的前沿,关注着最新产品的实现方法。
英特尔公司总裁“安迪·格罗夫”说“只有偏执狂才能成功”,抱定一个信念一直不屑的努力,最终走向成功的彼岸。
对于程序员来说,这个“狂热与偏执”是一个持续努力的过程,首先成为软件开发技术的“发烧友”,结合国际与国内的技术形式给自己定位。
这个过程是艰辛的,但是不等于对“工作量”无限堆叠,不等于通过延长工作时间来达到其目标,这个过程是在不断的探索与思考中进行的。
狂热偏执不等于加班加点的工作,需要的是理智思考、开阔的眼界、持续的努力。
温馨提示:
如果你现在正在为不知道自己学不学得会(iT)计算机软件开发而苦恼、而迷茫不妨点击浏览博客“
篇二:
程序员为什么要加班
首先,假设这个程序员是一位职场新手甲。
他刚大学毕业,没有工作经验。
来自产品的需求,他要理解很久才能做。
然后开发的过程中会遇到各种问题,如果经验不足以支撑他快速完成任务,那么只能求助于网络,书籍,熟人。
如果这些都帮助不了他。
他需要求助于同事。
但是次数频繁,同事会厌倦于帮他解答;他也会羞于咨询。
这时,他一天下来,基本都会卡在一个很简单的问题上。
下班了,他还没有完成任务。
没错,他需要加班了,因为他的编程能力非常差。
大概没有人会知道他是因为需要处理一个并非高科技的问题。
不懂技术的上司以为他是个勤奋的员工,非常看重他。
可是,这什么进度还是会这么慢呢?
创业的公司可等不起。
这一切,如果招到一个有经验的开发人员,这一切的加班似乎都不需要。
好吧,公司开除了这名程序员或者他因“个人原因”辞职了或者公司再招到一个相对有经验的程序员乙。
当然,有经验的代价就是公司要付双倍的薪水。
所有之前的需求在他这边都没有遇到过加班的情况。
他是一名非常有经验的程序员,他在过去的二年时间一直在处理相关的开发工作。
到这边来,所有的问题都是小意思。
他的优秀表现让公司惊喜和意外,公司觉得即使再招十个之前的员工也比不过他一个人。
所以,双倍的薪水又有什么呢?
一段时间后,公司开始提各种各样的需求,他终于开始加班了。
加班不是因为某段时间需求的总量多了。
而是因为随着公司的快速发展,需求也越来越多样化。
他的知识储备不足以令他总能轻松应付。
他变得和第一个程序员一样,也加班了。
只不过加班的原因不一样,第一个程序员是因为一些代码的调试的原因,而这位有经验的程序员是因为一些从没听说过的技术。
他的加班让公司同样对他很重视,甚至认为是一位好伙伴。
与此同时,公司在招他的时候也招进来了一名优秀的毕业生。
他同样是一名没有经验的程序员,但是他有很好的学习能力。
开发进度缓慢让产品人员和运营人员都难以接受。
但是他总能在最后关头交付代码,尽管上线后需要修修补补。
他经常加班来学习以便攻克技术难点,公司对加班的员工表示欢迎,因为没有人让他们加班,也不需要给他们加班费或者调休。
公司为所有加班的人员提供良好的晚餐。
他可以接大大小小的各种需求,只是,开发时间要比较长。
但是他不会遇到那种代码调试不通过的简单的问题。
相比程序员乙,程序员丙由于经常拖慢进度经常被产品和运营建议开除或者调岗。
可是后来,公司对他欣赏有加。
原因有二:
一是他终于可以用和程序员乙接近的时间来
做任务;二是在程序员乙那里看似不可能的任务,程序员丙总能在最近关头给出解决方案和代码,只是时间比较长。
产品和运营的观点发生了改变,向公司建议开除程序员乙。
程序员丙是一个学习型的员工,时间让他有经验后,他成长成为一名更优秀的员工。
公司有过教训后,终于不惜花重金去请各种优秀的程序员。
因为只要有一名这样的程序员,就可以少请许多败坏项目的程序员。
于是,公司有了程序员丁。
他在过去的一段时间里有着不错的工作经历,帮助过所在的公司完成了各种重大的项目解决了相当多的行业技术难点。
他的到来为公司带来了很好的活力,所有之前遇到的问题都不复存在。
他成为了所有程序员的主管。
后来,他还是加班了。
因为公司的良好发展,于是聘请了更多的产品和运营。
开发团队忙不过来了,他作为主管要求大家一起加班。
为了缓解这种局面,他向公司申请增加程序员。
公司答应了并再招了二各分别类似乙和丙的程序员,没错,公司不会再招聘类似甲的程序员。
团队不需要加班了。
好景持续不长久,一段时间后,加班的情况再次出现了,因为竞争对手的努力,让产品和运营提出更多的需求。
他发现产品和运营的需求源源不断地输入。
可是有些需求可能用户永远用不到或者三天后就变化了。
为了解决这种局面,他找来领导和各部门的负责人来商讨解决的办法。
有人提出走敏捷开发。
公司决定新成立一个小团队来做测试。
于是公司每一个敏捷开发团队成立了。
时间证明了,这个新团队终于可以不加班了。
而对需求的完成总体让产品和运营满意。
乐观的局面总不能持续很久,因为线上出了一个令用户急剧下降的bug。
他们需要加班通宵,或者回退代码,或者修复这个bug。
没有使用很好的版本回退办法,只能是一场恶梦。
持续集成和自动发布加入到他们的团队。
没错,程序员丁开始在团队里实施非常好的项目管理的方案。
起码发新版后,非工作时间在线上出bug,任何有权限的人员都可以轻松地一键回退。
剩下的,上班再说。
......
这就是我要讲的程序员为什么要加班的几个故事,欢迎各位补充。
以后我也会补充更多的故事。
其实所有的后面都不重要,我只希望各位创业者,在招聘程序员时,避免遇到程序员甲,争取找到程序员丁。
作为开发人员的我们,也要努力成为程序员丁,保证自己的职场竞争力。
还是那句话,软件开发不是高科技的东西,这世上并没有软件科学家一说。
我们能做的是让开发更像一门艺术。
篇三:
程序员误区:
做软件开发要加班熬