大家好!經過一段時間的缺席寫作之後,我回來了,試著回到正軌。我想強調的是,在這個領域分享的經驗是基於我的學術和專業經驗。因此,重要的是要記住,此處描述的內容可能僅代表現實的一小部分,不應被解釋為特定流程、程序或服務的明確公式。

我目前對我職業生涯的新階段感到非常興奮。我學到了很多東西,並想與社區分享這段旅程的一些內容。我希望這裡提供的資訊對讀者有很大的價值。

以人為本 - 軟技能的重要性

幾年前,當我第一次參加選拔過程時,我清楚地記得我經歷的幾乎無聊的步驟:HR面試,實際測試,技術負責人面試,最後是經理面試。在我擔任開發人員的職業生涯中,我參加過許多不同模型的訪談。那時候面試HR的時候總是覺得不舒服。我不太明白為什麼,心想:“如果我能達到技術測試的要求,我就已經表現出足夠的能力勝任這個職位了。”

圖片描述

當我擔任技術開發領導者時,我的職責之一是與人力資源部門(是的,就是那些我不明白參與選擇過程的原因的人)合作準備技術測試並定義技術測試從後端區域開始的兩名候選人的面試形式。我以為我已經知道後端領域的初學者開發人員應該提供什麼以及在測試中什麼會被視為差異化因素。然而,令我沒想到的是,儘管程式碼很重要,但除了專案交付之外,還出現了其他需求:**如何在溝通方面評估候選人?他們對這個職位有什麼興趣?他們所呈現的背景如何影響他們對建議職位的適合性?事實證明,這些問題和其他問題與兩位候選人提出的程式碼一樣相關,這是我在早年擔任開發人員時從未考慮過的。 **

我記得坐在會議桌前做出最終決定時,我有點驚訝地發現,關於每個候選人的技術技能的討論是如此之少。部分原因是因為他們是入門級候選人,因此他們的技術能力不會那麼發達也是可以預料的,但這不是討論的主要焦點。

然而,即使對於更高階的職缺,尤其是高階職位,考慮溝通、文件、適應性、主動性和其他經常提到的技能等技能也至關重要。除了技術技能之外,這些軟技能是基礎技能,對於該職位的成功起著決定性作用。事實上,這是我的下一個觀點。

初級和高級之間的界限(不,不是中級)。

我知道有很多關於與經驗水平相關的術語的含義和分類的討論,例如“高級”。有人說“高級是根據多年的經驗來定義的”,也有人說“在某些公司,一年後你就會獲得高級經驗”。也有人說「初級和高級沒有明顯的區別」或「高級只做程式碼審查和批准 PR」。其中一些說法很滑稽,有些則有一定道理。事實上,「高級」的概念多種多樣,我無法定義一個普遍的標準,但我可以提供一些指導,以更個性化的方式理解這種分類。

圖片描述

成為前輩不僅僅需要技術知識,儘管這無疑非常重要。真正的前輩,或至少是優秀的前輩,是能夠在程式碼和系統架構上解決複雜問題的人。保持程式碼品質、遵循良好的開發實踐以及了解專案管理知識是至關重要的方面。

關鍵的區別在於,高階人員必須能夠自主執行所有這些工作,更重要的是,能夠與來自不同層級和部門的團隊合作,以交付盡可能最好的專案。此外,真正的高階人員(或至少是最好的高階人員)不僅領導和指導團隊,而且還培養和準備其他開發人員來承擔新的職位和職責。

我第一次領導專案的經歷

當我接手第一個專案時,我的老闆知道我以前沒有領導過任何其他專案。我只是參與了開發,在與管理層的溝通方面做了一些有利於開發的事情。他問我的第一個問題是: “有多少人和什麼樣的人足以補充這個專案。”我當時不知道答案,這是一個非常複雜的問題。因為該專案僅處於大綱中,所以我們不知道堆疊、完成每個任務需要多少時間以及上面的人感興趣的其他指標。我做了一項完整的研究,以便能夠在第二天交付幾種專案管理方法:Pert,規劃撲克 我們共同選擇了最適合的方法,挑戰開始了。對於團隊的每個成員來說,最好的開發平台是什麼,最好使用什麼堆棧,系統架構將如何運作,研究市場上的其他解決方案,監控每個開發人員的水平,會議,會議和更多的會議管理

圖片描述

當我最沒有意識到的時候,我與程式碼的距離越來越遠。我的職責是提出改進建議並修復一些關鍵錯誤,以便專案能夠正常執行,或至少為開發人員的啟動提供堅實的基礎。其餘的工作包括與開發人員溝通、分配任務、監控指標,基本上,一隻眼睛盯著Asana(估計專案交付時間),另一隻眼睛盯著Meet,以確保我的麥克風沒有打開並且沒有任何不需要的東西。

結論與回顧過去──對主人的深情

我的職業生涯始於一名開發實習生,有趣的是——你可能會發現這對我來說有點矛盾——我沒有任何具體的經驗(至少沒有正式記錄在我的就業記錄中)可以將我歸類為初級員工、全職或高級開發人員。我獲得的大部分經驗來自個人專案和大學研究。這是一個漸進的過程,直到我意識到我的技能自早期以來已經有所發展。

但是,是的,我作為一名不同級別的開發人員進行了大量的工作,並且在我的職業生涯中有機會結識不同類型的高級專業人士:

  1. 這位非常有能力和高效的前輩,但不善於溝通,他解決了問題,但沒有解釋他的方法。

  2. 這位學長擅長溝通和教學,但經常因緊急任務而不堪重負,沒有時間教學。

  3. 這位資深人士熱衷於過度設計和集中技術,但他按時完成並兌現了他的承諾。

最重要的是,儘管他們有合理的缺陷(雖然這是可能的,但很難平衡需求),但所有這些專業人士都有一些有價值的東西可以教。這些經歷幫助我塑造了我的職業生涯,並讓我清楚地了解系統開發中哪些有效、哪些無效。


原文出處:https://dev.to/sampseiol1/my-first-experience-as-a-tech-lead-5g28


共有 0 則留言