码农英语课堂0x05 来自码农英语课堂 00:00 16:27
hello world, 我是 pshu , 这里是码农英语课堂的第四期. 今天不说单词了, 问下大家作为你程序员你快乐吗?作为一个程序员,什么事情会让你难受?
快乐很重要,可是...
Pshu 在 YouTube 闲逛的时候看到一篇论文的标题 "On the Unhappiness of Software Developers" (程序员的不爽) 大概浏览了下论文感觉还是挺有意思的,就和大家分享论文的摘要和节选.
The happy-productive worker thesis states that happy workers are more productive. Recent research in software engineering supports the thesis, and the ideal of flourishing happiness among software developers is often expressed among industry practitioners.
有种说法:快乐的员工工作效率高.最近的软件行业的研究也验证了这种理论; 软件从业者也经常表达出想在程序员中间营造出愉快氛围的愿望.
-
flourish [ˈflɜːrɪʃ] 繁荣,兴旺;茂盛;活跃.
However, the literature suggests that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness. Psychological disorders such as job burnout and anxiety could also be reduced by limiting the negative experiences of software developers.
但是这篇论文表明: 营造愉快高效的工作氛围的有效方法还是抑制不良情绪的发生; 类似没有工作精力,焦虑等不良心理问题都可以通过减少开发人员的负面的体验来降低发生.
-
cost-effective 有效的
-
foster 培养,促进
We conducted a large-scale quantitative and qualitative survey, incorporating a psychometrically validated instrument for measuring (un)happiness, with 2220 developers, yielding a rich and balanced sample of 1318 complete responses. Our results indicate that software developers are a slightly happy population, but the need for limiting the unhappiness of developers remains.
论文的研究者通过对2220位开发者进行了进行了大规模的定性和定量的调查,包括采用一些心理学上的专业设备来测定开发者的情绪水平,最终产生了1318份有效完整的调查报告 研究结果表明,软件开发人员还是一个相对快乐的群体,但是对抑制不利情绪的需要仍然存在.
We also identified 219 factors representing causes of unhappiness while developing software.
论文列举出了,219个在软件开发中会对程序员造成不良情绪的因素.
通过分类和统计,最终得出造成程序员负面情绪的10大因素.
排行榜
第10位 Personal issues
私事. 确实因为个人或者家庭的一些烦心的事情,确实很会影响工作效率. 这个问题的话,各行各业都一样,程序员也是人.
第9位 Imposed limitation on development
开发中强加的限制. 在工作经历中,碰到过因为公司招聘时按照 Java 岗入职的,可是到了实际工作岗位需要写 php 代码而离职的情况. 记得当初知乎上还有对某大神因为公司未使用 React.js 框架而离职的.

每个人都有自己的技术的选择和口味,或者说得更加矫情一点是技术上的追求. 如果在技术上的欲望被压抑的话,确实很影响心情. 有时候长痛不如短痛,对公司和自己来说都是好事.
当然公司从 "Get thing done" 的角度来考虑的话,适当的减少一些限制,也许也是一个双赢的局面.
第8位 Bad decision making
错误的决策. 通俗点说就是"瞎指挥". 开发进度好好的因为换了新的技术总监,觉得技术框架不够新潮就直接推倒重建. 或者产品不顾项目的需求,曾加各种没用的feature, 导致项目进度紧张,甚至失败. 类似的错误决策,要不对程序员来说是劳民伤财,要不就是直接损害公司利益,心情能好才怪.
在此,对看到这篇文章的"技术总监"和"产品经理"说一句,不要想一出是一出,刨坑害人了.
第7位 Unexplained broken code
代码莫名其妙就挂了. 其实并没有什么莫名其妙事情,这些突如其来的问题其实有个专业的说法叫做"技术债". 这个债可能是自己欠下的,也可能是前人留下的. 如果自己欠下的可能还能忍一会,但是要是是别人的坑的话,肯定就心情不好了.
不过话说回来,作为程序员如果对自己的维护的东西不够了解的话,出了莫名其妙的问题就会慌. 所以打铁还要自身硬,花点时间专精好自己的技术,做到遇事不怕事,心情自然就不容易被破坏了.
第6位 Mundane or repetitive task
无聊或者重复工作
"there is a beautiful woman , there is a man tired of f**king her".
同样一个工作时间做的久了,确实会无聊,感到很烦. 觉得无聊没有挑战也有可能是你在舒适区待的太久了; 不妨走出你的舒适区,换一个更好的方式来解决问题,或者探索新的领域; 如果你实在还是调整不好心情的话,换个工作环境也是不错的选择.
关于重复的工作的话,我觉得因为这个问题焦虑或者不开心的程序员就是有点自身问题了. 作为程序员,那些要自己重复3次以上的工作,都应该想想有什么方法可以自动化掉的. 与其浪费时间来忍受心情不好,还不如写个脚本去根治问题.
第5位 Feel inadequate with work
觉得工作能力不行. 记得我刚开始工作的时候,组里直接把一套产品代码丢给我,瞬间懵逼; 没办法只好硬着头皮看,但是因为业务知识也缺乏,看得云里雾里.每天上班都很煎熬. 还好没过几天,公司入职的员工培训开始,补充了欠缺的知识; 再加上后来组里的同事也不是这么忙了,也有时间来辅导我才帮我度过难关.
对抗"能力不足"这种问题,答案简单粗暴:就是干!缺啥补啥! 英语不好怎么办?学啊! 单词量不够这么办?背啊! 感觉工作能力不够,就向前辈多请教多学习;"不懂就问,求学向上"一点都不丢脸,反而很燃.
第4位 Under-performing colleague
菜鸡同事. 自己写的干净漂亮的代码,因为新来的同事或者老磨洋工瞎提交的代码破坏了美感;是不是会瞬间想爆粗啊! 或则自己认为小菜一碟的事情,交给同事好几天都搞不定,你也肯定会疯.
遇到这种事情,内心 OS 抱怨下就好了.想想排行榜的第五条, 大家也都是这么过来的.
如果现在自己已经成长起来了,记得要帮助你认为的"菜鸡"成长和你一样的大牛.
第3位 Bad code quality and coding practice
代码写得太烂了. 我有个同学跳槽去了家新公司,代码乱的一笔.他推荐了 linter 和一些代码规范,其他同学还是我行我素. 每天看这样的代码,用他自己的话说,手环都提醒他最近一个星期心率都增加10%了.最后为了健康果断跳坑.

代码质量其实不管大小公司都会碰到的一个问题.这个问题要解决除程序员自身需要立一个目标;
也需要公司管理上也能认识代码质量的重要性,内外部结合才能解决这个问题. 而且对代码质量有要求,肯定是不算第九条(开发中强加的限制)咯.
第2位 Time pressure
进度压力.
Good,fast, cheap; pick two! 好,快,便宜;只能选两个.
但是实际项目开发中,老板或者经理却什么都想要.最终加班加班. 记得前段时间某大公司为了赶制"吃鸡"手游,让开发团队三班倒开发. 作为程序员可能最多听说的是 996/995 的什么; 三班倒是什么概念?!你让一个程序员和他/她的家人说,我今天去公司上夜班,你让他家人怎么看他.
这种把智力密集型的工作用劳动密集型的方式管理,作为员工我真的很愤慨.
不过话还是两头说,如果今年年底又爆出某吃鸡团队狂发50个月的年终奖的时候, 大家又拍大腿说为什么我连年底双薪都没有.
还是那句话,"好,快,便宜;只能选两个", 如果都选的话,肯定有人要吃亏,吃亏当然就不开心了.
第1位 Being stuck in problem solving
商女不知亡国恨,一天到晚DEBUG 洛阳亲友如相问,就说我在DEBUG 举头望明月,低头DEBUG 少壮不努力,老大DEBUG 垂死病中惊坐起,就说我要DEBUG 埋骨何须桑梓地,三天没有DEBUG 少小离家老大回,天天在外DEBUG 一天到晚DEBUG,安能辨我是雄雌! 莫愁前路无知己,天下谁不DEBUG
作为程序员那个没有"为伊消得人憔悴"的调试代码调查问题的;特别是那种时间特别紧急的 case, 客户就在隔壁会议室骂娘呢,你还是密密麻麻的日志里面找线索,手心额头全是汗. 一个小时下来不管问题查没查出来,人肯定就虚了.
影响程序员心情的十大因素我已经列举完了,祝大家在新一年里做一个更加快乐的程序员.
happy hacking!