服务咨询电话:
公司新闻

ballbet贝博

ballbet贝博网页:软件工程师在参加新团队时应问的 20 个问题

  发布时间:2021-08-28 09:05:10 | 来源:ballbet贝博 作者:ballbet贝博沃尔夫斯堡

  各种软件开发团队做作业的方法是十分不同的。乃至在一个公司中,不同的团队或许会有许多变量。身为一名软件工程师,开端与新的人员和新的软件一同作业,这是一件令人兴奋的作业。就个人而言,我最近开端和一个新的(对我来说)软件一同作业。这不是惯例或常常产生的作业,因而,我捉住这个时机,认真思考一下我近期需求学习的东西。

  下面是我以为软件工程师在参加一个新的软件开发团队应该考虑到的问题,按类别分类。

  那是你首先要学习的东西之一。不管怎样,你要开发并运转这个软件。构建是第一步!

  CI 管道关于处理测验过错十分有用,可是为了缩短内部开发循环周期,你期望能够在开发的时分在自己的机器上运转测验,以保证测验是正确的,一同检查回归的状况。管道不该该是你创立或导致测验失利的第一个痕迹。

  期望在团队文档中有清晰的要求,可是你应该了解开发机器上需求哪些不同的东西,这样你才干成为团队中的出产成员。一次性设置好环境来满意 95% 的需求,比你在开发进程中遇到的过错和逐步产生的依赖性的波折要好许多。

  除非你是在一个全新的团队中开端作业,并且软件还没有 编写出来,不然你将在一个已有的代码库中作业。这些代码存在于哪里?如安在本地机器上取得这些代码呢?

  期望能参加一个保证交给产品质量的团队,最常用的东西便是 CI/CD 管道。找出它的方位,并简要地了解它是怎样运转的(有或许仅仅经过点击来了解状况)。检查一下最近的一些运转状况,看看有哪些进程正在进行。

  你将在现在的状况下运用该软件,可是最好知道软件未来的状况应该是什么。快速阅读一下待办事项,看看产品的一些行将到来的优先事项是什么。

  是否存在集成环境?这个团队是否进行金丝雀构建和布置测验?这个团队是否认同混沌工程?要确认这个团队怎样保证其产品软件的出产契合特定的规范。

  这个软件是否存在随叫随到的状况?如有,轮番值勤的状况是怎样的?作业产生的频率怎样?对非作业时间有无随叫随到的要求?当我待命时,怎样告诉我呢?一般状况下,当你开端一个新的团队的时分,你不会被推到轮值,因而跟着时间的推移,你应该在开端接到电话之前就能得到这些答案。

  一般来说,软件团队中有只要一些工程师。有时每个工程师都在做一件事,但这并不典型。子项目一般是由一个或几个工程师共同完成的。了解团队中不同程序员的作业重点是很好的,这样你才会有所了解。一般状况下,跟着时间的推移,站会(Standup)会使你对这一点有个很好的知道。

  是否有每日站会?每周报到一次?了解你的新团队的“典型”一周是什么姿态的,是件功德。

  一般状况下,当你开端一个新的团队时,你应该被指使一个“入职同伴”,这个人已经在团队中,并且知道作业怎样运作。这种做法很有价值,特别是当你对新软件一窍不通(或简直不知道)时,你的问题或许十分一般。这很好,很正常,也很值得等待。关于初学者的问题,即便你是一名高级工程师,也不用感到羞耻。

  是否有产品司理?是否有一个架构师与工程师一同作业?最好了解特性要求的上游主意。乃至更好的是,组织一些时间与这个人(或几个人)触摸,以了解产品的近期和久远远景。

  他们运用 Slack 吗?团队?仍是大部分的异步交流是经过电子邮件?工程师们一般一整天都在议论问题和其他类型的评论。作为团队中的新成员,当然,你期望自己能融入这些交流途径。

  这是 GitHub 上的开源软件吗?GitHub 的议题(Issue)是咱们取得反应的方法吗?仍是有一个出售团队作为咱们从客户到产品团队的署理?是否有一个不同的支撑团队,咱们能够从中搜集常见的客户痛点?换句话说,了解咱们怎样取得用户反应十分有用:不管是经过其他渠道、人员仍是团队。究竟,咱们为用户编写软件。

  这个问题很重要。现在,不管软件有多好,客户文档都要精确、最新。什么地方能够阅读这些文档?文档是怎样坚持最新的?谁来担任呢?(期望答案是“所有人”)

  假如能够了解软件和团队正在处理的一些大问题,那就更好了。是否有一些架构问题导致了其他问题?是否存在可利用的安全漏洞?常见的客户问题是否继续呈现并需求处理?

  软件中是否有关键人物或其他团队期望看到的某些特性?一般来说,这些利益相关者会对软件的短期和长时间路线图产生严重影响。了解他们的关注点能够协助你幻想行将产生的作业。

  最好能了解软件发布给客户的频率和节奏。该团队是否每天接连布置屡次?仍是一年有两次发布?了解这种软件发布的时间表,能够让你对软件的节奏有一个很好的了解。

  关于大多数软件工程师来说,参加一个新的软件团队,从事一项新的技术作业,这是一个令人兴奋的时间!这是一个充溢学习和神秘感的年代。希望这些问题能协助你鄙人一次参加新团队的时分加快入职进程。

  Thomas Stringer,微软软件工程师,专心于 Linux、开源软件、DevOps、分布式核算、容器化和 Azure。曾在许多不同的言语和渠道作业过,现在主要是 Python、Go 和 Shell 脚本。

城市分站:主站   济南   烟台   威海   

网站地图 |