【外评】80% 的开发人员不开心
Stack Overflow 的最新调查显示,大多数开发人员都讨厌自己的工作。据传闻,水管工和农民都比他们更快乐。
问题出在哪里?
Stack Overflow 发布了年度开发人员调查结果,内容涉及开发人员使用或想要学习的技术和工具、人工智能以及他们在工作场所的体验。
来自 185 个国家/地区的 65000 多名开发人员参与了调查。不出所料,今年的主要话题是人工智能的使用和对工作场所的不满,这种不满比以往任何时候都要严重!
人工智能提高生产力
关于前者,72% 的受访者赞成使用人工智能工具。虽然比例很高,但与去年相比有所下降,去年有多达 77% 的受访者对在日常工作中实施人工智能表示满意。满意度的下降可以解释为对使用这些工具所取得的成果感到失望。
尽管如此,仍有 76% 的受访者在工作中使用或计划使用人工智能工具,高于去年的 70%。81%的受访者认为,开发人员从他们使用的人工智能工具中获得的最大好处是提高了工作效率。这对正在学习编程的程序员来说尤其如此(71%)。强调人工智能在工作中带来的这一好处的专业程序员略少(61%)。
与去年类似,开发人员在是否信任人工智能解决方案的问题上仍然存在分歧: 43%的人认为这些工具可靠,31%的人持怀疑态度。与经验丰富的程序员相比,学习编程的程序员对人工智能的准确性更有信心(49% 对 42)
但人工智能不擅长复杂任务
近一半(45%)的专业开发人员认为,人工智能工具在解决复杂任务方面的能力较差或非常差。因此,开发人员大多使用人工智能工具来编写代码(82%),而那些有兴趣但尚未使用人工智能工具的人主要是对代码测试感到好奇(46%)。那些经验丰富的人将编写代码的初始阶段交给人工智能,但他们明白测试是一个复杂的过程,最好交给传统方法来完成。
人工智能会抢走他们的饭碗吗?70%的专业程序员并不认为人工智能会威胁到他们的工作。相反,79% 的受访者担心错误信息和错误任务的传播。在此过程中,专业开发人员一致认为,问题不在于用户错误,而在于缺乏对代码库的理解,这是人工智能工具面临的最大挑战。明年,开发人员认为,由于人工智能工具的发展,他们的工作效率将会提高,但这也取决于使用这些工具的任务的复杂程度。
开发人员讨厌自己的工作
根据 “工作场所满意度调查”,80% 的专业程序员都不开心。每三名受访者中就有一人非常讨厌自己的工作,而将近一半的人则处于生存状态。这样一来,只有 20% 的人声称自己有点快乐。虽然程序员收入丰厚,而且经常可以远程工作,但许多人仍然不满意。为什么会这样呢?
期望落空和技术债务
虽然开发人员的薪酬普遍较高,但今年的调查显示,软件工程师的薪酬正在下降。例如,PHP 开发人员的年薪中位数相对较低,为 49,000 美元。这与前几年相比有所下降,只有那些将编程技能与创业精神相结合的人才能在经济上取得巨大成功。收入最高的开发人员职位是 SRE 和云基础设施工程师,德国和乌克兰的数据工程师收入最高,印度和英国的后端开发人员收入最高。
技术债务是导致开发人员沮丧的首要原因。在不完善的系统中工作会打击程序员的士气,使他们难以完成高质量的工作。
喧嚣文化和官僚主义
在 IT 行业,赶工期的压力往往非常大。开发人员面临着尽快完成任务的压力,以便尽可能多地赚取收入。工作压力的增加会导致不切实际的期望和职业倦怠。更换工作往往可以通过增加收入来暂时缓解压力,但他们最终还是会在类似的压力环境和新公司里工作。
还有一个长期存在的问题是官僚主义,大型科技公司尤其深受其害。无休止的会议和经理们不切实际的要求,让人感到徒劳无功。当开发人员的时间被花在行政任务而不是实际编码上时,他们就会感到沮丧,从而增加对工作的不满。
尽管雇主努力让员工回到办公室,但未来似乎遥遥无期。
裁员和健康状况不佳
最近的大规模裁员给开发人员带来了职业前景的不确定性和恐惧感。除了压力之外,编码是一项久坐不动的工作,而久坐不动的生活方式对身体健康极为有害。研究表明,久坐比吸烟更有害。另一方面,运动能明显缓解抑郁,这表明程序员应优先进行体育锻炼,以消除职业带来的负面影响。
尽管工作不开心,但大多数开发人员在工作之余仍将编码作为业余爱好(68%),近 40% 的开发人员在工作之余为职业发展或从在线课程中自学而编码。这可能表明,编码并不是问题所在!
本文文字及图片出自 80% of developers are unhappy. The problem is not AI, nor is coding
你也许感兴趣的:
- 【外评】如何判断自己已成为高级程序员
- 【外评】如何成为最优秀的程序员
- 【外评】程序员大神每天什么都是时候工作?
- 【译文】在 Meta 工作 12 年:回顾我参与的所有项目
- 【译文】每个开发人员都需要问自己的一个问题
- 【译文】程序员工作很累,但 70% 的程序员在周末休息时以写代码为乐
- 【译文】我是一个糟糕的程序员
- 在技术圈逢凶化吉,靠的居然不是技术?Altman 晒出17条年终总结,人际关系占首位
- 【译文】加密货币交易平台FTX审判,第四天:欺诈在代码中
- 【译文】给程序员的一些额外建议
这篇文章有很多值得一读的地方。
我有自己的理由来解释为什么职业发展一塌糊涂,我开始在这个行业中感到不开心–自然,我从这篇文章中得到了验证。
对我来说,我从一开始热爱软件开发到后来厌恶软件开发的原因与我们的编程环境息息相关。我想我指的是管理和期望?
我从未对我在苹果公司的薪水感到不满(尽管你经常非常清楚,苹果公司其他工程师的薪水比你高出一个数量级),而对于 “技术债务 ”问题,我的看法与这篇文章不同。
我讨厌技术债务吗?一点也不–如果我被允许进入并 “拥有 ”我应该修复/维护的代码的话。这也暗示了我在职业生涯中看到的一个重大变化:上世纪 90 年代,我刚进入苹果公司时,工程师们拥有自己的 “沙盒”,拥有自己的代码。如果你愿意,你可以从头开始重写–我们基本上每两年左右就会重写一次 ColorSync(仅举例说明)。
我不否认 “那时的事情更简单”,重写整个框架是一对工程师在一个版本中就能完成的事情。我不会在十几年后重写 PDFKit 的全部内容(但我可能会重写其中的整个部分,例如重写 PDF 注释)。
不过,我仍然认为 “技术债务 ”是一个 “所有权 ”问题。如果我可以按照自己的想法自由重写整个框架(也许可以分段重写),那么我就会说,技术债务来了。
喧嚣文化、官僚主义–同样,在我早期在苹果公司的开发生涯中,工程师们也拥有日程表,拥有会议….。
“市场营销人员可能会问我们的技术主管:”你认为你们团队这次发布的操作系统能达到什么水平?
“我们在最近的一次会议上讨论过这个问题,“他们可能会回答,”我们有工程师已经在开发功能 A 和 B,还有一位工程师想在我们的新框架上重写 C,以提高性能。
技术负责人向团队提出了建议,团队提出了自己的要求或表示同意,工程师们自愿承担了任务……。
不言而喻,那时还没有 Scrum 等。(我们喜欢这样!)。
我知道这篇文章已经很长了,但我还是想在这里跳出来说说 “敏捷 ”开发、单元测试和代码审查这些我个人认为让工作变得痛苦的东西。
我们遭受的所有这些事情,似乎都与改进开发无关。相反,它们似乎都是为了给管理层带来 “正在取得进展”(或没有取得进展)的冷冰冰的安慰。
管理层生活在日期和数字的世界里,而工程师生活在任务、代码健壮性和错误处理的世界里。多年来,人们似乎一直在想方设法给工程师增加负担,让他们在数字和日期上给管理层造成错觉,让他们可以把这些数字和日期带回自己的管理层。
最后,我想说的是工程师的自主权和代理权。曾经有一段黄金时期是工程师掌舵的,我很喜欢。
> 尽管工作不开心,但大多数开发人员还是会把工作之余的编程作为业余爱好(68%)。
我认为这篇文章中的一句话最能说明问题。
我认为这其中有很多原因,归根结底就是我们工作的自主性。
随着市场的紧缩,我认为自主性已经减弱。大流行病期间的过度招聘被管理层视为没有重点的技术工作。他们不但不承认自己的错误,反而把错误推给一线工程师,从而降低了整体满意度。
> > 尽管工作不开心,但大多数开发人员还是会在工作之余把编程作为业余爱好(68%)。
> 我认为文章中的一句话最能说明问题。
我同意这句话最能说明问题。我喜欢作为业余爱好在副业项目上编码,但生活中很难找到时间,而副业项目才是我最快乐的地方。
我可以慢慢来,把我的爱好代码做好。我可以只添加我想添加的功能。如果需要,我可以使用所有选项运行 lint。我可以修复所有编译器警告。我可以使用 asan 并运行 valgrind 来查找所有内存损坏和泄漏。我可以对我的代码进行剖析,加快热点区域的运行速度。我可以尽情打磨、打磨、打磨,直到它成为一件精美的艺术品。而且,我不需要发布它!我想休息的时候可以休息,甚至可以休息好几年,而且没人在乎。
这与工作中的代码环境截然相反,在工作中,你要不停地处理你并不关心的单子,把设计文档写成复选框项,而不是因为需要它们,写没人看的状态更新,实现你并不想实现的功能,因为某个人的老板的老板的老板的老板想要这个功能,而且都是最后期限、最后期限、最后期限。无论软件质量如何,是勉强能用,还是缺了一大块,我们都要在 X 日交付。然后,在这一切之后,就到了下一个冲刺阶段!
> 无论软件的质量是高是低,还是缺失严重,我们都会在 X 日发货。然后,在这一切之后,就该进行下一个冲刺了!
或者,到了一半,项目被取消了。如果他们后来想知道为什么你在这一年里完成的工作这么少,就会得到加分。
我认为,许多科技公司的创始人都是工程师,知道如何与工程师合作。他们可以像你描述的那样,处理 “功能集是什么?(而且,这种管理在规模较小的组织中更容易实现)。
但当 MBA 接手后,他们只知道如何 MBA。他们不知道如何在工程文化中进行管理,于是就把工程文化变成了 MBA 文化。
我不确定今年我见过谁是快乐的(我住在波兰,但我发誓这不是因为我住在波兰:D)。这不仅仅是工作的不确定性。我们的整个世界(即 “第一 ”和 “第二 ”世界国家)目前都不稳定。一场真正的战争正在酝酿,目前是与俄罗斯的战争,也许是与中国的战争,也许中东问题会升级。这些 “也许 ”是个大问题。
更不用说房地产市场和人工智能可能带来的未来就业市场的变化了。
这些问题几乎都不是因为当前的本地就业问题。这些都不重要。这一切都与未来的样子有关。
虽然这些因素对每个人来说都是一致的,但似乎开发人员比其他许多职业都有更多由工作引起的不快乐。这门学科存在一些根本性的问题和缺陷。
说得好–正如这篇文章所指出的,水管工和农民与工程师生活在同一个世界里,他们并不抱怨住房成本或潜在的战争。这是为什么呢?
水管工和农民深感不满意,试着和他们谈谈就知道了。这就是他们中相当多数人打算投票给特朗普的原因。
就好像人类天生就不适合坐上 8-10 个小时学习抽象的东西,也不适合在持续的压力下苦思冥想想象中的逻辑谜题。
程序员会辞去他们讨厌的 50 小时/周的工作,然后去做一个他们喜欢的 80 小时/周的个人项目(开源、SAAS、教育等),这一事实表明,程序员的萎靡不振与他们的手艺关系不大。
就好像我们每天用双手做一些有形的事情,并在每天结束时看到自己的劳动取得了进展,从而获得了某种满足感。
其他行业有没有类似 SO 开发人员调查的东西?
我在美国,也有类似的担忧,但老实说,与气候变化相比,这些担忧就显得苍白无力了;本月我们刚刚经历了有史以来最热的三天,而且看起来我们正致力于加速气候变暖。我不是想让大家更沮丧,但这确实是让我彻夜难眠的一件事。
也是美国。我认为,对于大多数发达国家来说,第三次世界大战的威胁比气候变化更为紧迫。
https://www.astralcodexten.com/p/please-dont-give-up-on-havi…
在比我年轻(31 岁)的男人中,有一种关于征兵复征的紧张杂音。在野外被消费级无人机投下的手榴弹炸死越来越令人恐惧。
我不知道现在的世界大战到底会是什么样子。不难想象,随着美国大同世界的解体,很多地区会发生争吵,但我看不出有什么大问题能让全球两个派别联合起来对抗对方。而且,很难想象美国在经历了自越南以来的灾难性教训,尤其是布什政府的教训之后,会有底气进行更多的对外介入,包括实际的 “地面行动”。
我也认为谈论 “第三次世界大战 ”未免言过其实。真的有人会担心全面核战争吗?
我相信在未来一百年里,核战争杀死的人要比气候变化杀死的人多得多。在过去的 70 年里,我们经历了太多千钧一发的时刻,而核武器掌握在太多不稳定的人手中,因此它们最终不会被使用。也许不会在今年或这十年内发生,但在未来一百年内使用核武器几乎是不可避免的,而且很可能是早晚的事。
也许不太可能是 “全面 ”核战争。气候变化预计将导致数百万人死亡。一场有限的核战争所造成的死亡人数不会超过这个数字。
核战争屁都不是。
等到制造出生物武器,并不可避免地从 BSL 最高级别的实验室泄露出去。这就好比核弹是隐形的,没有编号,而且会被孜孜不倦地追踪到每一个人。
与核弹不同,那是灭绝的时间。
不过,如果到那时我们已经成为多行星生物,那就不会了。
> 等到制造出生化武器,并不可避免地从BSL-max实验室泄漏出来。这就好比核弹是隐形的、没有编号的,而且会孜孜不倦地追踪每一个人。
此外,正如我们现在所知,攻击者可能会依靠相当一部分目标人群淡化、否认、故意传播以及以其他方式将生物制剂政治化。而核弹就不会这样。一旦炸弹开始投掷,没人会有时间去传播阴谋论。
老实说,无休止的各种 “局部 ”冲突和长期的经济衰退比核战争更让我紧张。核战争很快就会结束……
> 核战争很快就会结束…
这不是一个安全的假设。与冷战时期想象的全面战争相比,核战争更可能是一场有限的局部战争。因此,你不太可能被直接杀死。相反,你可能不得不面对核辐射、严重的粮食不安全和全球紧张局势的加剧。
这些都是密切相关的。气候会造成各种地缘政治压力,使人们对冲突、资源获取等问题产生新的担忧。
忽略新闻。这些新闻几乎都与你无关,你也无法对其产生影响。
我现在这样做了,但伤害已经造成。即使没有更新,我也已经知道发生了什么。另外,我距离饱受战争蹂躏的利沃夫还有不到 200 公里,所以……我有点担心。
……在国家和国际层面上。但绝对要阅读本地/本州的新闻。它:1)往往非常直接相关;2)是您可能有能力影响的事情,而且往往是直接影响。
举个例子:我的嫂子和她的丈夫对减速带和标志(太多和/或太少,在正确的地方)很生气,于是开始参加市政厅会议。
我 11 岁时开始在家里的电脑上编程,因为我很好奇视频游戏是如何制作的,我想尝试自己制作(但最终没能实现!)。
最终,我被编程的魅力所吸引。编程行为本身就很神奇。感觉就像是一种超能力。从创建网站到使用程序算法制作艺术作品,再到制作小游戏并使用遗传算法解决它们,一切都让我感觉乐趣无穷。尽管学习的过程可能复杂而乏味,但我可以随心所欲地学习,这让我保持了学习的动力。
因此,当我不得不选择高中毕业后学习什么时,我已经知道了。就在那时,我的人生开始走下坡路。并不是说学校没有乐趣,我也确实学到了很多东西。但更加死板的学习形式和强制性的考试仍然在削弱我的动力。
然后是工作。它让你真正理解了 “异化 ”的概念。你的自主权(大部分)被剥夺了。你无法用自己喜欢的工具,按自己的意愿和方式工作。你影响项目方向、提出新想法等的能力有限……。自我表达对我来说是编程的重要部分,但却受到压抑。随着时间和经验的积累,情况会有所好转。有些公司比其他公司更善于让你尝试和学习新东西。但是,为其他业务相关的后台程序编码用户界面的各个部分,永远也比不上从几行代码中生成整个世界、逆向工程协议以创建自己的客户端、制作 gfx、为朋友的乐队创建一个小网站来得有趣……。
工作就是工作,当你的爱好变成工作时,有时会感到非常沮丧。尤其是在一天的 “工作 ”编码之后,我对 “爱好 ”编码的动力就会化为灰烬。但与此同时,我觉得自己不会再做其他事情了。
这几乎就是我不再做专业开发人员的原因。我意识到我太喜欢编码了,以至于无法从事专业工作。
现在,我从事应用安全方面的工作。虽然在大多数方面这并不是一份神奇的更好的工作,但它并没有扼杀我对编码乐趣的热爱。
因为他们工作的公司没有任何实际意义,不应该存在。
不,这是因为他们在技术缺陷上游刃有余,却无能为力。除此之外,他们还被施加压力,要求获得不切实际的结果,参加没有实际意义、不应该存在的会议(应该用电子邮件代替)。这些都写在了文章里。
用一句话来概括,也许是最好不过的了: 不允许他们达到适当的质量水平。
> 他们无能为力
最突出。
我曾为一些具有积极意义、应该存在的公司工作过,但仍然对自己的工作感到非常不满意。这有所帮助,但并没有解决问题。
优点
– 不用担心每个月都要给银行账户充值
– 满足生活中所有微薄的需求
– 工作场所在某种程度上是家庭之外唯一的志同道合者社区
缺点
– 帮助实现别人的梦想
– 你可能会忘记自己还有梦想
—
随着年龄的增长,我发现与其让自己关心别人的想法,还不如在自己的道路上奋斗。
https://youtu.be/0mAFryoa6Po?si=gGFMKRkLA_GKridQ(请抱着开放的心态,慎重对待,毕竟这是一部赛博朋克阴谋小说)
如需更深入的讨论,我只能推荐罗斯-斯科特(Ross Scott)的游戏评论:https://youtu.be/rxOKEsBx4NU?si=fp3LTFAJrGtEDbZH
> – 职场在某种程度上是家庭之外唯一的志同道合者社区
没有朋友更像是一种现代美国文化。当你没有独立于工作之外的社交生活时,就会出现这种情况,孤独感在美国流行。
他们找不到工作之外的目标?
如果你的工作占用了你大量的生活时间,那么它最好是有意义、有目的的。
宗教信仰每周只占用一天时间(也许只占用一天中的一两个小时)。如果花在工作上的时间能让你找到最大的意义,那么工作必须是第一位的。当然,我的情况也是如此,这让我很郁闷,但由于我的特殊原因,我比大多数人更需要医疗保险,而且和大多数人一样,我也需要吃饭、有地方住,以及所有这些琐碎的事情。
是啊,为 “隐形天空圣诞老人 ”唱歌真的让我的生活变得更美好。
我的意思是,它不会改变什么,但安慰剂效应+社区总比什么都没有强。另外,它还是一个通常不收费的第三空间。
那他们怎么能拿到钱呢?
不是 OP,而是市场一直在错误地分配资本
每一个泡沫,每一个被蛇油忽悠的傻瓜。
系统崩溃的副作用?
印出来的钞票。
文章指出这是技术性债务。
我曾在不少公司工作过,这些公司都有明确的目标,但我的很多代码最后都被扔进了垃圾桶,我的工作时间更是浪费在了扯淡上。
阿门!
这是责任与代理的交叉点。一个人可以在没有责任感和自主性的情况下获得快乐和满足,但并不是每个人都能做到这一点。我们诋毁那些有责任感的人是 B 型人格,但这是不公平的。
少数人可以不承担责任而拥有自主权。比如有钱的继承人。他们中的一些人很快乐,但你会听到很多关于他们出于某种原因而胡作非为的故事。
那些有责任感却没有代理权的人几乎都不快乐。这就是许多开发人员的处境。我们不喜欢那些独占一段代码,并极力捍卫那片领地的人,但这正是他们的根源,他们渴望对某件事情拥有代理权。
那些既有权力又有责任的人,才是有成就感的人。责任带来的压力可能会让他们暂时感到不开心,但长期的成就感才是最重要的,而这正是那些拥有责任感的人所拥有的。
为开发人员提供代理权应该是一件相对简单的事情。让他们对自己的一段代码有主人翁感。他们会为自己的工作感到自豪,你也会从他们那里得到更好的代码。为他们提供做出正确决定所需的信息,而不是仅仅利用上下文来替他们做出决定。
> 让他们感受到自己对代码的所有权。
让他们真正拥有所有权。如果你只是让他们 “感觉 ”自己拥有所有权,但实际上他们并不拥有,那么你骗不了他们多久。
这让我想起了我曾为之短暂工作过的一位(引导式)创始人,他在长途飞行中闲聊时抱怨员工的工作态度,并说他希望他的员工像拥有公司一样工作。“我很努力地帮助他们,让他们觉得自己是公司的主人,但他们就是不愿意付出额外的努力”。我真想告诉他,伙计,他们表现得不像他们拥有公司,因为他们不是!–你拥有公司的 100%!
你必须给人们真正有意义的代理权和控制权。而不仅仅是感觉。
对我来说,编码是一种无政府主义活动。计算机是非常强大的机器,我们可以教它们做任何事情,似乎唯一的规则就是理论上的限制…… 我认为这可以让人兴奋不已,而且非常有趣。但在工作中……我们在毫无新意的 JIRA 单子上工作,编写枯燥的单元测试和更枯燥的文档……这完全不一样。这就是为什么我也在家写代码的原因。)
(可能整个敏捷方法论也是问题的一部分)。
80% 似乎很难让人相信。当我指出现代生活中存在的问题,包括极度疏离的工作环境时,我经常被人当成患有某种情绪障碍(公平地说,这完全有可能)。在我的印象中,大多数人至少能够适应自己的环境。
大多数人都处于生存状态,承认自己不喜欢这份工作是一件很容易受到社会伤害的事情。这需要一定程度的安全感,通过坦诚面对和支持他人,希望我们能达到共同承认这些问题的程度,并尝试解决它们。
思考生活为何如此糟糕也不是一件有趣的事,我认为这会让生活变得更加艰难。因此,这需要一些技巧。相对于需要改变的客观事实,人们把它作为一种主观的、个人的、只想分享的观点提出来,让我更容易在这方面认真对待他人。
很遗憾你觉得自己是少数派,希望你能进入/创造一个让你感觉更容易被理解的环境。
是的,我曾在一家被私募基金解散的公司工作过。在会议上,人们会表现得一切正常,但在一对一的场合,你会听到有人哭泣的报道。当然,这让我很难受,以至于裁员时,我如释重负。
我非常内向,除了我的心理医生之外,我很难向其他人倾诉这种事情,但我的印象是我有点不寻常。显然,在这个论坛上,我可以畅所欲言,因为我是相对匿名的。
我经常在想,人们是否真的了解是什么让他们不快乐;在我看来,这往往是很清楚的。例如,在家工作是如此受人追捧,但对我来说却是一场灾难;一想到在今后几十年的工作中都要被拴在家里的办公桌上,我就觉得自己活在地狱里(至少是办公室里)。正如我所说的,我很内向,但这种程度的单调劳作对我来说是非常不自然的;我不明白怎么会有人能做到这一点,但人们会指责我是这个网站上的骗子。
就这样,我在一家公司找到了一份面谈的工作,这家公司生产的产品我认为很有用。如果我说我的薪水或我们使用的一些旧技术,我肯定会被嘲笑,但你知道吗–我现在可能真的是那百分之二十的人中的一员。实际上,我告诉过别人,我的工作让我感到自豪和满足。现在我最担心的(这种担心可能永远不会消失)是我们失去了相关性/客户,我不得不另谋出路。
> 当我指出现代生活中存在的问题,包括极度异化的劳动环境时,我常常被当作患有某种情绪障碍(公平地说,这完全有可能)。
卡尔-马克思(Karl Marx)把这个他认为在资本主义下不可避免的现象称为 “工人异化”(Worker Alienation)。
是的,在这一点上我借鉴了马克思。很明显,他是资本主义社会的憎恶,但如果他没有什么可说的,他们就会嘲笑他,而不是诋毁他。
我在想,这其中有多少原因也是由于解决方案给人的感觉不那么实在,而是比较抽象,从根本上说不那么令人满意。
以木工或管道工为例,你可以指出某件事情已经完成。
阀门要么换了,要么没换。水要么漏了,要么没漏。(抱歉,我只能想到住宅的水管问题,我知道比这更复杂)。
但在软件领域,情况就不同了。每一项功能都有无休止的讨论,产品也不那么具体,而且你并不经常看到人们真正使用你开发的产品。
但这只是我的推测,为什么从事软件工作(虽然很舒服,我也真心喜欢编程)会感觉不那么令人满意。
我以前觉得解决方案很令人满意,但现在却很难。我认为这是无休止的技术债务、自行车拆卸、无果而终的讨论、做任何事情都需要无数人的签字同意、其他开发人员偏爱教条的设计模式而非实用主义,等等等等的综合因素造成的。
是啊,所有的自行车脱落绝对是个问题。
在我刚开始工作的时候,我经常用小型程序/工具(通常是 1-2 页的网站)为同事解决问题,我可以看到他们使用这些工具来解决日常任务,这让我非常满足。
一方面,正如文章所指出的,这并不能解释我们中的许多人也在业余时间编写代码。
但与此同时,这也解释了为什么我们中的许多人(举手)会做木工或其他编码之外的 “建设性 ”爱好。
完全同意。10 年前,程序员的热门爱好是摄影。现在(或者说最近几年),木工和其他类似的 DIY 追求似乎风靡一时。
我是一名系统人员,我真的很怀念那种需要亲自动手架设服务器、布线并接通电源的日子。把所有基础设施都放在云端,在很多方面都无法令人满意。
我想知道水管工的幸福感是如何演变的。
我看到有些水管工来了之后做了些什么,然后离开并寄来账单。只是他们的工作并没有解决问题。
在这种情况下,你怎么能感到幸福呢?
> 我在想,这其中有多少原因也是由于解决方案给人的感觉不那么具体、抽象,从根本上说也不那么令人满意。
卡尔-马克思称之为 “工人异化”。
从根本上说,就是与工作的疏离,不仅无法获得其劳动的全部市场价值,甚至无法从根本上获得工作的满足感,最终导致自我形象的异化。
https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation
将编程与管道工相提并论似乎是在拿苹果和橘子作比较。在这类工作中,人们可能会梦想着最糟糕的 IT 微观管理者。这样的公司通常由一群怒气冲冲、无所事事的老家伙领导。从未从事过类似工作的人很难认真对待这样的评价。
是的,我愿意拿苹果和橘子作比较。
我比较的意思是,大多数 IT 工作(就像许多白领工作一样)是抽象的,没有那么明确的定义。
而物理领域的很多行业,很多都是重复性的,你要完成它。
水管工、机械师等也是如此。是的,偶尔会有一些问题逃过你的眼睛,困扰你几个星期。但大部分工作都是重复性的,有明确的开始和结束。你很少会觉得浪费了一整天却什么也没做成。
我只知道,我认为开发软件是一件非常有趣和充实的事情。当我不工作的时候,我就把它当作一种爱好来做。
然而,作为一名员工(在大多数工作场所,但并非所有工作场所),开发软件的乐趣就荡然无存了。工作场所有时似乎就是为了让这项工作尽可能地不愉快而设计的。
我对他们的观点深有同感。
> 在不完美的系统中工作会打击程序员的士气,使他们难以完成高质量的工作。
> 开发人员面临着尽快完成任务的压力
> 裁员
> 编码是一项久坐不动的工作,而久坐不动的生活方式对身体健康极为有害。
我最近开始了一份新工作,在这里,2 和 3 不再是每天都要面对的问题。但在工作中,我无法摆脱高摩擦的开发体验和久坐不动(也非常不社交)的生活方式。
我认为,另一个问题是,像编程这样的活动,你的劳动成果通常是抽象的,而不是你在现实世界中可以实际触摸和欣赏到的东西,这在本质上是不令人满意的。
在家里修理东西、粉刷墙壁、组装家具往往比部署更新网络应用程序更能让我感到满足和完成工作的感觉。在我职业生涯的大部分时间里,这对我来说都不是问题,但在长期(10 年以上)的工作中,随着年龄的增长,我就会强烈地感受到这一点。
我想这就是为什么时不时会看到程序员转行去务农或做木工的原因。
软件开发人员需要拥有独立的项目所有权才能感到快乐。他们需要在没有管理层或其他团队成员压着脖子的情况下,自由地维护并从优先级高的积压项目中选择项目。如果没有这种自由,项目往往在两三年内就会失败,因为它已经退化到无法维护的地步。
这绝对不是人工智能,因为这种现象由来已久。
这个问题没有简单的答案,我认为它是由许多不同的问题造成的,这篇文章很好地概述了其中几个问题。
对我来说,我开始觉得这对我个人的福祉来说是难以解决的,并一直在思考如何走出这个行业。当你生活在一个高密度居住区,又没有其他适销对路的技能时,这并不容易。
是我漏掉了什么,还是他们漏掉了显示 80% 不开心的问题/答案图?我很好奇问题和答案是如何措辞的,如果出现一些调查偏差问题也不足为奇。
不过,很多开发人员 “不开心 ”并不奇怪,我想你在金融业(或任何高薪、雇主期望值很高的高压行业)也会看到同样的情况。
如果这篇文章能与其他领域的一般工作满意度进行比较,那就更有意思了。其中有一句话似乎没有任何背景或来源,只是作者的个人观点:
> 从轶事来看,水管工和农民都比他们更快乐。
> 只是作者的观点
虽然我同意这没有出处,但也没有任何迹象表明这是作者的观点。
(既然它与我所相信的事实一致,我就假定它有数据支持……)。
作为一名不快乐的前端网络开发人员,我觉得我之所以不快乐,主要是因为我的工作头衔一直没变,而职责却发生了巨大变化。我一直是一个喜欢用户界面的开发人员。我从创建好看又有感觉的组件中获得了快乐,在小动画和花絮方面做得更多,让人感觉恰到好处。随着时间的推移,JavaScript 在其中扮演了更重要的角色,所以我也自然而然地学习了 JavaScript。但我学习 JavaScript 仍然只是为了增强我正在构建的可视化组件。
现在,N 年过去了,我几乎无法再从事图形方面的工作,因为我的大部分时间都花在了编写客户端的业务逻辑上。从服务器获取数据、解析和整合数据、数据管理……所以我现在基本上成了前端的后台开发人员。
网络的可视化部分已经被 Webflow 和 Framer 等工具或另一个极端的 ThreeJs 所取代。我最近和一些公司/招聘人员聊了聊,只是想随便看看有哪些职位,以及我想回到更图形化/ui/ux 方面工作的愿望,但每个人都在找 “react 开发人员”,这和我现在的情况如出一辙。
所以,是的,我坚持了下来,但这并不意味着我对此感到高兴。我也不是完全不开心,但情况肯定会更好。
我想这是因为大多数开发人员都在从事他们并不喜欢的工作。编程似乎承诺了自由:你可以随心所欲地编程。
但开发人员却被困在工资奴隶的工作中,永远无法追求自己想要的东西。
我敢肯定,90% 以上不快乐的开发人员都会喜欢编程,如果他们能从事自己的事业,从事他们真正认为应该存在的事业,而不管 “这对社会是否有益”。
人们希望从事他们认为应该存在的工作。现代的开发工作大多与此相反。
我是说,你见过哪个年轻的青少年/20 岁出头的开发人员会说:“是啊,兄弟,我真想做广告编程,太刺激了”。
68%的开发人员将编程作为工作之外的业余爱好,这着实让我感到惊讶。
我还以为人们在业余时间花在代码上的时间要少得多呢
这是基于 Stack Overflow 的一项用户调查,而这项调查非常偏向于 “热心的初级 ”开发人员。我的意思是,“Stack Overflow 的活跃用户”(关注网站上某种调查的人)已经是一个很强的筛选条件了。此外,我们在职业生涯中走得越远,主动使用 SO 的情况就越少。
编辑:这也解释了为什么不快乐的比例很高。现在,标注为初级的职位尤其糟糕。
> 现在的初级标识尤其糟糕。
是啊,中高端人才,尤其是数据库、前端、ERP 等特定领域的中小型企业的需求都很高。– 领导职位似乎还不错;反正也不容易进入,但潮汐一代和早期 X 代人正在退出市场,感觉一切都很开放。
同时,我们发布了初级到中级职位的招聘广告,收到了 1000 多份质量可疑的申请(都是人工智能写的),其中 30% 的人不在同一个大洲。我很敬佩我在肯尼亚和德里的同胞,他们正在为多伦多的工作而努力,但我们没有赞助,这些额外的噪音只会让我们更难找到合法的初级员工。
我的理论是,软件工程从根本上说是一种孤独的活动。
加载解决问题所需的上下文,并在编写代码的几个小时里保持这种状态,这意味着要与计算机独处,没有其他人。思考抽象的想法和概念,而不是人和感情。作为一种社会动物,这不是人类进化的目的。
软件工程师需要在空闲时间优先考虑与人交流,因为他们在工作中不太可能经历太多这样的事情。
软件开发工作确实很孤独,但这种解释是完全错误的,因为在从事个人项目时,软件开发工作会更加孤独。然而,个人项目却能带来快乐。
如果你是社交动物,那你一开始就不应该从事编码工作。它只适合没有社交生活的内向书呆子!你还能怎么学呢?哦,对了,通过使用企业制作的简单语言(Java、C#、Go)来雇佣更多的开发人员,并许诺给他们一份轻松的薪水。