QCon全球软件开发大会8折优惠倒计时最后3天,购票立减¥1760!了解详情 >>> 了解详情
写点什么

软件工程师在加入新团队时应问的 20 个问题

Thomas Stringer

2021 年 8 月 25 日

软件工程师在加入新团队时应问的 20 个问题

各种软件开发团队做事情的方式是非常不同的。甚至在一个公司中,不同的团队可能会有很多变量。身为一名软件工程师,开始与新的人员和新的软件一起工作,这是一件令人兴奋的事情。就个人而言,我最近开始和一个新的(对我来说)软件一起工作。这不是常规或经常发生的事情,因此,我抓住这个机会,认真思考一下我近期需要学习的东西。

 

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

技术

1. 如何在本地构建软件?

 

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

 

2. 如何在本地测试软件?

 

CI 管道对于解决测试错误非常有用,但是为了缩短内部开发循环周期,你希望能够在开发的时候在自己的机器上运行测试,以确保测试是正确的,同时检查回归的情况。管道不应该是你创建或导致测试失败的第一个迹象。

 

3. 如何设置开发环境?

 

希望在团队文档中有明确的要求,但是你应该了解开发机器上需要哪些不同的工具,这样你才能成为团队中的生产成员。一次性设置好环境来满足 95% 的需求,比你在开发过程中遇到的错误和逐渐产生的依赖性的挫折要好很多。

 

4. 源代码放在哪里?

 

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

 

5. CI/CD 管道在哪里,如何运行的?

 

希望能加入一个确保交付产品质量的团队,最常用的工具就是 CI/CD 管道。找出它的位置,并简要地了解它是如何运行的(有可能只是通过点击来了解情况)。查看一下最近的一些运行情况,看看有哪些步骤正在进行。

 

6. 产品待办事项在哪里?

 

你将在目前的状态下使用该软件,但是最好知道软件未来的状态应该是什么。快速浏览一下待办事项,看看产品的一些即将到来的优先事项是什么。

 

7. 如何进行预生产和生产测试?

 

是否存在集成环境?这个团队是否进行金丝雀构建和部署测试?这个团队是否认同混沌工程?要确定这个团队如何确保其产品软件的生产符合特定的标准。

 

8. 随叫随到是什么样的?

 

这个软件是否存在随叫随到的情况?如有,轮流值班的情况是怎样的?事件发生的频率如何?对非工作时间有无随叫随到的要求?当我待命时,怎么通知我呢?通常情况下,当你开始一个新的团队的时候,你不会被推到轮值,因此随着时间的推移,你应该在开始接到电话之前就能得到这些答案。

 

9. 内部文档在哪里?

 

团队在哪里维护他们的内部文档?它是如何被分割的?是最新的吗?

合作

10. 团队中的那些人在关注什么?

 

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

 

11. 团队每周的节奏是怎样的?

 

是否有每日站会?每周签到一次?了解你的新团队的“典型”一周是什么样子的,是件好事。

 

12. 对于“初学者”的问题,我应该联系谁?

 

一般情况下,当你开始一个新的团队时,你应该被指派一个“入职伙伴”,这个人已经在团队中,而且知道事情如何运作。这种做法很有价值,特别是当你对新软件一无所知(或几乎不知道)时,你的问题可能非常普通。这很好,很正常,也很值得期待。对于初学者的问题,即使你是一名高级工程师,也不必感到羞耻。

 

13. 是谁/什么推动了新特性?

 

是否有产品经理?是否有一个架构师与工程师一起工作?最好了解特性要求的上游想法。甚至更好的是,安排一些时间与这个人(或几个人)接触,以了解产品的近期和长远前景。

 

14. 团队主要如何沟通?

 

他们使用 Slack 吗?团队?还是大部分的异步沟通是通过电子邮件?工程师们通常一整天都在谈论问题和其他类型的讨论。作为团队中的新成员,当然,你希望自己能融入这些沟通渠道。

外部

15. 我们如何获得客户反馈?

 

这是 GitHub 上的开源软件吗?GitHub 的议题(Issue)是我们获得反馈的方式吗?还是有一个销售团队作为我们从客户到产品团队的代理?是否有一个不同的支持团队,我们可以从中收集常见的客户痛点?换句话说,了解我们如何获得用户反馈非常有用:无论是通过其他平台、人员还是团队。毕竟,我们为用户编写软件。

 

16. 对我们的客户有哪些支持协议?

 

有我们必须遵守的服务级别协议吗?对于我们的用户场景,究竟支持什么?

 

17. 公共/客户文档在哪里?

 

这个问题很重要。如今,无论软件有多好,客户文档都要准确、最新。什么地方可以浏览这些文档?文档是如何保持最新的?谁来负责呢?(希望答案是“所有人”)

产品重点

18. 软件有哪些高级痛点?

 

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

 

19. 利益相关者的关注点是什么?

 

软件中是否有关键人物或其他团队希望看到的某些特性?一般来说,这些利益相关者会对软件的短期和长期路线图产生重大影响。理解他们的关注点可以帮助你想象即将发生的事情。

20. 软件的发布周期是怎样的?

 

最好能了解软件发布给客户的频率和节奏。该团队是否每天连续部署多次?还是一年有两次发布?了解这种软件发布的时间表,可以让你对软件的节奏有一个很好的了解。

总结

 

对于大多数软件工程师来说,加入一个新的软件团队,从事一项新的技术工作,这是一个令人兴奋的时刻!这是一个充满学习和神秘感的时代。但愿这些问题能帮助你在下一次加入新团队的时候加速入职过程。

 

作者介绍:

 

Thomas Stringer,微软软件工程师,专注于 Linux、开源软件、DevOps、分布式计算、容器化和 Azure。曾在许多不同的语言和平台工作过,目前主要是 Python、Go 和 Shell 脚本。

 

原文链接:


https://trstringer.com/20-questions-for-new-software-team/

2021 年 8 月 25 日 12:111

评论

发布
暂无评论
发现更多内容

凭这份阿里内部的高级面试指南,通过美团/京东等大厂Java岗面试

Crud的程序员

Java spring 编程 架构

Spring框架中一个有用的小组件:Spring Retry

Java技术那些事

Java spring 编程 程序员 8月日更

2021年7月云主机性能评测报告出炉,华为云再登榜首

博睿数据

架构实战营毕业总结

eoeoeo

架构实战营

终于有人把操作系统,网络系统,线程进程,IO模型全部总结出来了

云流

程序员 架构 面试 操作系统 计算机

从错误中成长

escray

极客时间 学习笔记 朱赟的技术管理课 8月日更

Spring Boot核心技术之Restful映射以及源码的分析

互联网架构师小马

毕业总结

Vincent

架构训练营

币安链NFT游戏系统开发区块链技术

薇電13242772558

区块链 智能合约

NFTSWAP流动性挖矿系统开发技术

薇電13O25249123

区块链 流动性挖矿

Java开发快速学习!三面蚂蚁金服成功拿到offer后,他说他累了

策划Java工程师

Java 程序员 后端

IT公司防止运维偷窥和篡改数据库的最佳武器-云堡垒机!

行云管家

数据安全 堡垒机 数据泄露

架构实战营模块3作业指导

华仔

架构实战营

博睿数据App 3.0四大新功能来袭,大幅提升App用户体验可见性

博睿数据

终于彻底搞清楚了 MySQL spin-lock 之一次CPU问题定位过程总结

互联网架构师小马

前方高能!Alibaba最新出版的JDK源码剖析手册(究极奥义版)开源

程序员改bug

Java spring 程序员 编程语言 后端

Java开发基础不牢?什么是中间件?

策划Java工程师

Java 程序员 后端

45天拿下美团Offer,狂抬阿里这本Java性能调优手册,不愧是No.1

Crud的程序员

Java 程序员 架构 编程语言

亏损、退市、卖身...区块链如何挽救影视行业?

CECBC区块链专委会

运维必经操作,TcaplusDB tcapsvr扩缩容介绍

数据人er

数据库 nosql tencentdb TcaplusDB

双非本科电子跨专业,苦学八个月,投岗阿里/滴滴后端三面,最终拿下offer

今晚早点睡

阿里巴巴 计算机 阿里巴巴面试 面试‘’ JAVA;、

Java开发前景怎么样?【Spring Boot 21

策划Java工程师

Java 程序员 后端

TCL携大屏天团领跑UDE,斩获多项创新大奖

科技热闻

区块链的兴起及其司法运用

CECBC区块链专委会

应届生怎么走Linux下C++后台服务器开发路线,工作3-5年的知识体系

Linux服务器开发

Linux C/C++ linux开发 Linux服务器开发 Linux后台开发

极狐 GitLab 探秘系列|极狐 GitLab 初探(下)

极狐GitLab

DevOps DevSecOps gitops

2021年《中国DevOps现状调查报告》正式发布!GitLab被选为使用率最高的开源软件安全类工具(内附下载链接)

极狐GitLab

Java开发基础面试题,【springcloud

策划Java工程师

Java 程序员 后端

全国首笔“区块链+闲置住宅”交易在昆山完成

CECBC区块链专委会

人工智能从业者需要掌握哪些数学知识

小术晓术

人工智能 数学

阿里内部最新、最全Java面试手册,Github上获赞70K

程序员改bug

Java 编程 程序员 编程语言

移动应用开发的下一站

移动应用开发的下一站

软件工程师在加入新团队时应问的 20 个问题-InfoQ