不一样的软件开发团队作事的风格也彻底不一样。即便在同一家公司内,许多可变因素也会致使团队之间出现分歧。做为一名软件工程师,每当与新同事合做或开发新软件时,一般都会以为很是兴奋。但在加入新的开发团队时,咱们须要思考一系列的问题。java
这是你应该了解的第一件事。毕竟,你的工做是开发和运行软件,构建是第一步!程序员
虽然咱们能够经过 CI 流水线发现测试错误,可是为了缩短内部开发循环周期,你必须可以在开发的机器上运行测试,确保你可以正确地运行测试,同时还须要执行回归测试。CI 流水线不该该成为检验代码错误的第一道关卡。面试
也许团队文档中有明确的要求,但你应该了解须要在开发机器上安装哪些不一样的工具,才能让你成为一名高效的团队成员。一次性解决95%的要求,总好过在开发的过程当中不断遇到错误和依赖项。spring
除了尚未编写任何代码的新产品之外,一般项目都有代码库。你须要知道代码保存在何处,以及如何在本地机器上获取代码。segmentfault
对于一个可确保交付高质量产品的团队来讲,CI/CD 流水线是最经常使用的工具之一。你须要找出CI/CD流水线在哪里,并大体了解它的工做方式(可能只须要处处点一点试试看)。查看一下最近的运行情况,了解都有哪些步骤。安全
你不只须要知道软件当前的情况,并且还须要了解软件将来的样子。快速浏览待开发项,看看产品须要优先推出的功能。架构
有集成环境吗?团队是否采用了金丝雀构建与部署?团队是否采用了混乱测试?了解团队如何确保生产软件符合并保持特定的标准。intellij-idea
这个软件是否须要随时待命?若是须要的话,轮班机制是什么?正常办公时间之外是否也须要随时待命?在待命期间,如何获取通知?一般若是不是遇到新组建的队伍,并被直接安排上值班任务的话,在熟悉这方面的流程以前,你不会接到紧急电话。ide
团队维护的内部文档在哪里?这些文档都是如何划分的?是最新的吗?spring-boot
一般软件团队都有几位工程师。有的时候,每一个工程师负责的工做都不同,但这种状况并不常见。通常都由一个或几个工程师共同完成一个子项目。所以,你须要了解团队中每位程序员负责的工做。一般,你能够经过早晨的例会了解他们的工做内容。
天天早上都有例会吗?仍是每周一次例行会议?你应该了解一下团队每周的例行会议。
一般在刚加入一个团队的时候,都会给你分配一个“指导伙伴”,这我的已经在团队待了一段时间,了解团队的运做情况。这是一件很是重要的事情,尤为是你对新软件一无所知(或几乎一无所知)的时候,你的问题能够很是低级。即便你是高级工程师,在遇到“新手”问题时,也不要以为很差意思。
产品有产品经理吗?工程团队有架构师吗?咱们应该了解功能请求的上游想法。若是可以跟这我的(产品经理)约个时间,了解一下产品近期与长期的发展计划就更好了。
他们使用 Slack ?仍是Teams?或者经过电子邮件沟通?工程师一般会花费大量时间探讨问题和进行其余类型的讨论。固然,做为团队的新成员,你也但愿加入这些沟通渠道。
咱们的软件是 GitHub 上的开源软件吗?咱们获取反馈的方式经过GitHub的议题吗?仍是说由销售团队为产品团队获取客户的反馈?是否还有支持团队能够收集客户常常遇到的问题?换句话说,咱们必须了解获取客户反馈的方式:不管是经过其余平台、我的仍是团队。毕竟,咱们是在为客户编写软件。
是否有咱们必须遵照的 SLA?咱们必须支持哪些协议?
这一点很重要。现在不管软件自己有多么好,咱们都须要确保客户文档的准确性与及时性。这些文档在哪里?如何保持文件及时更新?是谁的责任?(但愿答案是“每一个人”)。
咱们必须知道软件和团队是否面临一些重大问题。是否有一些因架构引起的问题?是否存在安全漏洞?是否有一些常见的客户问题反复出现并须要解决?
是否存在某个核心人物或其余团队但愿看到的功能?这些利益相关者每每会对软件的短时间和长期路线图产生重大影响。了解他们关注的焦点就可让你看清接下来的发展方向。
咱们必须了解软件的发布频率以及时间。团队是否实施连续部署,天天都部署屡次?仍是说一年只有两次发布?了解软件的发布日程可让你更好地掌握软件的开发节奏。
对于大多数软件工程师来讲,加入一个新团队与接触一项新技术是一个激动人心的时刻!咱们须要利用这段时间抓紧学习。但愿本文的这些问题可以帮助你快速地融入新团队!
做者 | Thomas Stringer
来源 | https://trstringer.com/20-que...
翻译 | 弯月 出品 | CSDN
近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2021最新版)
2.别在再满屏的 if/ else 了,试试策略模式,真香!!
3.卧槽!Java 中的 xx ≠ null 是什么新语法?
4.Spring Boot 2.5 重磅发布,黑暗模式太炸了!
以为不错,别忘了随手点赞+转发哦!