經常有人發帖討論「怎麼做一個成功的程式設計師」,「如何才能成為一個優秀的程式設計師」,我並不太同意這些文章中的看法,想在這裡我想提出一些我對於程式設計師這個職業自己的想法。
和標題中寫的一樣,我的目標不是成為一個優秀或者成功的程式設計師,我想成為一個開心的程式設計師。因為程式設計師是一個工作和生活密不可分的職業只有成為一個開心的程式設計師,才能過著開心的生活。
我相信那些想讓自己或者別人成為優秀的程式設計師的人的最終目的也是能過上更開心的生活:少一點煩惱,多一點自由做自己想做的事情。
可能大家會不太同意我對開心的生活
的定義,這個沒關係,儘管把上面的定義替換成你認為能讓你開心的事情就行了,那我們是不是隻有成為優秀的程式設計師這一條路才能實現自己的目的呢?答案是NO。
我相信大家都同意程式設計師這個職業是需要一定天賦的,特別是那些站在頂端的程式設計師,至少都會有一些過人之處。
在每一個群體中優秀和不優秀都是有一定比例的,我們假定優秀程式設計師的比例是20%(著名的二八理論),再考慮一下通過自身努力從普通程式設計師晉升優秀程式設計師的比例,假設有40%的能站在優秀程式設計師的行列,這就好像優秀的程式設計師有一個60分的及格線,過了及格線你就是程式設計師,沒有過你就是普通甚至平庸的程式設計師。
不管你同意不同意,就結果來說肯定有一部分的人成不了優秀的程式設計師,如果對這些人鼓吹優秀程式設計師
理論,就會造成目光放自己夠不著的地方,連自己原本能夠做好的事情都做不好了。整天會想我怎麼才能成為一個優秀的程式設計師。
這是在我身上發生的真實的事情。在我剛走上工作崗位的時候,作為一個新手,如果我有什麼不懂的問題想問問別人的時候,我的pm就會說你應該先搜尋一下,然後記錄問題,同樣的問題決不能再犯第二次。老實說我的心裡很受打擊。
我並不是不會用搜尋引擎,而是我覺得和活生生的人討論更容易發現問題的本質,以現在的人工智慧的水平來說,搜尋引擎根本模仿不了人類複雜的思考過程,更不用說給你提成一些建設性的建議。
這種打擊把我變成一個不願意交流的程式設計師,我開始練習怎麼更高效的和搜尋引擎交流。我形成了一套自己解決問題的方法:遇到問題先找到問題的根源,拿jvm程式突然消失
為例,第一次碰到的時候我慌了手腳,通過查詢我發現我可以從jvm的日誌檔案中找到更準確的問題描述,再對問題進行第二次查詢發現是記憶體不夠,再搜尋一下怎麼調節jvm
記憶體,我終於一個人解決了實際問題。
慢慢的我成為了一個優秀的程式設計師,但是我工作的並不開心。遇到新進來的人問我遇到過的問題的時候,我在心裡會有一點鄙視他們(這種問題都解決不了),然後讓他們自己去解決問題。不僅如此,有時候和別人意見產生分歧的時候,我會經常性的情緒失控,我都不知道自己是怎麼了。
等我明白的時候我已經離開了當初的公司。獨立思考
是我當時信奉的優秀程式設計師法則
的第一條。經過了一年多的時間我自認為成為了優秀的程式設計師,但確因為缺少與領導和同事的溝通,也沒有給別人任何的幫助,所以我是一個沒有人認可的優秀的程式設計師,加上我的工資還是停留在原來的水平,我覺得是時候離開了。
慶幸的是我入職的第二家公司裡面的同事都很熱情開放,慢慢的我也喜歡上了和身邊的同事討論問題和交流看法,偶爾還會幫他們解決一些實際的問題,那種獲得別人打心底的認同的感覺確實讓人挺開心的。
更換工作之後我時常會思考上一份工作究竟失敗在哪裡?我工作上從來沒有出過差錯,更沒有什麼不良的表現,只是默默的做自己的事情,唯一不足的和別人溝通不夠。
有人的地方就有人際交往
其實我早就發現了自己人際交往能力很弱,但是每次都用程式設計師都不擅長人際交往這個藉口來搪塞自己。想要在有人的地方避開人際交往,這就是我失敗的原因。
我相信很多程式設計師都犯過這種錯誤,因為程式設計師都有著不同常人的自尊心,是一個很容易受傷的群體。不善交際,不修邊幅同樣導致了程式設計師的社會認可程度低,最終產生了一群外表光鮮,內心折磨的挨踢程式設計師。
看過不少國內外程式設計師對比的文章,我產生了一種想改變程式設計師處境的衝動(原諒我的自大)。
我做了頭腦風暴式的思考。
程式設計師加班,導致沒有時間進行社會交際。程式設計師圈子小,沒有機會認識各種各樣的群體。程式設計師愛宅,進一步縮小了活動範圍。大部分程式設計師工資不高,想交女朋友也有心無力。
我的解決辦法是做一個開心的程式設計師,做好自己的事情,不要太在意別人的看法。
程式設計師受歧視,別的行業就沒有人歧視嗎?
程式設計師加班,護士要上夜班,加班比程式設計師還頻繁。
程式設計師圈子小,當兵的圈子更小,都是男的。
很多問題除了程式設計師這個行業存在,其他行業也同樣存在,我們不能將他們太過放大化。
不是優秀的程式設計師?根本不是問題,有工作就說明是有你能做到的事情,你只要能做好自己的事情,注意身邊的人際交往,就算不是優秀的程式設計師,一樣會得到別人的認可,活的開心最重要。
祝你早日成為一個開心的程式設計師!