查看原文
其他

很多软件公司,其实都是“笑话”?

SpringForAll 2022-07-05
关注我,回复关键字“spring”
免费领取Spring学习资料

作者 | Leo Liou、译者 | 弯月、出品 | CSDN(ID:CSDNnews)

本文中探讨的问题并不仅限于软件行业,许多大公司都存在这样的问题。

我在软件行业工作已经二十多年了,前前后后经历过很多公司。我曾在大型金融和咨询公司从事过一些无聊的工作,还曾在一些小型软件公司从事过一些很酷的图形项目,这些项目为电影制片厂开发出了非常酷的工具。

我可以透漏一个秘密,很多“软件工程师”,尤其是在大公司工作的人,所做的工作实际上很少。他们中的很多人几乎“无所事事”。



5 个月的工作干 3 年


我曾在一家大型金融公司担任软件开发人员,当时我一直有一个疑问:为什么我们花在编程工作上的时间这么少

大部分时间里,我都在应付各种无聊的会议、准备无聊的幻灯片、制作愚蠢的 Excel 表和甘特图。如果幸运的话,每天我能拿出 1~2 个小时写代码。我们团队负责开发的软件实际上是一个 JavaScript Web 应用程序,用于监控和收集公司财务交易的详细信息。

老实说,我觉得我完全可以在 5 个月内仅凭自己的力量完成整个软件。整个解决方案的代码行数不会超过 24,000 行(包括大量生成的代码)——而我们团队花了将近 3 年的时间来构建这个软件。当然其中大部分时间都花在开会上,或者为琐碎的功能争论不休,比如我们是否应该使用特定的图表来显示某些数据,以及图表应该使用什么颜色。就连我个人的项目都比我们开发的这个软件更复杂。

当时我们团队大约有 20 人,但开发出的软件根本没有什么可展示的。所有时间都耗费在沟通瓶颈、办公室政治以及低效的工作流程上。有时,主管或“团队负责人”会介入并“贡献自己的力量”,给我们一些毫无价值的鼓励,比如说一说为什么图表应该使用哪个颜色,为什么信息应该以某种方式显示等等——基本上就是一堆假大空。

不要以为这只是我对于这份工作的感受,其他的几份工作也都是如此

此外,有这类经历的人不止我一个,与我交谈过的许多程序员都抱怨他们编写代码的时间太少,大部分时间都浪费在了会议上。我们总是忙忙碌碌,却没有任何实质性的产出。在工作时间内,我们总是被各种事情折磨得焦头烂额,从来没有空闲时间。然而,我认为很多时候我们都是在白白浪费时间



不利于个人成长


这些工作中遇到的另一个问题是不利于个人成长。在科技巨头公司内,我们都是“螺丝钉”,在一个大项目中承担一个很小的任务。自由开发者只需努力两个月就能轻松超过我们 1 年的产出,请不要感到惊讶。

有时,你只是编写了一小段代码,却要为此编写 50 页的文档,还要进行一堆有用的和无用的测试。你做出的每一个决定都需要与同事和主管反复争论。所以,我们辛辛苦苦努力 1 年才能完成一位开发人员只需两个月就可以做完的工作。可悲的是,你习惯了碌碌无为,并在层层监视下,假装努力工作。



选择为自己工作


后来,我回到了以前曾经工作过的一间小工作室,并在这里找到了内心的平静和满足。我使用的是 C++ 和一些图形 API,包括 OpenGL 和 DirectX。我们需要制作非常复杂的后期效果处理,比如颜色分级、色调映射、屏幕空间体积效果以及许多其他很酷的功能。

我们团队只有 3 个人,我的另外两位同事对工作充满了热情。每一天,我们都在积极地学习、探索和发现。我们编写、构建和调试了大量代码。我也终于有机会提高自己的数学水平,因为我们的任务需要应用非常复杂的数学知识。这里没有办公室政治、没有废话连篇,只有编写代码和不断的学习。有时,我们也会会选择加班,因为我们沉迷于手头正在解决的问题。

此时此刻,我选择为自己工作,做一些自由职业和一些短期的合同工,我感觉自己非常高效。我永远不会回去为大公司工作,因为在那里我将一无所获。在那些公司里,我的成就感为零,交不到任何朋友,搞不好还会树敌。赚钱固然重要,但我宁愿用金钱换取成就感、乐趣以及充满动力的工作,还有自由的灵魂与一群知己好友。



网友评论


评论1

以前,也曾有文章说过:“与组织问题相比,技术问题非常直接。分布式系统是公认最复杂的系统,但这类系统丢弃的消息大约为 0.1%,损坏的消息百分比更低,延迟只是微秒或毫秒级别。当我与上级交谈,将他们认为自己所说的内容与我的同事认为他们所说的内容进行比较时,我发现丢失消息的比率远远超过 50%,而且每条消息都会被损坏,而延迟可能长达数月或数年。”

“当人们想象构建某个功能所需的时长时,通常他们都会想象一个完美的团队,工作时间 100% 用于写代码。但这类的团队不具备扩展性。问题不在于效率是否会降低,而是能降到多低。如果一家公司能够消除组织的低效,那么其创新能力将远超任何科技初创公司。”

与写代码相比,沟通的扩展性极差,大型组织需要的技能与小公司截然不同。看来,本文的作者只喜欢写代码,而不关心提供最大的商业价值,所以他不喜欢大公司也是有道理的。

大公司和小公司也有利弊。与小公司相比,大公司的经营无论多么优秀,都会产生大量的沟通成本。

评论2

我同意,大型科技公司的效率很低,因为我们需要协调各方利益相关者,这些沟通成本是不可避免的。公司给我们报酬是为了最大化业务价值,如果企业不盈利,我们都会失业。而个人价值的体现不仅限于写了多少代码。

身处大公司,你要么选择接受这一点,兢兢业业地做一枚“螺丝钉”,要么努力抗争。如果你觉得会议占用太多时间,那么就努力协调,与同事和上司沟通。

我个人的工作习惯是,每天留出 4 个小时集中精力写代码。我与经理做了几次坦诚的沟通,促进双方彼此的理解并建立更好的期望。

原文链接:https://liou28335.medium.com/many-software-companies-are-a-joke-9f4b10378c7a


END



轻松学会使用Java的交互式编程环境功能齐全的开源微服务商城系统
Spring Boot 2.7.0发布,2.5.x将停止维护,这节奏你还更得上吗?如何写出令人惊叹的设计文档?
Nacos 2.1.0 正式发布!

关注后端面试那些事,回复【2022面经】

获取最新大厂Java面经

最后重要提示:高质量的技术交流群,限时免费开放,今年抱团最重要。想进群的,关注SpringForAll社区,回复关键词:加群,拉你进群。

点击“阅读原文”领取2022大厂面经
↓↓↓ 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存