“编码占工作的30%”

2025-05-25

“编码占工作的30%”

这是我上班第一周时,一位资深开发人员说的话。我当时突然想到——难道编程不是我获得报酬的原因吗?嗯,事实证明确实如此,但程度可能不如你想象的那么严重。布莱恩·特雷西曾在一次商务会议上对一大群听众说过类似的话:“我可以准确地告诉你们每个人,你们的职位是什么——你们是一个问题解决者。” 毫无疑问,编程是最纯粹的问题解决方式之一,但如果你这样想,它远不止编程,对吧?现在你可能会想:那么,真正重要的是什么呢?在本文中,我想讨论一些我意识到的、对我的工作效率影响远大于我编写的一些代码的事情。

商业知识和意识

深入了解你所服务的业务至关重要。例如:精益创业公司面临的问题和关注点与已运营数十年的企业公司截然不同。这不仅体现在该公司的技术选择上,也体现在开发人员提出和实施的解决方案上。了解你所负责项目的业务目标,将使你能够理解该项目的目标客户及其需求,从而使你的贡献、建议和解决方案更具价值。根据业务目标的不同,某些功能所需的深度可能有所不同,并且允许或不允许的技术深度也有所不同。

通常,通过访问一家企业的网站并了解其历史,很容易就能了解其目标是如何协调的。他们是一家成立已久的大型公司吗?他们可能专注于长期增长和可持续的工程实践。他们是一家由风险投资公司资助、正在测试新产品的初创公司吗?做好准备迎接短跑冲刺和不同功能的快速迭代。

领域知识

当我刚开始在电信企业咨询公司担任初级开发人员时,我的团队成员在第一次站立会议上可能就像在说普通话一样:我什么都听不懂。

幸运的是,随着我对项目相关材料越来越熟悉,各个部分开始逐渐衔接。无论你从事什么工作,你都可能遇到同样的情况。如今,每个行业都在使用软件,这意味着每个行业都在招聘开发人员。大多数行业都有自己的一套工具和术语,而这些工具和术语对于行业外的大多数人来说可能并不熟悉。

很有可能你最终会冒险进入一个你完全不了解的领域——这没关系!虽然随着时间的推移,你可能会学到所有这些东西,但我认为在开始工作之前就开始研究你的领域是个好主意,这样你就能获得优势。

沟通

大多数人都知道这一点——良好的沟通是提高生产力的关键。无论你听到多少次,初级开发人员在开始新工作时仍然很难真正理解沟通的重要性。一个简单的事实是,如果你让两个开发人员一起工作,一个理解客户的确切需求,另一个不理解,那么无论技术水平如何差异,前者几乎总是能做出更好的产品。

沟通的意义远不止于理解和满足需求或客户需求。它还关乎尊重和同理心,这在软件开发中至关重要,而软件开发是一门由团队合作驱动的学科。开发人员对自己的工作充满热情和自豪,因此表达不同意见或提出改进建议时需要谨慎。同样,重要的是不要把反馈看得太个人化,而要将其视为学习机会。成为别人乐于与之共事的人将对你的职业生涯产生巨大的优势,而这很大程度上取决于良好的沟通技巧。

决策

在你的开发者生涯中,不久之后,你就会面临需要做出决策的情况——无论你是经验丰富的软件架构师,还是刚刚开始学习编程。你可能会想到“天下没有免费的午餐”。优秀的开发人员比其他人更懂得如何做出决策,通常会考虑一些前面提到的因素(尤其是业务和领域知识)。这不仅仅关乎我们编写的代码,还涉及其他领域,例如,在某些情况下,最好决定根本不编写代码。

拥有敏锐商业嗅觉和领域知识的开发人员能够在关键时刻做出正确的决策,从而为公司节省大量资金。这包括判断何时应该使用专有服务而不是创建定制解决方案,或者何时应该使用特定架构而不是其他架构。自信地做出明智的决策是成为优秀开发人员的关键。

结论

从我(仍然非常有限的)经验来看,我不得不同意我那位更有经验的同事的观点。大多数解决方案都要求开发人员不仅仅是编写代码,因此,一家公司软件开发领域的最高职位很少需要编写任何代码也就不足为奇了。我希望本文能帮助您了解并准备好应对软件开发人员工作中一些经常被忽视但仍然非常重要的方面。

文章来源:https://dev.to/marcbeaujean/coding-is-30-of-the-job-1088
PREV
Spring 框架是什么?不仅仅是依赖注入
NEXT
Webpack 5 和模块联合——微前端革命