0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件工程师加入新开发团队时需要思考的问题

深圳东裕光大 来源:CSDN 作者:Thomas Stringer 2021-08-27 10:14 次阅读

‍‍作者 | Thomas Stringer

译者 | 弯月

出品 | CSDN(ID:CSDNnews)

不同的软件开发团队做事的风格也完全不同。即使在同一家公司内,许多可变因素也会导致团队之间出现分歧。作为一名软件工程师,每当与新同事合作或开发新软件时,通常都会觉得非常兴奋。但在加入新的开发团队时,我们需要思考一系列的问题。

技术层面

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

这是你应该了解的第一件事。毕竟,你的工作是开发和运行软件,构建是第一步!

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

虽然我们可以通过 CI 流水线发现测试错误,但是为了缩短内部开发循环周期,你必须能够在开发的机器上运行测试,确保你能够正确地运行测试,同时还需要执行回归测试。CI 流水线不应该成为检验代码错误的第一道关卡。

3. 如何设置开发环境?

也许团队文档中有明确的要求,但你应该了解需要在开发机器上安装哪些不同的工具,才能让你成为一名高效的团队成员。一次性解决95%的要求,总好过在开发的过程中不断遇到错误和依赖项。

4. 源代码在哪里?

除了还没有编写任何代码的新产品以外,通常项目都有代码库。你需要知道代码保存在何处,以及如何在本地机器上获取代码。

5. CI/CD 流水线在哪里,工作方式是什么?

对于一个可确保交付高质量产品的团队来说,CI/CD 流水线是最常用的工具之一。你需要找出CI/CD流水线在哪里,并大致了解它的工作方式(可能只需要到处点一点试试看)。查看一下最近的运行状况,了解都有哪些步骤。

6. 产品的待开发项在哪里?

你不仅需要知道软件当前的状况,而且还需要了解软件未来的样子。快速浏览待开发项,看看产品需要优先推出的功能。

7. 如何在预生产以及生产环境中运行测试?

有集成环境吗?团队是否采用了金丝雀构建与部署?团队是否采用了混乱测试?了解团队如何确保生产软件符合并保持特定的标准。

8. 是否需要随时待命?

这个软件是否需要随时待命?如果需要的话,轮班机制是什么?正常办公时间以外是否也需要随时待命?在待命期间,如何获取通知?通常如果不是遇到新组建的队伍,并被直接安排上值班任务的话,在熟悉这方面的流程之前,你不会接到紧急电话。

9. 内部文档在哪里?

团队维护的内部文档在哪里?这些文档都是如何划分的?是最新的吗?

合作

10. 团队中都有谁?负责哪方面的工作?

通常软件团队都有几位工程师。有的时候,每个工程师负责的工作都不一样,但这种情况并不常见。一般都由一个或几个工程师共同完成一个子项目。因此,你需要了解团队中每位程序员负责的工作。通常,你可以通过早晨的例会了解他们的工作内容。

11. 团队每周都有哪些例行会议?

每天早上都有例会吗?还是每周一次例行会议?你应该了解一下团队每周的例行会议。

12. 遇到“新手”问题,我应该找谁?

通常在刚加入一个团队的时候,都会给你分配一个“指导伙伴”,这个人已经在团队待了一段时间,了解团队的运作状况。这是一件非常重要的事情,尤其是你对新软件一无所知(或几乎一无所知)的时候,你的问题可以非常低级。即使你是高级工程师,在遇到“新手”问题时,也不要觉得不好意思。

13. 新功能的决定权在谁手里?

产品有产品经理吗?工程团队有架构师吗?我们应该了解功能请求的上游想法。如果能够跟这个人(产品经理)约个时间,了解一下产品近期与长期的发展计划就更好了。

14. 团队的主要沟通方式是什么?

他们使用 Slack ?还是Teams?或者通过电子邮件沟通?工程师通常会花费大量时间探讨问题和进行其他类型的讨论。当然,作为团队的新成员,你也希望加入这些沟通渠道。

外部因素

15. 如何获得客户的反馈?

我们的软件是 GitHub 上的开源软件吗?我们获取反馈的方式通过GitHub的议题吗?还是说由销售团队为产品团队获取客户的反馈?是否还有支持团队可以收集客户经常遇到的问题?换句话说,我们必须了解获取客户反馈的方式:无论是通过其他平台、个人还是团队。毕竟,我们是在为客户编写软件。

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

是否有我们必须遵守的 SLA?我们必须支持哪些协议?

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

这一点很重要。如今无论软件本身有多么好,我们都需要确保客户文档的准确性与及时性。这些文档在哪里?如何保持文件及时更新?是谁的责任?(希望答案是“每个人”)。

产品

18. 软件有哪些高层面的痛点?

我们必须知道软件和团队是否面临一些重大问题。是否有一些因架构引发的问题?是否存在安全漏洞?是否有一些常见的客户问题反复出现并需要解决?

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

是否存在某个核心人物或其他团队希望看到的功能?这些利益相关者往往会对软件的短期和长期路线图产生重大影响。了解他们关注的焦点就可以让你看清接下来的发展方向。

20. 软件的发布周期是什么?

我们必须了解软件的发布频率以及时间。团队是否实施连续部署,每天都部署多次?还是说一年只有两次发布?了解软件的发布日程可以让你更好地掌握软件的开发节奏。

总结

对于大多数软件工程师来说,加入一个新团队与接触一项新技术是一个激动人心的时刻!我们需要利用这段时间抓紧学习。希望本文的这些问题能够帮助你快速地融入新团队!

原文链接:https://trstringer.com/20-questions-for-new-software-team/

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发
    +关注

    关注

    0

    文章

    343

    浏览量

    40607
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66814

原文标题:程序员加入新团队必问的 20 道问题

文章出处:【微信号:sztonyu,微信公众号:深圳东裕光大】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 383次阅读

    优秀电源工程师需要哪些必备技能?

    提升电源开发效率。电源新手在学习初期,如果实验设备不足,可以利用仿真软件进行电路模型搭建,从而快速、直观地了解电源的工作原理。2、器件参数选型参数选型时,需要工程师进行电路关键参数的计
    发表于 01-29 11:29

    为何大厂急招鸿蒙开发工程师?别有洞天

    正确看待鸿蒙不再兼容安卓版本,而大厂急招鸿蒙工程师这一举动已经是预料之中的。我们一步步来看鸿蒙是怎么发展过程的。为什么互联网大厂急招鸿蒙开发岗位? 鸿蒙的发展历程 华为历经4年,从2019年开始
    发表于 01-08 19:59

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序。
    的头像 发表于 01-03 12:31 472次阅读
    如何构建linux<b class='flag-5'>开发</b>环境和编译<b class='flag-5'>软件工程</b>、应用程序

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 237次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的

    嵌入式硬件和软件哪个好?

    这类技术都是看经验的,经验越高,那他的身价也相应变高。据统计,65%的电子产品开发企业中,嵌入式软件开发工程师团队,往往只占全公司人数的5%,但是却创造了全公司超过70%的效益。 嵌入式软件开
    发表于 12-05 15:17

    【热招】苏州,单片机工程师

    【单片机工程师】 3年及以上经验,要求有智能产品经验。 岗位职责: 1、根据MRD,与产品部等部门的需求,负责对新开发的产品进行可行性分析,主要负责分析产品的软件可实现性; 2、根据产品需求,完成
    发表于 11-28 14:02

    硬件工程师需要了解主机厂的标准吗?

    公司最近购买了GMW14082-2010通用汽车的标准,要求硬件工程师进行阅读。我有点不清楚这个标准的作用对于我们来说有什么用,里面的内容需要全部都掌握吗?还是只要知道其中一些关键点就行?
    发表于 11-23 15:03

    FPGA工程师需要具备哪些技能?

    、设计思路 FPGA芯片是开发高速数字电路设计的理想解决方案之一。FPGA芯片基于HDL的设计方法允许工程师使用高级语言进行设计。因此,FPGA工程师需要具备设计思路能力,包括分析需
    发表于 11-09 11:03

    嵌入式软件好还是硬件好?

    越高,那他的身价也相应变高。据统计,65%的电子产品开发企业中,嵌入式软件开发工程师团队,往往只占全公司人数的5%,但是却创造了全公司超过70%的效益。 嵌入式软件开发
    发表于 09-18 15:31

    Linux开发工程师是吃青春饭的吗?

    Linux开发工程师怎么样?都说程序员是吃青春饭,Linux开发工作35岁之后还能做吗? 坦白说,如果程序员在35岁的时候,“工作经验”与刚毕业的时候差别不大,则其不可替代性就不高,很难在
    发表于 08-24 09:59

    为什么嵌入式软件工程师需要掌握 Linux?

    ,都默认支持 Linux 操作系统。 可以说, 打开 Linux 这扇门,你才是合格的软件工程师 。如果不能
    的头像 发表于 07-21 18:15 1341次阅读
    为什么嵌入式<b class='flag-5'>软件工程师</b><b class='flag-5'>需要</b>掌握 Linux?

    热门推荐:硬件工程师必备工具

    硬件PCB产品顺利投产。 华秋DFM可制造性检查软件,在硬件开发流程中起到了非常关键的作用,对于广大硬件工程师来说具有很大的便利性和实用性。 华秋DFM软件下载地址(复制到电脑浏览
    发表于 06-21 10:15

    招labview工程师 (广州)

    招labview工程师1-2名,工作地点:广州天河 负责仪器设备系统软件开发工作; 协助公司已有产品软件的维护及改进; 协助模块功能调试及系统搭建; 熟悉工业常用接口RS232、USB、GPIB、TCP/IP等 薪资情况,待遇可
    发表于 06-08 18:48