很多新手程式設計師在面對自己的崗位和職業發展的時候,都會希望能得到過來人的指引,幫助自己少走彎路,更快的成長。來自10年經驗的程式設計師的自白:
回顧過去的十年,作為乙個本科畢業生,在管理上六年公升任副總監,技術上七年半晉公升專家。雖不是發展最好的,但相對平均速度來說都是比較快的。
我總結主要的幾點是學習成長、合作共贏、總結呈現、思考前行。分享一下這些方面的體會,希望可以幫助初入網際網路行業的技術人員或發展遇到困惑的人突破和提公升自己,讓自己成為精兵再到骨幹,並進一步成長為一名強將。
10,000小時定律
我曾看過一本書,名叫《異類 不一樣的成功啟示錄》,作者對社會中那些成功人士進行了分析,書中那些被稱為異類的 計算機天才,傑出的棒球手,演奏家,無一例外都是經過了超過10,000小時的練習才達到了超乎常人的技能。
而另乙個我最喜歡故事,是關於一位做壽司的日本老人的,他便是被譽為壽司之神的小野二郎,他的壽司店數寄屋橋次郎(sukiyabashi jiro)被《公尺其林美食指南》評為三顆星的美食店,被公認為擁有世界上最好的壽司服務。而他作為全球最年長的公尺其林三星壽司大廚在88歲高齡仍然在不斷探索壽司製作之道,當然他花在壽司製作上的時間,也遠遠超過了10,000小時。
技術成長
第一階段、入門級階段(1-2年),此階段處於觀望期。抱著懷疑的態度進入這個行業,學習一門新的語言或者技能。初學者在初學時,往往也會糾結於一些在後來看來不是很緊要的問題,學的這個技術有前景嗎?會不會過時?ide用什麼?什麼語言是最好的語言?這些問題,大多都不重要,重要的是你紮實下去,把所學的這一行搞精。
第二階段、迷茫期(3-4年)。對於基本的業務開發也比較熟練,自認為自己啥也能幹了,但是工資就是上不去。有的人,因此迷茫、普通,有的人因此會產生一些積極的動力來改變。在之前,想渡過這個階段,有幾個途徑,比如說跳槽到乙個更好的公司,找到大牛,跟隨成長。比如在論壇裡活躍,結交好友。
第三個階段、成熟期(5年以上)。進入這個階段,就是高階工程師和架構師階段了。進入這個階段,已不再為語言糾結,知道啥合適用啥。也不再為完美糾結,懂重妥協、權衡的藝術。從多種門類的技術中,窺見了要義和根本。可以快速地掌握新技術,融會貫通。
錢很重要,但是生活質量比錢還重要,工作是很重要,但是家人比工作還重要。
錢 不是萬能的,但是沒錢是萬萬不能的。錢賺了,身體誇了,全送給醫院了,錢賺了,身心疲憊了,人活著為了啥?不就為了開開心心生活嘛?工作重要,但是失去了 家人的愛,失去了女朋友,失去了老婆孩子,那這個工作有啥用了?工作很容易就換了,家人是換不了的,老婆不是想換就換的,孩子不是想換就換的,連自己的家 庭都不負責的人,怎麼可能對公司負責呢?我一直是這個觀念,來面試時覺得工作更重要的,我們一般不錄取的,那太假了,或者太不懂事了。
為專案而工作
在我的經驗中,沒有什麼可以與工作於自己的專案以學習程式設計更有用的了。除了一些例外,我所知道的所有真正優秀的程式設計師都有乙個習慣就是工作於業餘專案(這也可能發生在工作中!)。有了乙個點子並試圖實現這個點子是非常具有挑戰性的。它需要很強的自律心。
對某方面的無知可能會讓你一敗塗地,因為你在這方面毫無經驗。
將複雜的東西整理成簡單的,是很難的,但是要是把複雜的搗鼓成更加複雜的,那就簡單了。
這一條適用於程式設計、設計和幾乎所有的創造領域中。我一直以來都希望自己的**能越易於理解越好。如果你的**過於複雜和晦澀,那十之**它正常工作的可能性很低。我曾非常有幸地見識到有些程式設計師費勁千辛萬苦,反而讓**更加難以捉摸了。
解決故障報告
每個開發人員都應該花時間去處理來自客戶的故障報告,並修復bug。這能讓你更好地理解客戶的意圖,明白如何使用系統,知道排除故障的難易程度,了解系統的設計情況。這也是為自己的開發成果負責的好方法。
從程式設計師向技術管理發展
其實乙個team leader的職責與project manager相像,但team leader更著重於技術開發方面,通常乙個大型專案都會有一兩個開發團隊由team leader帶領,負責開發核心部分,而其它部分分派給不同開發小組或者分派給外包公司。在網上常看到幾句話,貼切地形容了pm與tl的區別:「技術人員樂於被領導;但他們不喜歡被管理,不喜歡像牛一樣被驅趕或指揮。管理者強迫人們服從他們的命令,而領導者則會帶領他們一起工作。管理是客觀的,沒有個人感情因素,它假定被管理者沒有思想和感受,被告知要做什麼和該如何做。領導是引領、引導,它激勵人們達成目標。領導力是帶有強烈個人感**彩的,它不是你能命令的,也不是你能測量評估和測試的。」
程式設計師一年工作經驗之談
一 做好筆記 前段時間公司來了乙個據說有三年開發經驗的外包同事,由於對公司的開發環境並不熟,所有有些會來問我,但是我發現這位兄弟經常都是同乙個問題問了,過了一段時間又問,又問,後面我是有些不耐煩了,就說了句,像這些東西你可以做下筆記,有道雲筆記這個工具不錯 同乙個問題你總是問,別人會反感的,此為做好...
乙個程式設計師的成長歷程
乙個程式設計師的成長歷程 對於程式設計師的學歷,程式設計師一般要求本科畢業,有些公司對於自學的程式設計師,如果有工作經驗的話不受限制,通常測試的是程式掌握的語言技能,有些需要提供做過的專案。高階程式設計師一定要求有工作經驗,普通程式設計師可以由應屆畢業生來擔任。招聘本科生最主要注重學習能力,在於長期...
程式設計師成長的10個階段
我的程式設計師成長之路 程式設計師的成長經歷往往很相似,大部分的人走過了最前面相同的一段路,而有的人則走得更遠。總結自己這些年來的歷程,這也許能讓年輕的程式設計師少走一些彎路,成長得更快 或許更好一些,能讓大家從中得到一些啟發,早日進入優秀程式設計師的階段,實現夢想,釋放激情。第一階段,最初是在學校...