第一篇:程序员为什么要加班
首先,假设这个程序员是一位职场新手甲。他刚大学毕业,没有工作经验。来自产品的需求,他要理解很久才能做。然后开发的过程中会遇到各种问题,如果经验不足以支撑他快速完成任务,那么只能求助于网络,书籍,熟人。如果这些都帮助不了他。他需要求助于同事。但是次数频繁,同事会厌倦于帮他解答;他也会羞于咨询。这时,他一天下来,基本都会卡在一个很简单的问题上。下班了,他还没有完成任务。没错,他需要加班了,因为他的编程能力非常差。
大概没有人会知道他是因为需要处理一个并非高科技的问题。不懂技术的上司以为他是个勤奋的员工,非常看重他。可是,这什么进度还是会这么慢呢?创业的公司可等不起。这一切,如果招到一个有经验的开发人员,这一切的加班似乎都不需要。
好吧,公司开除了这名程序员或者他因“个人原因”辞职了或者公司再招到一个相对有经验的程序员乙。当然,有经验的代价就是公司要付双倍的薪水。所有之前的需求在他这边都没有遇到过加班的情况。他是一名非常有经验的程序员,他在过去的二年时间一直在处理相关的开发工作。到这边来,所有的问题都是小意思。他的优秀表现让公司惊喜和意外,公司觉得即使再招十个之前的员工也比不过他一个人。所以,双倍的薪水又有什么呢?
一段时间后,公司开始提各种各样的需求,他终于开始加班了。加班不是因为某段时间需求的总量多了。而是因为随着公司的快速发展,需求也越来越多样化。他的知识储备不足以令他总能轻松应付。他变得和第一个程序员一样,也加班了。只不过加班的原因不一样,第一个程序员是因为一些代码的调试的原因,而这位有经验的程序员是因为一些从没听说过的技术。他的加班让公司同样对他很重视,甚至认为是一位好伙伴。
与此同时,公司在招他的时候也招进来了一名优秀的毕业生。他同样是一名没有经验的程序员,但是他有很好的学习能力。开发进度缓慢让产品人员和运营人员都难以接受。但是他总能在最后关头交付代码,尽管上线后需要修修补补。他经常加班来学习以便攻克技术难点,公司对加班的员工表示欢迎,因为没有人让他们加班,也不需要给他们加班费或者调休。公司为所有加班的人员提供良好的晚餐。他可以接大大小小的各种需求,只是,开发时间要比较长。但是他不会遇到那种代码调试不通过的简单的问题。相比程序员乙,程序员丙由于经常拖慢进度经常被产品和运营建议开除或者调岗。
可是后来,公司对他欣赏有加。原因有二:一是他终于可以用和程序员乙接近的时间来
做任务;二是在程序员乙那里看似不可能的任务,程序员丙总能在最近关头给出解决方案和代码,只是时间比较长。产品和运营的观点发生了改变,向公司建议开除程序员乙。程序员丙是一个学习型的员工,时间让他有经验后,他成长成为一名更优秀的员工。
公司有过教训后,终于不惜花重金去请各种优秀的程序员。因为只要有一名这样的程序员,就可以少请许多败坏项目的程序员。于是,公司有了程序员丁。他在过去的一段时间里有着不错的工作经历,帮助过所在的公司完成了各种重大的项目解决了相当多的行业技术难点。他的到来为公司带来了很好的活力,所有之前遇到的问题都不复存在。他成为了所有程序员的主管。后来,他还是加班了。因为公司的良好发展,于是聘请了更多的产品和运营。开发团队忙不过来了,他作为主管要求大家一起加班。
为了缓解这种局面,他向公司申请增加程序员。公司答应了并再招了二各分别类似乙和丙的程序员,没错,公司不会再招聘类似甲的程序员。团队不需要加班了。
好景持续不长久,一段时间后,加班的情况再次出现了,因为竞争对手的努力,让产品和运营提出更多的需求。他发现产品和运营的需求源源不断地输入。可是有些需求可能用户永远用不到或者三天后就变化了。为了解决这种局面,他找来领导和各部门的负责人来商讨解决的办法。有人提出走敏捷开发。公司决定新成立一个小团队来做测试。于是公司每一个敏捷开发团队成立了。时间证明了,这个新团队终于可以不加班了。而对需求的完成总体让产品和运营满意。
乐观的局面总不能持续很久,因为线上出了一个令用户急剧下降的bug。他们需要加班通宵,或者回退代码,或者修复这个bug。没有使用很好的版本回退办法,只能是一场恶梦。持续集成和自动发布加入到他们的团队。没错,程序员丁开始在团队里实施非常好的项目管理的方案。起码发新版后,非工作时间在线上出bug,任何有权限的人员都可以轻松地一键回退。剩下的,上班再说。
......这就是我要讲的程序员为什么要加班的几个故事,欢迎各位补充。以后我也会补充更多的故事。其实所有的后面都不重要,我只希望各位创业者,在招聘程序员时,避免遇到程序员甲,争取找到程序员丁。作为开发人员的我们,也要努力成为程序员丁,保证自己的职场竞争力。还是那句话,软件开发不是高科技的东西,这世上并没有软件科学家一说。我们能做的是让开发更像一门艺术。
第二篇:程序员误区做软件开发要加班熬夜的工作
2010年05月30日
一个外行老板:
有一个朋友在一个国际知名的公司工作,这家公司在北京的中国公司是被一个国内电子商务公司控股的企业。
最近这家公司进行了人事调整,原来的外资管理层被中资管理层取代。
新来的中资管理人员是原来在其他行业的管理者,对IT行业并不是内行,他们上任以来提倡了多个工作作风,其中一项就是,软件技术人员工作必须是早9点上班到晚9点下班。
公司的管理制度所标识的“8小时”工作制度形同虚设,当然,你也可以晚6点离开公司,但是,很快会收到点名批评的邮件。
这是一个外行老板去领导内行的笑话,很明显,这位CEO的想法是,“做软件技术的怎么能不加班?不熬夜呢?”
他的这个想法恰恰是进入了一个职业的误区:“做软件开发必须要加班熬夜的工作”。
1、程序员们熬夜工作的借口
对软件开发职业的这个误解并非“空穴来风”,因为,我们确实看到很多的程序员在没有硬性规定的公司中加班熬夜的编程序。
正是这一个现象,旁观者们当然会很自然的联想到“程序员们的工作需要这样”的假设。作为程序员,“加班”是有的,但是这个“现象”本身是具有“偶然”性的,而不能成为一种“常态”。
程序员们总能找到熬夜工作的借口,我们来看看都有哪些。
1、1 代码一气呵成,一定要写完而后快
想一口气编完程序,是大部分程序员们自发加班的主要驱动力。比如,小张在开发一个图形显示组件的过程中,该组件程序已经接近收尾,一定要写完看到想要的效果才肯罢休。
这个加班的动力来自于程序员自身,这种工作的积极性来自于程序员发自内心的对其工作的热爱,是一腔热血使然。这个现象对程序员是有帮助的,对整个项目组也是有帮助的,并应该鼓励,只不过不要成为“常态”。
1、2 明天要做一个命题演示,一定要调试好程序
明天急着给客户做一个命题的程序演示,还差一点没有搞定,急得抓耳挠腮,这时候,还不加加班?大客户跑掉了,这个责任可承担不起。所以,一定是搞定了才肯回家,明天轻装上阵,顺利完成演示工作。
1、3 安静的工作环境
我们还听到程序员们抱怨“没有安静的工作环境”,一般两个方面:
其一,程序员这一天工作中,不仅仅需要编写程序,还要花费时间阅读并回复邮件,接电话处理各种问题的询问,协助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)计算机软件开发而苦恼、而迷茫不妨点击浏览博客“http://blog.sina.com.cn/s/blog_60cfafa70100i75p.ht ml---学编程是不是很难?我到底能不能学会?”希望能对你有所帮助!
第三篇:java程序员要学什么
Java是世界第一编程语言!据权威统计,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的60%~70%,Java软件人才的缺口巨大,对应薪水也是随之水涨船高。随着java开发目前高薪高需求状况,学习java的人也越来越多。那么想成为java程序员,java程序员要学什么呢?
想要成为一个合格的java程序员,必须需要牢固的基础,这样在未来接触新的知识的时候,才能快速吸收,认为基础不牢固的程序员,随时都会被新的知识和技术所淘汰,下盘不稳风一吹就倒,那么作为一个合格的java程序员应该具备哪些知识呢?今天 就来和大家分享java高手之路上的必备基础知识:
一、面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的?
二、JAVA语法:如果您有C++等面向对象语言的开发经验,您只需简单的翻看一下介绍JAVA的相关书籍就可以了。如果您是新手,没有关系,您下些工夫,好好研究一本JAVA初级教程之类的书就可以了。
三、JSP和HTML:做JAVA程序员都少不了和JSP以及HTML打交道。因此,想成为JAVA程序员就不可避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象,如Session,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果您再熟悉一下JS和CSS就更好了,那会使您制作的页面更友好。
四、WebServer:熟悉了以上三种,可以肯定的说您已经可以制作出来JSP页面了,您也可以在您的页面里使用自己开发的JAVA类(JAVABEAN)了,但您的页面总要跑起来才能看到您要的效果,这就要求您必须熟悉一种WebServer,比如:TOMCAT,RESIN等。您要熟悉如何发布您的应用,如何利用WebServer的数据库资源等。
五、开发工具:大家都知道,开发工具可以帮助您更好更快地开发,因此熟悉几种开发工具很有必要。目前JAVA的开发工具比较流行的有JBuilder,IDEA,Eclipse,HTML的开发工具有Dreamweaver等。
六、熟悉一种框架:熟悉一种框架其实是成为JAVA程序员的一种可选知识,但目前开发B/S结构的应用的开发小组,都差不多会采用一种框架来构建自己的应用系统。框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本。目前比较流行的框架有Struts和Spring等。
千锋2017年2月就业榜出平均月薪10827元,Java工程师平均月薪12153元;深圳千锋JavaEE首期班毕业第一周就业率61.5%,平均薪资13156元;毕业两周100%就业,平均薪资12729元。就业薪资震惊整个java培训界。千锋JavaEE培训拒绝照本宣读,培养的是实用型人才,在学员参加培训过程中,千锋准备了5个实战项目,以让学员达到熟练掌握项目的实战能力以及技术难点,千锋JavaEE培训学员实战项目包括个人网上银行、企业宣传项目、汽车租赁系统、网上书城、在线通讯录。各个行业各个领域都有涉及,选择千锋JavaEE培训,成就企业技术型高端人才
千锋在培养学员成为程序员的过程中,最注重编程思想,我们不仅要教会学员写代码,还要教好学员如何运用代码去应战实际工作中的需要,更迭迅速的时代,JavaEE作为一个异类身处其中,从问世起便立于不败之地,JavaEE在行业中规范市场,为整个行业规范大方向,无论行业哪个环节哪个方向快速发展,都将成为JavaEE进步的最佳助力!
第四篇:程序员入门要学多久
程序员入门要学多久
程序员入门要学多久,那要看你通过什么样的渠道去学习,而且还要根据个人的情况来定,比如说自制力、时间是否充裕、对程序员的热情。程序员入门学习的方式主要有两种:培训和自学。某种意义上讲视频教学也属于自学。
培训:市面上程序员入门培训的时间在3~12个月不等。只有个别的方向根据培训内容的不同在三个月以下、一年以上。而在3~12个月之间,又以四个月最为见长。这样的一个时间段里,如果培训机构靠谱些,再加上你个人的努力,是可以胜任编程类基础性的工作。
例如一些热门的编程语如Java、HTML、Python等等,培训时间基本都是四个月上下。这也是一些比较传统的IT行业方向,基本都是以一门单一的编程语言作为整个工作的重点。
而对于一些复合性较强、应用范围比较广的岗位方向从业的程序员,入门学习的时间都在4个月以上。
比如IT里的新兴行业大数据和底层信息安全等。
要想学好大数据最好是理工科成绩过硬,这样以后的发展天花板高得多。前期你要有编程语言的基础,后期要培训自己的数据思维、统计学思维。
而底层信息安全,入门就需要有几门编程语言做基础,中期的Windows原理方方面面知识、安全知识、最后的实战技能,是一个知识量众多的行业方向。
比如我们机构15PB信息安全教育,培训时间就是7个月。相信很多打算培训或培训过的小伙伴都会觉得时间很长,但是7个月,已经是在保证授课质量的前提下,能达到的最短时间了。
自学:由于个人自制力和悟性的不同,自学的时间也有长有短,就总体情况来说四个月的培训课程一般的自学时间都在一年以上。我们机构7个月的课程,如果个人自制力够好、悟性够高入门自学时间也要2~3年,深入一些时间就更长了。我们机构的大BOSS任晓珲,自学时间长达4~5年。
个人建议:不管程序员入门学习要学多久,最终的目的都是获得一份工作进入一个行业。
而要想快速而有效率的的进入一个行业,培训要比自学更合适一些,它能解决方向上的问题,避免自己在自学的过程中没有侧重点的去学习,对就业方面的问题也有一定的帮助。培训机构肯定比你了解掌握什么样的知识、什么样的技能能找到工作。
第五篇:职场领导为什么要加班
西天取经领导小组组长唐僧:肩负着大唐王赋予的艰巨光荣任务,岂敢稍有半点怠慢?当然要坚决不考虑工作时间长短,除了吃饭睡觉外,就是跋山涉水开拓前进。中华明教首席执行官张无忌:别说我是天下第一大教的领导,就是周芷若、赵敏、小昭等那么多漂亮MM,一天到晚忽悠我,不加点加班,能轻松地应付吗?蜀国远征军司令官诸葛亮:我这样事必躬亲还是不行,马谡失街亭就是典型的例子,导致上演一处空城计,我险些成了俘虏。可见,不是我不放权,而是无人能担此重任。梁山打劫总公司一把手宋江:盗亦有道!可这般兄弟,总是随便手痒痒,弄点金银财宝不就得了,偏拿人的脑袋不当回事。所以,当然要一一把关,防止小不忍则乱大谋也!红楼文化有限公司总经理王熙风:守着金山银山不适当捞点,充实私囊,难免有白痴相。但也不能在工作时间鼓捣,只好利用业余时间,以加班的名义行事了。美国前总统克林顿:加班是一种精神生活的调剂,避免回家产生“审美疲倦”,累上再加累。在警备森严壁垒的工作岗位上做爱,不但异样刺激,而且绝对安全。美国现总统布什:我讨厌加班,又不得不经常加班。这全是恐怖分子带来的麻烦,今天这里爆炸,明天那里死人,逼迫我只好自行放弃休假,谁叫我兼职消防队长的角色呢?