原文: What Does a Software Developer Do? Software Engineer Career Overview

如果你正在学习成为一名专业的软件开发人员,你可能想知道软件开发人员每天在工作中做什么。

在本文中,我将讨论软件开发人员的典型一天以及做什么工作。

软件开发人员的主要职责

作为一名软件开发人员,你的主要职责将包括修复代码库中的错误、构建新功能、为应用程序编写测试、编写文档、执行代码审查以及参与团队讨论会议。

非常有经验的开发人员,如软件架构师,将负责软件应用程序的更高级别的技术和架构决策。

让我们更详细地了解每一个职责。

调试代码库和修复错误

当你刚开始作为软件开发人员时,你的主要职责之一是修复小错误并调试代码库中的小错误。

会有一个问题(issue)列表,将工作分解为可管理的部分,其中一些将包含应用程序中的错误。

你将处理一些有助于你学习代码库的小项目。作为初级开发人员,头几个月花在代码库上是很正常的,很多工作对你来说都是新的。

只需确保提出大量问题并尝试与团队中的其他开发人员结对编程即可。与其他开发人员协作将帮助你学习新技术并更快地成长。

我从我的同事那里学到了很多东西,而且大多数时候,他人可以帮助我以不同的方式看待问题。

构建新功能

随着你开始对工作感觉更加自在并获得更多经验,你将开始对代码库承担更多责任。你可以开始构建新功能。

功能是软件产品的基本组成部分。这种类型的工作将比小错误修复花费更长的时间,并让你有机会为项目做出更多贡献。

这也将为你提供解决更复杂问题并作为开发人员成长的机会。我处理的第一个功能是为公司网站实现一个浅色/深色主题。

我花时间思考如何为我们现有的代码库实现此功能的最佳方法,然后我开始实施我的解决方案并测试网站。

最后阶段是通过代码审查并更新网站文档以包含新功能。

整个经验教会了我如何构建可维护和可扩展的解决方案,这些解决方案可以很好地与现有代码库配合使用。

为应用程序编写测试

软件应用程序的一个重要元素是确保它们以应有的方式工作。这就是测试的用武之地。

软件开发人员负责编写不同类型的测试,例如单元测试、集成测试、功能测试等等。他们还可能参与手动测试,其中包括开发人员使用一组测试用例检查应用程序,并确保它按预期的方式工作。

我最初的测试经验之一是冒烟测试和为我们的几个应用程序编写手动测试指南。冒烟测试是开发人员检查应用程序并确保基本功能完好无损。

编写测试指南涉及开发人员了解应用程序的所有功能并创建测试用例。这些测试用例涉及写下用户应该经历的确切步骤和预期结果。

我第一次必须编写手动测试指南时,并没有意识到在写出每个步骤时需要多么具体。但是一旦我写了几个测试用例,这个过程就开始变得更有意义,编写这些手动测试用例变得更容易了。

如果你有兴趣了解有关测试的更多信息,那么我建议你阅读这篇 freeCodeCamp 文章

编写文档

文档是任何软件应用程序的重要组成部分。记录应用程序的主要功能以及为开发人员在本地运行它所需的所有步骤非常重要。

每当你加入一个新项目时,如果你发现文档中有任何令人困惑或遗漏的地方,请务必向团队提出。这将是更新文档的好机会。

有时,当你正在处理一个项目并且团队忙于按时完成任务时,你们可能会耽误文档更新。当事情稍微平静下来时,请确保重新访问文档并确保它是最新的和准确的。

执行代码审查

构建软件是一项团队活动,团队中的每个人都必须让他们的同事审查他们的代码。对代码库进行更改后,你将创建所谓的“拉取请求 pull request”。

该拉取请求代表你要添加到代码库的更改。然后,你将请求团队成员进行审核,他们将查看你的代码并提供反馈。

重视反馈也很重要,因为你的团队只是试图帮助你发现问题并就如何优化你的解决方案提出建议。

提供建设性的反馈并确保拉取请求中的所有内容都能解决问题或满足新功能的要求也很重要。

要了解有关代码审查过程的更多信息,请阅读这篇 freeCodeCamp 文章

参加团队讨论会

构建软件产品有很多移动组件。在整个过程中,整个团队能够保持信息对称,这一点很重要。

这些会议的目的是让每个团队成员与团队分享状态更新,并分享任何阻碍他们推进项目的障碍。如果你是软件开发的新手,你可能会对参加会议感到紧张。

你可能还会对会议中使用的一些讨论和所有新术语感到不知所措。试着提出问题并记住,理解软件过程的所有细节需要一段时间。

我的自然倾向是在会议中更加矜持,但我更加努力地直言不讳,并就我不明白的问题提出问题。有时你会发现其他人也有同样的问题,并且很高兴你问了这个问题。

尽你最大的努力积极参与会议,分享你对项目的意见,并就你需要帮助的问题提出问题。

总结

如你所见,构建软件产品有很多组件。你的时间不会花在连续 8 小时编写代码上。

相反,你的时间将被用于会议、结对编程、调试代码、阅读文档、编写文档和测试软件。

我希望你喜欢这篇文章,并更好地理解成为一名软件开发人员是什么样的。祝你在软件之旅中好运。