那些程式設計師們後知後覺的職涯經驗

2021-07-15 19:11:09 字數 4475 閱讀 6887

這幾年,當我開始作it管理工作後,反而有了更多時間,回顧自己以及從身邊更多年輕程式設計師的身上看到並體會到一些東西,而我覺得讓更多程式設計師也能夠盡早明白這些,或許對他們未來的職涯發展也會有所幫助吧!

你的薪酬與工作量無關

這第一條或許就會讓你感覺有些沮喪,但仔細想想這是不是乙個普遍的事實呢?當你大學畢業後進入一家公司,每天非常努力地工作,還時常加班,而同乙個團隊中的一些老員工看上去卻一點也不忙,更可氣的是,他們的工資可能還比你高出幾倍。此時,你的內心是否會有些許不平衡,甚至心生不滿呢?

你的薪酬其實取決於很多因素,技術能力、經驗資歷、工作量等等,但最本質的卻是,你對公司是否重要,換句話說你是否容易被取代。公司很容易找到乙個應屆畢業生,但對於那些對公司產品非常熟悉,起著關鍵作用的老員工,要替代他們,公司所需要付出的代價或是需要承擔的風險就會更高。

所以,不妨擺正心態,正確認識到自己在公司中的位置,努力修煉內功,讓自己變得越來越重要,相信你的薪資也會隨之提公升的。

盡可能持續做一件事

既然你對於公司的價值來自於你的不可替代性,那又該如何有效提公升它呢?我的建議是盡可能持續做一件事。這既指技術上的積累,也是指你能完整或較長時間參與同乙個專案、或開發乙個產品。雖然,有時候你所做的工作並非你個人所能決定,但你仍需要有意識地去主動把握那些能讓你持續積累技術或專案經驗的機會

經常有年輕程式設計師朋友向我訴說他們所遇到的一些困惑,比如覺得自己在工作中用到的技術太舊了,詢問是否應該轉向其他技術甚至轉行。或是對公司裡做的專案不感興趣,覺得沒有前途,是否應該跳槽等等。我其實總是鼓勵他們去學習更多不同的東西,比如說新的技術,框架,甚至是ui設計,但我同時也會提醒他們,技術深度以及完整專案經驗的重要性,如果你總是在跟隨那些新出現的技術和框架,那你很難在某一項技術上達到理想的深度,同樣,在乙個公司裡,如果你總是在更換專案,那你也很難提公升自己的價值。參與10個專案,不如完整參與乙個專案。持續做一件事是要你把每一件事做透、做好,而不是蜻蜓點水,淺嚐即止

唯一不變的就是變化本身

在這十幾年的工作時間裡,我唯一看到不變的恰恰是變化本身。我們使用的技術在變,軟體領域的實踐方法在變,我們所做的專案在變,公司的組織架構在變,我們自己的職位和角色在變,當然還有我們的老闆也如走馬燈般換來換去。

作為程式設計師,我們又應該如何應對這些變化呢?我想說,你很難去改變所處的環境,或是阻擋那些變化的大趨勢。你所能做的恰恰是培養自己持續學習的能力。在我之前的文章裡,曾多次提到過10,000小時定律——要成為乙個領域的專家一定要花費10,000小時以上的時間,而對於程式設計師來說,所謂的100小時定率同樣重要——花100小時學習或修煉一門新的技術,往往就能超過一般人很多。你需要提公升自己快速學習的能力,當你學得越多,往往就能夠學得越快,因為知識之間總是存在關聯性的。慢慢地,你會發現自己能夠非常從容地面對那些不斷出現的變化,甚至可以提前預判趨勢,當機會來臨時,總能成為那個有準備的人。

你的聲譽非常重要

聲譽對於乙個程式設計師來說非常重要。我看到的那些優秀的程式設計師都有乙個共同點,那就是他們在團隊和公司內部都有著良好的聲譽,而這幫助他們的職業生涯取得乙個又乙個迭代式的發展。而反觀那些缺乏聲譽的程式設計師,往往會進入到一系列的惡性迴圈之中,很難在公司中獲得發展,最終往往只能選擇跳槽。

聲譽本身與很多方面有關,但對於年輕程式設計師或是剛剛畢業的菜鳥來說,除了那些經常掛在嘴邊的誠實守信、踏實肯幹等等之外,有一點特別重要,那便是嚴謹。因為它往往能夠成為判斷乙個程式設計師是否具備優秀潛質的重要因素。嚴謹的程式設計師對於分配給自己的任務會認真理解,對於自己的產出會仔細檢查,這些都能大大減少工作中的出錯概率,給團隊或公司中的其他人留下良好的印象。你可能需要很長的時間來建立自己的聲譽,而一次因不夠嚴謹所導致的錯誤,就可能讓你徹底失去它。養成嚴謹的習慣,將使你從中受益。

理解溝通的意義

剛成為一名程式設計師時,我認為技術就是一切,只要能夠快速開發出高質量的程式,我就會有一種滿足感。因此,我很排斥與使用者溝通,對那些需求討論也很是敷衍,一心想著盡快進入開發階段。而這樣做的結果往往適得其反,使用者並不認可我對系統的設計,我也時常被要求返工,這使得我的工作效率變得很低,心情也因此一度非常低落。

改變源於我對溝通意義的重新認識,其實我們所開發的所有功能都是為了解決某些問題,或為使用者提供特定的工具。當我們沒有對問題有深入理解的時候,我們很難寫出正確的程式來,因此我們需要向使用者虛心求教,去真正理解他們所希望解決的問題,同樣,如果我們已經是某一方面的專家,我們也有責任去引導終端使用者接受我們提出的專業方案或設計。我想這才是我們需要更好地與使用者或其他關聯方溝通的目的吧。

你的左腦將是你成功的關鍵

在我之前寫的每個程式設計師都應該知道的一件事中,談到那些我們眼中非常成功的技術大牛、it高管都會出人意料地將一些非技術能力作為自己獲得成功的關鍵,比如編寫文件或做ppt的能力,演講的能力,說服他人的能力等等。我雖然並不完全贊同最優秀的程式設計師不寫**這種觀點,但我確信你的左腦將是決定你能否成功的關鍵

我所能感受到的最近一次較大的提公升,恰恰來自於自學設計。並不是說我的設計能力達到了什麼程度,而是當我學會以乙個設計者的角度去分析和解決問題時,我的思路得到了很好的擴充套件,這使得我既可以用右腦來想出那些技術方案,也可以用左腦來為使用者提供更人性化和具備聊好使用者體驗的設計方案。

你可能會問,我是一名程式設計師,我該如何鍛鍊我的左腦呢?是不是一定要學習設計或者一門樂器之類呢?完全不需要,在工作中你就可以找到很多途徑來提公升你運用左腦的能力。比如,在你編寫乙個文件或ppt時,除了內容之外,能否再多考慮一下字型和排版,讓人讀起來更加舒服呢?在你與使用者討論需求時,能否嘗試著從程式設計師思維轉換到使用者的角度來看待問題呢?在團隊內部開會時,是否能提前做些準備,多爭取在大家面前進行講演的機會呢?當你持續這麼去做以後,你會發現自己在各個方面都變得越來越好,這其中也包括了你的程式設計能力。因為,它們總是在你看不見的地方互相作用和促進的。

不要輕易說簡單或不可能

初入職場的年輕程式設計師往往不注意自己的表達,這當然是一種率真的表現,但有時候卻可能會給你減分。記得這還是08年,公司通過校招吸收了一批應屆畢業生,其中有10個被分配到了我所在的部門。其中有乙個男孩學東西很快,性格也很開朗,因此顯得特別突出,我們也都認為他是這一批應屆生中天資最好的。在一次部門會議上,部門領導有意識地詢問每乙個人,對於一些系統改造的建議和看法,而這個男孩在回答時多次用到了「***x很簡單「,」***x不可能實現「,這樣的表達。雖然我們都知道他沒有任何惡意,但很明顯他的這些看上去有些草率的回答是不恰當的,這也使他在部門領導那裡的印象分打了乙個大大的折扣,導致了後面的一些不必要的麻煩。

我舉上面這個例子並不是希望大家變得非常世故,而是提醒年輕程式設計師們不應該輕易作出那些過於絕對的判斷,盡可能去使用科學的方法進行分析和論證,然後用不易被人誤解的方式進行有效地表達,這樣你提出的觀點才能讓大家感到信服。

你不應該成為一匹獨狼

很多程式設計師會訴苦說他們遇到的產品經理、pm、設計師、使用者甚至是其他程式設計師有多麼地爛,與他們一起工作簡直像是與一群蚊子在乙個房間裡搏鬥一般,讓人感到抓狂,他們更希望能夠乙個人安安心心地程式設計。當你是一名初級程式設計師時,你的工作可能會比較單純——程式設計。然而,隨著你能力和職位的提公升,你會被賦予團隊中更加重要的角色,比如架構師、團隊負責人、專案經理等等。

如果你真的希望做出一些具有影響力的東西,光靠個人是很難實現的。你需要和團隊中不同角色的人進行合作,有時候你需要說服別人,有時候你則會被別人說服,在這期間,你可能會因為被否定,而受到挫折,這種感受讓程式設計師們有一種挫敗感,但這卻是你成長的機會。不要做一匹獨狼,學會在團隊中協作,並盡可能讓優秀的人圍繞在你身邊,這將擴充套件你的能力範圍,讓你變得更加強大。

你的能力顯而易見

我在前一家公司擔任架構師時,經常參與公司的人員招聘和年底的人員技能考核。關於如何招到一名優秀的程式設計師,我之前已經寫過文章,這裡就不詳述了,而對於個人能力的評判,我想說你的能力是顯而易見的,而這完全**於你自身的努力

那些優秀的程式設計師無時無刻都在體現他們的能力,從輕鬆地解決技術難題,到會議上提出被一致認可的解決方案,以及他們寫出的那些優雅且完善的**,這些都讓他們顯得與眾不同,彷彿是天生的優秀程式設計師。但我想說,他們其實都是那些努力並使用了正確方法的人。程式設計師的能力來自於大量的編碼實踐,以及持續學習的能力和勤於思考的習慣。任何自作聰明,不懂裝懂以及投機取巧在明眼人看來都只會是東施效颦,顯得如此微不足道。

以上這些是我今天感受到並記錄下來的東西,有些你可能覺得有所啟發,而另一些則不以為然。但我相信在閱讀的過程中,你一定會思考並得到了自己的答案,堅信那些你所堅信的東西,你會變得越來越好。

程式設計師那些事 程式設計師的迷茫?!

程式設計師從來不迷茫,迷茫的是為啥一直是程式設計師!對於乙個工作多年的程式設計師來說,自己想的是工作這麼多年,理應手到擒來,沒想到年紀越大,要學的東西越多,新東西天天有,學的學的,自己就疲乏了。有時候想做管理,徹底告別這種勞碌,可是自己明白,管理也不是這麼好幹的,沒有幾分管理經驗,怎麼幹管理呢?面試...

程式設計師的那些門檻!

第二階段 五年 五年又是區分程式設計師的第二個門檻。有些人在三年裡,除了完成工作,在空餘時間基本不會研究別的東西,這些人永遠就是個coder,年紀大一些勢必被 更年輕的人給頂替 有些人在三年裡,除了寫 之外,還熱衷於研究各種技術實現細節 看了n多好書 寫一些部落格 在github上分享技術,這些人在...

那些關於程式設計師的段子

一 程式猿問科比 你為什麼這麼成功?科比 你知道洛杉磯凌晨四點是什麼樣子嗎?程式猿 知道,一般那個時候我還在寫 怎麼了?科比 額 二 女神 你能讓這個論壇的人都吵起來,我今晚就跟你走。程式猿 php語言是最好的語言!論壇炸鍋了,各種吵架。女神 服了你了,我們走吧,你想幹啥都行。程式猿 今天不行,我一...