当前位置: 首页 > 科技观察

六个代码库可以使软件开发变得如此困难

时间:2023-03-14 22:31:19 科技观察

复杂。标准骨骼规格。时间不多了。如果其中任何一个听起来很熟悉,那么您并不孤单。尽管软件开发是美国发展最快的行业之一,但它可能是一个很难从事的领域。开发人员经常会筋疲力尽。一项调查显示,科技工作者的职业倦怠率接近60%。在本文中,我们将探讨导致您精疲力尽的六个重要原因,以及如何让您的工作更轻松一些。管理多个项目和期望开发人员通常同时处理多个项目和任务。有时似乎每个人都需要您的时间,甚至是其他开发人员。了解时间和地点的分配方式对于按时完成和避免紧急情况至关重要。不幸的是,估算工作量是开发人员可以学习的最难的技能之一。项目通常看起来很简单,但在开发过程中会分崩离析。快速修复可能会变成漫长的夜晚。设计问题、与其他系统的集成、繁文缛节和意外错误等无数变量都可能阻碍进展。同时,管理者和利益相关者希望尽快交付结果。移动得太慢,你会被推回去。动作太快,你可能会过度劳累、精疲力竭和牺牲质量。学会妥协很重要,但这需要您对自己诚实并了解自己的能力。你能做什么?首先跟踪您在任务上花费的时间。使用诸如Toggl、Clockify或Kimai之类的工具,并在下一次Sprint回顾会议期间对其进行审查。一旦你理解了时间的流逝,你就能理解可以削减或委派给他人的任务。如果当前迭代的工作范围似乎太大,或者威胁到令人生畏的最后期限,则将不必要的更改推到下一个Sprint。对于最小可行产品(MVP)来说尤其如此,因为在这种情况下,冗长的开发周期会使最终产品面临风险。通过练习,您将能够更有效地管理项目和任务。如果没有合适的资源或需求,开发人员需要资源,但不幸的是,我们常常得不到我们需要的东西。一个系统、一个IDE、对环境的访问、规范文档、一个共享的知识库、一个像样的工作站——如果没有这些,你甚至在编写一行代码之前就会被卡住。规格和要求特别重要,而且经常被忽略。在没有需求的情况下编写代码就像在没有蓝图的情况下建造房屋,几乎总是会导致精力和技术开销的浪费。需求为每个参与的人提供了明确的方向并建立了共识,只要每个人都坚持需求。你能做什么?与您的团队联系,获取对您目前的工作或职位至关重要的任何资源。向您的团队领导发送书面请求(电子邮件、Slack等),并安排提醒以在需要很长时间才能回复您时跟进。如果您仍然没有获得所需的资源,请询问需要它的功能是否真的有必要,或者您是否可以等到下一次迭代。并且一定要在站立时提到你的阻滞剂。让您的团队了解所有问题。当涉及到要求时,花额外的时间进行适当的审查。如果没有记录在案的项目要求,请坚持!采访项目所有者和主要利益相关者以了解项目的目的。除非您完全了解工作,否则不要执行任务。理解复杂系统一个组织的代码库可能有数十或数百名不同的开发人员共同工作了数十年,每个开发人员都带来了他们的编码风格、决策和评论级别(或缺乏)。您可能会继承令人困惑或完全无法理解的代码,这些代码需要花费大量时间来理解和分解。期望您的代码受到源代码控制可能是我们行业在过去十年中在理解代码库的历史和基本原理方面取得的最大进步。如果不是,你的困惑会被放大。即使对代码有很好的理解,使用第三方产品通常也意味着学习一个全新的API。商业产品通过模糊其内部工作原理使您的工作更具挑战性,从而使调试意外行为变得更加困难。你能做什么?如果这是一个新项目,请确保您熟悉团队的编码实践和标准。如果你被一个特定的模块卡住了,留出一些不受干扰的时间来逐步完成它,并写下出现的任何无法回答的问题。如果可能,与更熟悉代码库的团队成员(最好是原始开发人员或维护人员)配对。对于第三方产品,请毫不犹豫地使用文档、常见问题解答、客户支持、聊天室和社区论坛。当所有其他方法都失败时,请使用Google(或DuckDuckGo)!跟上技术的发展和变化是软件唯一不变的。无论您处于哪个级别,总有一些新工具、编程语言和最佳实践可以引起您的注意。即使只是维护代码也意味着掌握产品更新和安全公告。当然,没有人可以成为所有方面的专家,但开发人员应该知道哪些工具适用于哪些任务。开发人员至少需要粗略地了解多种技术和工具,才能更好地评估不同的解决方案,避免为工作选择错误的工具。您需要学习的新技能和技巧的数量可能是巨大的。你能做什么?通过不断学习新技术和实践,在技术游戏中保持领先地位。如果可以,安排“发现”日,让您不在当前项目上工作,而是花时间研究和学习新技术。在学习新服务时利用免费试用和教育材料。考虑为开源项目做贡献,以在工作之外练习您的技能。永远记住,新事物并不总是答案——看这里的项目时不要分心。为任务选择合适的工具,它可能有光泽,也可能没有光泽。平衡沟通和干扰开发人员、团队领导和其他部门之间的持续沟通对于让每个人都保持一致至关重要。但是,过多的沟通会对生产力产生不利影响。开发人员已经将21%的工作时间花在通信工具上,公司每年每人为此花费近30,000美元。所有这些中断都会导致上下文切换,这使得您更难专注于您的工作。据估计,停电后最多需要20分钟才能恢复工作。为什么中断对开发人员来说是灾难性的。?2018猴子用户。版权所有。你能做什么?在编码时,消除干扰并专注于任务。如果您发现自己经常被打扰,请示意同事进入专注模式。在您的日历上安排“不开会”或“不接触”的日子,只是为了编码、戴上耳机并更改您在通讯器中的状态。一旦集中精力,就必须认真思考问题,从不同的角度进行评估,研究多种选择,并提前计划实施策略。记录你的决定(和你的代码),并准备好捍卫它们。感觉自己不属于自己尽管他们受过教育、拥有专业知识和经验,但仍有多达58%的科技工作者患有冒名顶替综合症。当开发人员面临一项提高他们能力或挑战他们自信心的任务时,他或她可能会质疑他们完成这项工作的能力。这可能会导致负面反馈循环,最终导致开发人员脱离甚至辞职。对于代表性不足的群体来说,没有归属感尤其困难。在美国,多达80%的开发人员是男性,58%是白人,不幸的是,年龄歧视仍然普遍存在。这些有意或无意的偏见会阻碍熟练的开发人员并阻止新的开发人员。你能做什么?不要孤立自己!参与开发社区:与其他开发人员联系,关注行业领导者并参加活动。借此机会分享您的知识、协作和学习新事物。请记住,每个人有时都会有这种感觉。发挥你的优势你能做的最重要的事情就是诚实并相信自己。克服对失败的恐惧,摆脱困境。您尝试新事物的次数越多,您就越能确定自己的优势和可以改进的地方,从而建立信心。相信自己会做出正确的决定,但不要害怕寻求帮助。成为一名软件开发人员很难,但只要有正确的态度和努力工作,这将是一次非常有益的经历。