为什么说程序员是一个极度劳累的工作?
Posted Java技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么说程序员是一个极度劳累的工作?相关的知识,希望对你有一定的参考价值。
点击关注公众号,Java干货及时送达
推荐阅读:
来源:zhihu.com/question/461572685/answer/2716600673
人人知道程序员工作时间长、劳动强度大,每天996,累得像狗狗溜着回家。程序员怎么变成这幅模样?让我这个前资深程序员,后来的研发管理者从头掰扯掰扯。
1、行业发展快,程序员需要与时俱进,不断更新技术池。
就拿我来说吧,30年前入坑程序员,做嵌入式开发,产品是一种掌上型游戏机,刚入行还是用汇编语言,不到一年系统环境升级,就改用C语言开发了。
再过一年,掌上游戏机不流行了,我换了一家公司,去开发企业数据库,之后又做ERP(企业资源计划),先用FoxPro(古早数据库语言),再用Visual Basic,勉强整成那个年代的架构师,互联网时代来了,又去学网络时代流行起来的Java。
虽然多年不编程,Java书籍仍留存,记录的是程序员学习常态。
每次转型都像打仗,没有几家公司会对你说“慢慢学,不着急”。 记得我学Java才一个礼拜,就被逼得要在工作中实操。每次转型都在怀疑自己好像换了一份工作,又是从头开始的日子,脑子和身体大换血的过程。
我精通的最后一门开发语言就是Java,当然不是编程技术到此不发展了,而是我之后就出坑了,年纪大了扛不住了,做了技术管理,回望坑内苦逼的程序员兄弟,我对你们说:“加油!”
如果说技术更新 快是让程序员吃苦受累的客观、合理的因素,那其他方面就一言难尽了。另外,如果你近期准备面试跳槽,建议在Java面试库小程序在线刷题,涵盖 2000+ 道 Java 面试题,几乎覆盖了所有主流技术面试题。
2、相对很多工种,编程工作不容易量化。
工程施工项目可以有施工定额,一个项目需要多少工时一套定额就能算出来,但软件项目却不是这么回事。
问题往往始于最初的估算,程序员一项任务需要多少时间和人力?讨论成了菜市场式的讨价还价,各个变身谈判专家。某项需时半年的任务,老板给你开价“三个月”,你说这绝对不可能,老板说“那四个月,就这样定了”。
如果你上级曾经也是程序员(像我一样),不表示他就一定更理解你,而是更可能让他占领道德高地,他的口头禅是:
“这个怎么需要半年?我当年做程序员只需要三月哦。”但程序员永远没机会见识过往的神迹,最终不得不承认:技术型领导未必更真懂,但一定更能吹。
就这样,科学合理的工作计划都做不到,理想和现实间的缝隙,就通通让程序员用他们的血汗去填充。
3、除此以外,开发计划和效率,还往往成为不同软件公司间的攀比。
比如,你的领导对你说:“某某公司做这个,只需三人两月,你也应该做到。”
然而每家公司的基础都不一样,通用的类库和框架,代码资源的可重用,代码自动化生成程度.......都直接影响开发效率,现实是很多公司还没给程序员插上翅膀,就恨不得赶着他们飞起来。
脱离现实条件,追求技术的新潮,是程序员面临“一将无能,累死三军”的另一种风险。
多年前,我在一研发部开发一个SaaS平台,时间紧任务重,已经很难保证按时交付,上线前几天,熬了好几个大夜,眼就没离开过电脑,技术总监忽然听说应用服务器新出了一个大版本,就要求一定要上这个版本。
结果因为运行环境改变,上线那天所有模块几乎都不能正常运行,全部程序员被发动去修改代码,从周六早上9点折腾到周日下午,也就是说周末连轴转,干了两个白天加一个通宵没合眼,熬夜爆肝的后果就是喜提一周医院,就这系统依然错误频出。
这几年坦白说也熬了不少毛病,失眠,都是家常便饭,眼睛这个度数就不用说了,每年稳固增长吧,盯久电脑就开始眼花,真是硬生生熬出一身老年病。
我早期带开发团队获得的公司奖杯,大家一起拔萝卜,队尾那条狗是说程序员累得像狗吗?
这种情况,我给程序员一个忠告:一定要对自己好。
我见过的一些程序员,在城中村租了一间小屋,屋内只有一块电脑屏幕大小的窗口,窗口对着的还是另一栋楼墙壁,住在里面的人难见天日,昏暗压抑,劳累一天回到家面对的是密不透风的空间。我身边不少程序员在这样的环境产生情绪问题,有的甚至得了抑郁症。
所以,我经常和程序员说:尽可能让自己住好一些、舒服一些,这很重要,家里也是你放松的一个环境,环境好了心情也好,也能好好休息了,身体能照顾好了,工作效率自然高了,何乐而不为呢?23 种设计模式实战(很全)分享给你。
4、继续吐槽程序员的累。
开发总是追不上变化,这是万年老话题了。客户需求在变,老板要求在变,产品设计在变,你如果抱怨怎么老在变,产品经理(以及各种经理)对你翻白眼:“你程序不怎么样啊,不能顺应我的变化。”
这些年流行敏捷开发、迭代开发,可什么好东西到最后都可能变样。最初是三个月迭代一次(即三个月一个开发阶段),后来是两个月、一个月、两周......
原本敏捷开发不太强调加班,只注重交付前的阶段努力冲刺一下,比如三个月开发的周期就是最后那两周,但现在两周一次迭代,很多公司就要求两周都要冲刺,两周过后又两周,加班结束再加班,成了常态和习惯。
按照合理的开发规范,一个迭代周期内不能随便更改已确定的需求,但实际却照改不误,“极限编程”(某种编程模式)成了生生把编程人累到极限。
我本人在IT、互联网做了二十几年,当程序员、做研发管理大约各占一半时间,前十多年做程序员,后十多年做技术部门负责人。程序员的那段时间,累是真累,但也给我留下了充实难忘的经历。
由程序员成为管理者,过往的工作也许让我有一点优势:这不一定是对技术的了解,更多是对人的了解,了解程序员的苦和累。带着这样的同理心,其实有助于带领一个团队。
我个人的体会,程序员是一个比较单纯的群体,你只要给予他们信任和关怀,往往能够得到他们的响应和回报。 在工作生活中结束后,经常看到团队负责人带着程序员们一起聚餐、旅行,这都是不错的相处。在工作中,积极肯定他们的成果,让大家带着调整好的状态和心情工作,再适当给他们时间和空间,把工作和生活分开来,也可以设立一些关怀鼓励活动,定期组织体检,爱眼日知识竞赛,或者午休一小时不用眼等等好好放松。
End
Spring Cloud 微服务最新课程!
以上是关于为什么说程序员是一个极度劳累的工作?的主要内容,如果未能解决你的问题,请参考以下文章