程序員加入新團隊,必須知道的 20 道問題!

不一樣的軟件開發團隊作事的風格也徹底不一樣。即便在同一家公司內,許多可變因素也會致使團隊之間出現分歧。做爲一名軟件工程師,每當與新同事合做或開發新軟件時,一般都會以爲很是興奮。但在加入新的開發團隊時,咱們須要思考一系列的問題。java

技術層面

1. 如何在本地構建軟件?

這是你應該瞭解的第一件事。畢竟,你的工做是開發和運行軟件,構建是第一步!程序員

2. 如何在本地測試軟件?

雖然咱們能夠經過 CI 流水線發現測試錯誤,可是爲了縮短內部開發循環週期,你必須可以在開發的機器上運行測試,確保你可以正確地運行測試,同時還須要執行迴歸測試。CI 流水線不該該成爲檢驗代碼錯誤的第一道關卡。面試

3. 如何設置開發環境?

也許團隊文檔中有明確的要求,但你應該瞭解須要在開發機器上安裝哪些不一樣的工具,才能讓你成爲一名高效的團隊成員。一次性解決95%的要求,總好過在開發的過程當中不斷遇到錯誤和依賴項。spring

4. 源代碼在哪裏?

除了尚未編寫任何代碼的新產品之外,一般項目都有代碼庫。你須要知道代碼保存在何處,以及如何在本地機器上獲取代碼。segmentfault

5. CI/CD 流水線在哪裏,工做方式是什麼?

對於一個可確保交付高質量產品的團隊來講,CI/CD 流水線是最經常使用的工具之一。你須要找出CI/CD流水線在哪裏,並大體瞭解它的工做方式(可能只須要處處點一點試試看)。查看一下最近的運行情況,瞭解都有哪些步驟。安全

6. 產品的待開發項在哪裏?

你不只須要知道軟件當前的情況,並且還須要瞭解軟件將來的樣子。快速瀏覽待開發項,看看產品須要優先推出的功能。架構

7. 如何在預生產以及生產環境中運行測試?

有集成環境嗎?團隊是否採用了金絲雀構建與部署?團隊是否採用了混亂測試?瞭解團隊如何確保生產軟件符合並保持特定的標準。intellij-idea

8. 是否須要隨時待命?

這個軟件是否須要隨時待命?若是須要的話,輪班機制是什麼?正常辦公時間之外是否也須要隨時待命?在待命期間,如何獲取通知?一般若是不是遇到新組建的隊伍,並被直接安排上值班任務的話,在熟悉這方面的流程以前,你不會接到緊急電話。ide

9. 內部文檔在哪裏?

團隊維護的內部文檔在哪裏?這些文檔都是如何劃分的?是最新的嗎?spring-boot

合做

10. 團隊中都有誰?負責哪方面的工做?

一般軟件團隊都有幾位工程師。有的時候,每一個工程師負責的工做都不同,但這種狀況並不常見。通常都由一個或幾個工程師共同完成一個子項目。所以,你須要瞭解團隊中每位程序員負責的工做。一般,你能夠經過早晨的例會了解他們的工做內容。

11. 團隊每週都有哪些例行會議?

天天早上都有例會嗎?仍是每週一次例行會議?你應該瞭解一下團隊每週的例行會議。

12. 遇到「新手」問題,我應該找誰?

一般在剛加入一個團隊的時候,都會給你分配一個「指導夥伴」,這我的已經在團隊待了一段時間,瞭解團隊的運做情況。這是一件很是重要的事情,尤爲是你對新軟件一無所知(或幾乎一無所知)的時候,你的問題能夠很是低級。即便你是高級工程師,在遇到「新手」問題時,也不要以爲很差意思。

13. 新功能的決定權在誰手裏?

產品有產品經理嗎?工程團隊有架構師嗎?咱們應該瞭解功能請求的上游想法。若是可以跟這我的(產品經理)約個時間,瞭解一下產品近期與長期的發展計劃就更好了。

14. 團隊的主要溝通方式是什麼?

他們使用 Slack ?仍是Teams?或者經過電子郵件溝通?工程師一般會花費大量時間探討問題和進行其餘類型的討論。固然,做爲團隊的新成員,你也但願加入這些溝通渠道。

外部因素

15. 如何得到客戶的反饋?

咱們的軟件是 GitHub 上的開源軟件嗎?咱們獲取反饋的方式經過GitHub的議題嗎?仍是說由銷售團隊爲產品團隊獲取客戶的反饋?是否還有支持團隊能夠收集客戶常常遇到的問題?換句話說,咱們必須瞭解獲取客戶反饋的方式:不管是經過其餘平臺、我的仍是團隊。畢竟,咱們是在爲客戶編寫軟件。

16. 客戶的支持協議有哪些?

是否有咱們必須遵照的 SLA?咱們必須支持哪些協議?

17. 公開/客戶文檔在哪裏?

這一點很重要。現在不管軟件自己有多麼好,咱們都須要確保客戶文檔的準確性與及時性。這些文檔在哪裏?如何保持文件及時更新?是誰的責任?(但願答案是「每一個人」)。

產品

18. 軟件有哪些高層面的痛點?

咱們必須知道軟件和團隊是否面臨一些重大問題。是否有一些因架構引起的問題?是否存在安全漏洞?是否有一些常見的客戶問題反覆出現並須要解決?

19. 利益相關者關注的焦點是什麼?

是否存在某個核心人物或其餘團隊但願看到的功能?這些利益相關者每每會對軟件的短時間和長期路線圖產生重大影響。瞭解他們關注的焦點就可讓你看清接下來的發展方向。

20. 軟件的發佈週期是什麼?

咱們必須瞭解軟件的發佈頻率以及時間。團隊是否實施連續部署,天天都部署屢次?仍是說一年只有兩次發佈?瞭解軟件的發佈日程可讓你更好地掌握軟件的開發節奏。

總結

對於大多數軟件工程師來講,加入一個新團隊與接觸一項新技術是一個激動人心的時刻!咱們須要利用這段時間抓緊學習。但願本文的這些問題可以幫助你快速地融入新團隊!

做者 | 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 重磅發佈,黑暗模式太炸了!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

以爲不錯,別忘了隨手點贊+轉發哦!

相關文章
相關標籤/搜索