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