除了編寫出色的代碼之外還有未來嗎?
已發表: 2022-03-10讓我們做一個快速練習。 假設您作為開發人員從事專業工作超過五年。 你已經通過數十個項目獲得了實踐經驗,並通過學習新技術、工具和框架來保持你的技能。 您為不同的庫做出貢獻,定期重構您編寫的代碼,並定期與您的同事交換代碼審查。
但是後來有人上來問你一個你還沒來得及弄清楚的問題:十年後你在哪裡看到自己?
您可能會擔心這樣的想法,即如果您繼續沿著相同的道路前進,您將只是一個年長的開發人員,他們的代碼會更好、更快。 一些開發人員對此想法感到滿意,並且迫不及待地想繼續沿著這條路走下去。 但其他人可能會意識到,你所經歷的這種過山車式的課程和成長正在迅速轉向巡航控制模式。
一旦你覺得你完全控制了你作為開發人員的角色,你就會開始渴望做更多的事情。 不是更多相同,而是更多的個人成長。 也許有些不同。
在過去幾年的職業生涯中,我一直在尋找答案。 我有機會與許多成功的開發人員一起工作(並向他們學習),他們成功地過渡到了極具影響力的角色,並充分利用了他們的技術背景。 他們每個人都探索了一條不同的路徑,在這些路徑中,他們能夠根據自己的核心技能和互補技能之間的平衡進行有機過渡。
我們可以從這裡去哪裡?
我們可以探索一些新的道路,這些道路可以迫使我們超越自己的舒適區,同時受益於我們努力培養的技能。
作為開發人員,我們閱讀的大部分文章、編程書籍,甚至同行的建議,都是為幫助我們只專注於編寫更好的代碼而量身定制的。 除此之外,我們並沒有真正被教導如何更好地工作,或者,從更哲學的角度來看,如何發展。
我們通常不知道在實現我們開始職業生涯時為自己設定的目標之後會發生什麼,或者在我們的餘生中,除了每天編碼八小時之外,我們是否還有什麼想做的事情。 如果我們在不久的將來要做一些除了編寫代碼之外的事情,甚至低估我們對團隊的可能貢獻是很常見的。 我們不確定如何才能產生更大的影響,儘管在更具影響力的職位上肯定需要我們的觀點和技能。
聆聽行業
早在 2008 年,當我開始作為前端開發人員的職業生涯時,世界上沒有人沒有聽說過馬克扎克伯格,這位年輕的程序員在改變人們交流方式的同時成為百萬富翁。 千禧一代開始浪漫化穿著連帽衫合法致富的想法。 突然之間,幾乎我這一代的每個人都想成為一名開發人員。
現在,十多年過去了,我們開始感受到編程熱潮的真正影響。 通過今年的 Stack Overflow 調查,我們了解到超過三分之二的受訪者的專業編碼經驗不足十年。
我們可以清楚地看到,具有領導技能的經驗豐富的開發人員非常稀缺,因此現在公司必須找到創造性的方法來預定他們最優秀的人才,以便他們可以監督更多的初級開發人員並保持工作質量。 這在成長中的團隊中創建了一個有機的領導結構。
該行業繼續快速發展,我們作為開發人員的角色也是如此。 最初是程序員的董事和經理變得越來越普遍,而且公司現在正在開放更多需要開發背景的領導職位。
可以肯定地說,儘管編程被認為是下一個藍領工作,但開發人員的角色正在成長為組織內極具影響力的職位。 但是沒有書面的路線圖或經過驗證的公式來指導我們完成過渡。
我們有哪些選擇?
在我的職業生涯中,有人問我一個關於我為自己設想的未來的可怕問題。 我沒有答案。 事實上,它引發了更多我沒有想到的問題。
我已經在擔任前端負責人了,所以除了編寫代碼之外,我被賦予了越來越多的責任,這讓我想到了一個可能的未來,我可能不會在其中編程。 在不同項目中產生更大影響的可能性無疑是有吸引力的。
所以我開始研究哪些選項可能對我的未來感興趣。 我研究了一些同事成功從開發人員角色轉變為公司重要職位的道路。 大多數案例包括採取小步驟並在正確的時間出現在正確的地方。 但總的來說,他們最終都參與了這三類主要活動:
- 管理團隊和項目
帶領一群人走向偉大聽起來令人興奮,但這並不容易。 作為經驗豐富的開發人員,有許多增長選擇,包括將一組開發人員作為一個團隊管理或跨多學科團隊管理項目。 儘管這是一個非常有價值的選擇,但它需要離開鍵盤並學習委派,這對於習慣於親自解決所有問題的開發人員來說可能非常棘手。
繼續前進到一個我們可以更好地控制流程的位置,並且圍繞它的團隊很可能會導致需要犧牲我們在代碼方面習慣於擁有的控制權。 - 指導和培養人才
有多少老闆幻想著克隆他們的頂級開發人員? 在現實世界中,這仍然不太可能發生,因此聰明的老闆會做下一件最好的事情:他們建立流程,讓最精明的編碼人員可以積極地將他們的知識傳遞給他們的同事。
我們必須記住,即使一些開發人員在他們的日常工作中自然而然地這樣做,如果高級開發人員被賦予一個更正式的角色,他們可以定期分配時間來促進他們的成長,這總是更有效。團隊。 這可以通過代碼審查、研討會和與一些同事的個人評估來完成。 - 從事技術業務
經常聽到開發人員抱怨項目在出售給客戶時是如何推銷或定義的。 而且,在大多數情況下,抱怨通常為時已晚。
根據我的經驗,我發現自己在銷售期間參與開發人員的項目上工作更開心。 有一個邏輯思維的盟友在沒有其他人有線索的房間裡標記潛在的技術問題總是很棒的。
顧問和技術總監的角色在大型數字項目中至關重要。 在任何項目開始時,開發人員參與客戶研討會和起草技術文檔可能會改變項目生命週期的遊戲規則。
開發一套新工具
假設我們想要繼續成長,並想要開啟一個我們想做的不僅僅是編寫代碼的未來。 一旦我們對前進的方向有了一個想法,我們很可能還沒有為飛躍做好準備。 畢竟,我們只是專注於獲得使我們成為更好的開發人員的技能。
一旦我們意識到我們有很多東西要學,我們就需要開始學習正確的技能。 這一次會有所不同:我們不會學習新的語言、框架或庫。 我們將需要儲備過去可能並不重要但對於在這些不確定領域採取下一步措施至關重要的技能。
溝通
對於任何在任何公司工作的人來說,這都是一件輕而易舉的事。 眾所周知,溝通是任何類型組織內協作的核心。 不幸的是,多年來,程序員一直在這個領域獲得免費通行證。 尋找有邏輯思維、勤奮工作、充滿激情的人的需求使我們能夠茁壯成長,而無需真正擁有出色的溝通技巧,甚至不需要成為一個非常社交尷尬的群體。
如果我們有任何與不同團隊和客戶合作的願望,很明顯我們將不得不努力改善我們溝通的各個方面。 從現在開始,一對一的會議、演示文稿和重要的電子郵件都需要仔細打磨。
所有權
邏輯思維模式影響了我們組織工作的方式。 作為開發人員,我們通常對我們的工作從哪裡開始和結束在哪裡有一種非黑即白的感覺。 當它使我們能夠清楚地了解需要我們完成的工作時,這是積極的,但有時會阻止我們突破界限並在舒適區之外工作。
業務的首要任務是開始對我們參與的工作的所有方面擁有所有權。通過模糊定義開發人員工作結束的界限,我們能夠承擔新的責任並最終過渡到不同的角色。
領導
無論我們在職業生涯中走向何方,我們都需要隊友信任我們。 我們需要他們知道我們正朝著正確的方向前進,即使暫時還不是很清楚。
為了實現這一點,我們需要能夠證明我們的知識,我們需要對自己的決定充滿信心,我們肯定需要能夠承認我們的錯誤並迅速從中吸取教訓。
這不是一項簡單的任務,也不是您可以核對清單的事情。 只要我們希望在發展泡沫之外繼續成長,就需要我們的奉獻精神。
開始工作
一旦我們確定要在職業生涯中實現飛躍,我們就必須開始朝著正確的方向前進。 第一步是探索選項,決定你想走哪條路,看看這條路如何與你當前的角色保持一致。
您的公司是否提供了一個可以讓您成為導師或經理的空間? 你認為那裡有機會實現它,還是你認為你需要在其他地方繼續增長? 這些只是您必須問自己的一些問題,也將導致與您的一些隊友和經理進行對話。
朝著新的方向邁出一步需要付出努力,保持開放的心態,並有足夠的韌性去失敗並重試,盡可能多地嘗試。