你睡得那么晚,一定是程序员吧
2017-07-03 09:45
225 查看
十年生死两茫茫,写程序,到天亮;
千行代码,Bug何处藏;
纵使上线又怎样,朝令改,夕断肠;
领导每天新想法,天天改,日日忙;
相顾无言,惟有泪千行。
——程序员的真实写照
在北上广深一线城市,程序员的平均工资远高于其他大部分行业,不得不承认,程序员这条道路比起其他大部分工作,收入更高,诱惑力更大。因此,大部分人都选择从事程序开发;但高收入必然伴随着高风险和高负荷,加班熬夜赶进度是再平常不过的事情。
用程序员自己的话说,那就是——干得比驴累,吃得比猪差,起得比鸡早,睡得比狗晚,看上去比谁都好,五年后比谁都老。他们长期超负荷的精神压力,不良的生活方式,再加上城市环境的污染,使得健康问题蓄积已久,最终导致不可逆的病变甚至死亡。
2015年3月24日,深圳36岁的IT男张斌被发现猝死在公司租住的酒店马桶上面,当日凌晨1点他还发出了最后一封工作邮件。
2015年12月13日,腾讯技术研发中心语音引擎组副组长李俊明,在陪怀孕的妻子散步时猝死。虽然他的死亡并非发生在加班过程中,但不少腾讯员工认为是长期加班造成的。
2016年6月23日,阿里数据技术及产品部总监欧吉良打羽毛球猝死,IT人的健康再次引发关注。
一个农民工猝死了,人们会怀疑和土地有关。一个官员猝死了,人们会怀疑和贪污有关。一个程序员猝死了,那他就真的是猝死了。因为有的人靠体力工作,有的人靠脑力工作,程序员是靠脑力、体力和精力工作……
我们为逝去的人感到惋惜,那么怎样才能避免加班熬夜?怎样才能高效的进行程序开发呢?
我们调查了近十位研发经验在5年以上的富有经验的技术管理者,看他们会给出怎样的建议:
1.要想避免熬夜加班,首先公司体制上就需要改善,大部分公司设定的研发节奏快,研发人员少,那么就不得不占用开发人员的休息时间来赶工作进度,延长项目周期,适当补充研发人员数量,可以有效解决熬夜加班问题;
2.开发模式的转变,在传统的瀑布开发过程中,需求文档的设计、分析占用了太多的时间,等到开发完成后,市场需求早已变更,有些需求又不得不重新返工进行开发,建议采用敏捷开发的模式,以人为中心,每一小个迭代快速交付出独立的产品,快速应对市场变化;
3.善于使用自动化工具(当然是在公司允许的情况下),持续集成、自动化代码检查、测试、运维等工具,提升效率,减少重复的工作量。现在很多大企业都不断推出各种开发工具,云计算和云平台的发展日新月异,比如华为软件开发云、阿里云、腾讯云等等。
4.提高代码编写质量,如:在编写代码时需要写好注释说明,尽量编写不言自明的代码,这样可以方便后续人员维护;在代码中尽量不要使用纯数字,因其他人无法理解它代表什么含义,一定要用一个命名常量来代表你想表达的数字,即使它在代码中只出现一次;再如:常用的模块、函数,最好能够封装成常用插件,这样每次使用直接调用插件而不是浪费时间重新编写;平时多总结日常经验,代码质量才会逐步提升;
5.学会团队配合,一个研发团队中存在的不同角色和不同责任,各个角色之间紧密衔接,多交流沟通,避免出现“分帮结伙、各干各的”现象,团队leader不仅要从产品上把控进度,更要承担起团队建设的责任,成为团队强有力的粘合剂;
6.学会重构代码,修正错误的过程,需要不断的重构。除了让程序结构保持清晰,重构还有一个好处是会促使程序员去思考。修正错误时的思考仍然处于一个非常重要的地位。如果在修正错误的时候只看到了眼前的错误,那很危险,因为你不知道你所做的事情,到底是改正错误,还是隐藏错误。所以改错之前,必须思考,必须对错误反复慎密地逻辑推敲,必要的时候甚至要从整体框架去探寻错误的原因。
千行代码,Bug何处藏;
纵使上线又怎样,朝令改,夕断肠;
领导每天新想法,天天改,日日忙;
相顾无言,惟有泪千行。
——程序员的真实写照
在北上广深一线城市,程序员的平均工资远高于其他大部分行业,不得不承认,程序员这条道路比起其他大部分工作,收入更高,诱惑力更大。因此,大部分人都选择从事程序开发;但高收入必然伴随着高风险和高负荷,加班熬夜赶进度是再平常不过的事情。
用程序员自己的话说,那就是——干得比驴累,吃得比猪差,起得比鸡早,睡得比狗晚,看上去比谁都好,五年后比谁都老。他们长期超负荷的精神压力,不良的生活方式,再加上城市环境的污染,使得健康问题蓄积已久,最终导致不可逆的病变甚至死亡。
2015年3月24日,深圳36岁的IT男张斌被发现猝死在公司租住的酒店马桶上面,当日凌晨1点他还发出了最后一封工作邮件。
2015年12月13日,腾讯技术研发中心语音引擎组副组长李俊明,在陪怀孕的妻子散步时猝死。虽然他的死亡并非发生在加班过程中,但不少腾讯员工认为是长期加班造成的。
2016年6月23日,阿里数据技术及产品部总监欧吉良打羽毛球猝死,IT人的健康再次引发关注。
一个农民工猝死了,人们会怀疑和土地有关。一个官员猝死了,人们会怀疑和贪污有关。一个程序员猝死了,那他就真的是猝死了。因为有的人靠体力工作,有的人靠脑力工作,程序员是靠脑力、体力和精力工作……
我们为逝去的人感到惋惜,那么怎样才能避免加班熬夜?怎样才能高效的进行程序开发呢?
我们调查了近十位研发经验在5年以上的富有经验的技术管理者,看他们会给出怎样的建议:
1.要想避免熬夜加班,首先公司体制上就需要改善,大部分公司设定的研发节奏快,研发人员少,那么就不得不占用开发人员的休息时间来赶工作进度,延长项目周期,适当补充研发人员数量,可以有效解决熬夜加班问题;
2.开发模式的转变,在传统的瀑布开发过程中,需求文档的设计、分析占用了太多的时间,等到开发完成后,市场需求早已变更,有些需求又不得不重新返工进行开发,建议采用敏捷开发的模式,以人为中心,每一小个迭代快速交付出独立的产品,快速应对市场变化;
3.善于使用自动化工具(当然是在公司允许的情况下),持续集成、自动化代码检查、测试、运维等工具,提升效率,减少重复的工作量。现在很多大企业都不断推出各种开发工具,云计算和云平台的发展日新月异,比如华为软件开发云、阿里云、腾讯云等等。
4.提高代码编写质量,如:在编写代码时需要写好注释说明,尽量编写不言自明的代码,这样可以方便后续人员维护;在代码中尽量不要使用纯数字,因其他人无法理解它代表什么含义,一定要用一个命名常量来代表你想表达的数字,即使它在代码中只出现一次;再如:常用的模块、函数,最好能够封装成常用插件,这样每次使用直接调用插件而不是浪费时间重新编写;平时多总结日常经验,代码质量才会逐步提升;
5.学会团队配合,一个研发团队中存在的不同角色和不同责任,各个角色之间紧密衔接,多交流沟通,避免出现“分帮结伙、各干各的”现象,团队leader不仅要从产品上把控进度,更要承担起团队建设的责任,成为团队强有力的粘合剂;
6.学会重构代码,修正错误的过程,需要不断的重构。除了让程序结构保持清晰,重构还有一个好处是会促使程序员去思考。修正错误时的思考仍然处于一个非常重要的地位。如果在修正错误的时候只看到了眼前的错误,那很危险,因为你不知道你所做的事情,到底是改正错误,还是隐藏错误。所以改错之前,必须思考,必须对错误反复慎密地逻辑推敲,必要的时候甚至要从整体框架去探寻错误的原因。
相关文章推荐
- 你睡得那么晚,一定是程序员吧
- 想要,不一定得到,一定要,则必成功——一封初为程序员充满困惑的大学毕业生的来信以及本人回复
- 大数据、人工智能的出现给每个人造成的影响居然那么大!这是程序员的福音......
- 如果古人穿越到现在成为一名程序员,那么.......
- [置顶] 6个月:从小白到程序员,也许没你想的那么难
- 程序员一定会感兴趣的问题 开发人员需要知道的东西杂谈
- 学习Java的第一步是安装好JDK,写一个Hello World, 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加
- 技术变化那么快,程序员如何做到不被淘汰?
- 如果牛顿是程序员,那么?
- (转帖)使用OpenFileDialog对话框打开文本文件(写此代码的人应该是有一定功力的程序员,因为代码写的很规范,很容易阅读,很好理解,很好调试)
- OSChina 周五乱弹 ——胸这么小!一定是女装程序员
- 看到一篇文章 ,有感而发,为什么你作为一个.NET的程序员工资那么低?
- 同是80后,为什么程序员与程序员的差距那么大呢?
- 想看奥斯卡原著图书?那么你一定不能错过这份榜单
- Java程序员,你一定需要了解的六款大数据采集平台
- 关于hashCode,你一定听说过会重复,那么你见过2个不同的字符串hashCode值却是相同的吗
- JAVA程序员不一定非得要会SSH
- JAVA程序员一定知道的优秀第三方库(2016版)
- 程序员开发微信小程序前,一定要知道的几件事
- 程序员那么努力,到底是为了什么