微信搜索【程序員小躍】,和你們一塊兒奔跑
Slogan:當你的才華還沒法撐起你的野心時,那應該靜下心來好好學習程序員
還記得前幾天躍哥的這篇推文嗎?《知道嗎,你和高級工程師差距巨大》這篇和你們簡單的聊了聊程序員和高級程序員的差距,目的就是爲了讓你們有一個深入的認知,而後朝着這個目標去奮鬥。面試
高級程序員確定是一部分同窗的夢想,躍哥最近常常被羣友詢問,說如何才能進大廠,如何才能和我同樣優秀,如何才能面面俱到等等這些話題,也寫了一部分本身的文。那麼,這些都是在我眼裏的所見所謂,對於遠在大洋彼岸的國外程序員,他們又是如何理解,甚至是如何走從初級到高級之路的呢。算法
就這樣,今天這篇文章應運而生。歐陽同窗經過本身的資源,找到了這篇名爲《How to Go from Junior to Senior Programmer - Level Up Coding》 的文章,翻譯成中文就是《如何從初級程序員到高級程序員》,這不就是程序員成長之路的海外版本的解讀嗎?習慣了咱們國內的 style,躍哥帶你一同感覺下他們的文風。數據庫
由於水平有限,有部分解釋的不是很清楚,還請你們見諒,想要閱讀原文, 能夠聯繫我。文中有部分產生了共鳴,我有添加本身的語錄,之後我都會盡可能有一個「躍哥語錄」的模塊,但願你們喜歡,哈哈哈哈。編程
高級程序員是一個專家,他犯了全部在他領域可能犯的錯誤。(躍哥感慨:同理能夠理解成,大公司也是一個專家,大公司遇到的問題小公司確定遇到過,因此不少資料,不少學習的內容大公司的經驗都是寶貴的經驗)微信
做者:Ravi Shankar Rajanapp
程序員能夠按經驗級別來分類,大體能夠像以下這幾類:框架
多年工做經驗真的是一個難題。它並無提到軟件開發的質量問題。這幾年你積累了多少經驗和技能呢?這就是爲何針對開發人員的求職面試是如此複雜的緣由。這是一項很難衡量的技能,所以咱們最終在面試中對開發人員進行了很困難的測試。可是這些測試其實也就是一個近似值,沒法衡量作這份工做所需的工做或專業知識。數據庫設計
(躍哥感慨:這確定引發了不少同窗的共鳴,爲何面試造航母,入職螺絲釘。是由於作技術這項工做太難了,每一個公司所須要的技能、要求、模塊、框架不必定都相同,可是底層知識,基礎知識是相通的,這部分又比較難,這樣就讓不少同窗苦惱。可是這也是企業的無奈。)工具
進而引出了下一個問題。
一旦你再也不是一個初級工程師,你何時能成爲高級工程師呢?
多年的工做經驗會自動讓你成長爲高級嗎?不存在的。
(躍哥感慨:這不就是躍哥以前強調的,不能一個工做經驗用十年的意思麼?)
以個人狀況爲例。當我仍是一個年輕的初級軟件工程師時,我覺得我什麼都知道。 我很粗魯,自大和自信。我認爲本身是「編碼的王者」。我不喜歡與他人合做,我認爲編寫出色的代碼是惟一重要的事情。
我發現我錯了。是的,編碼很重要。歸根結底,程序員必須編寫代碼。可是編寫代碼並非惟一重要的事情。
當我爲第一個客戶工做時,我很難學到這一點。我跟客戶花了「15」分鐘,收集了需求的「要點」,並假設我明確瞭解客戶的需求。我開始像個瘋子同樣瘋狂的寫代碼,享受編寫代碼的行爲。我在3天的時間內提交了申請然而被客戶立馬拒絕。由於那不是他所想要的。
結果不用說,我很憂桑。個人自尊受到傷害,並且我還責怪客戶沒有提供足夠的信息。我當時太年輕了,其實客戶永遠是對的。若是我花更多的時間分析客戶的需求,狀況可能會大不相同。我學這個很難,很難學會。
也就是說,程序員不只僅是程序員,由於他會編程。他是個程序員,由於他的工做是在開始任何事情以前分析全部的事情。必須在多個層次上進行分析。
若是您想從初級到高級開發人員,則須要培養這些分析技能,使之蛻變成一個真正優秀的高級開發人員,他以專業知識而聞名,而不是多年的經驗。
一個優秀的高級開發人員就像一個已經長大的成年人,能夠照顧本身的人。他的生活再也不是不穩定的,自發的和實驗性的。他從錯誤中吸收教訓,在生活中創造了堅實的專業基礎,他能夠回過頭來爲之驕傲。他還能夠「年輕」,但他所擁有的是豐富的實用主義和有效性,遠比他多年的實際經驗更有價值。
(躍哥感慨:躍哥平時在社羣裏也和你們聊工做經驗,寫代碼這方面的溝通。其實在程序員面前,寫代碼是最後一部分要作的事情,也是最簡單的事情。當你作過需求分析,數據庫設計,框架設計,選型等工做,寫代碼就是水到渠成的事情,只要給你時間,完成客戶要求的產品不是問題。)
下面是一些從初級程序員蛻變到高級程序員的方法
Dunning-Kruger 效應是一種認知偏見,人們認爲本身比實際更聰明、更有能力。從本質上講,低能力的人不具有識別自身能力不足所需的技能,這致使他們高估本身的能力。
(躍哥感慨:知道本身不知道,纔是正確的認識本身。就像不少人感慨那樣,一開始編程的時候,覺得本身知道的不少,可是當他越深刻學習,愈加以爲本身掌握的知識很眇小,怎麼還有這麼多的內容須要學習呢?)
做爲一個初級程序員,這無疑是一個災難的處方。你可能認爲你是一個搖滾明星程序員,什麼都知道,但事實是你知道的不多,仍然遠遠沒有達到卓越。這是一個陷阱,你須要避免陷入進入。(這裏還推薦一本書,叫《能力陷阱》)
初級程序員和高級程序員的區別在於,初級程序員認爲本身什麼都知道,高級程序員知道本身還有不少東西要學。初級程序員每每高估本身的知識和能力,沒法認識到其餘人的技能和能力水平,這就是爲何他們老是認爲本身比別人更有能力,更有知識。
正如 David Dunning 所說的那樣:
「在許多狀況下,沒能力不會讓人迷失方向、困惑或謹慎。相反,不稱職的人每每被一種不適當的自信所鼓舞,這種自信在他們看來是知識。」
Dunning 和 Kruger 認爲,隨着工做經驗的增長,過分自信一般降低到更現實的水平。隨着程序員開始深刻學習,他們意識到本身缺少知識和能力。隨着他們不斷地獲取知識,他們的專業知識不斷加強,信心水平開始再次提升。
他們提出瞭如下克服過分自信的方法。
記住,知根知底的感受是愉快的。但你須要不斷提升本身的標準。爲此,你須要更深刻地挖掘,以便更好地理解一個特定的主題。它讓你認識到還有多少東西要學。
Mark Manson 在《The Subtle Art of Not Giving a Fuck》一書中談到了保持由儘量少的定義身份的重要性。這是由於當咱們涉及到咱們的身份時——當咱們決定某些行爲或事件表明咱們做爲一我的的價值時。
簡單地說,咱們常常決定作一些事情是基於它如何知足咱們的自我或孩子氣的興奮感,而不是真正須要作一樣的事情。Manson 告訴咱們,最好的決定是當咱們把「自我」排除在決定以外時作出的,由於這是最有可能,不是「你」的問題。簡單的問問本身,「這是件好事嗎?」是的「?那就勇敢去作吧。
這也適用於程序員。事實上,大多數程序員天生就像喜鵲同樣,老是收集閃亮的東西,把它們存儲起來,尋找聯繫。若是你不知道這一現象,閃亮玩具綜合症的典型特徵是想要擁有最新的玩具,一般不考慮實際或功能的須要,或者在轉移到其餘東西以前被強烈但很是短暫的全部權所吸引。
若是你的目標是成爲一名高級程序員,你須要不惜任何代價避免這種疾病。更好的高級程序員知道何時不作什麼。他們知道從頭開始重寫一個庫只是爲了使它更可讀,或者從舊的框架切換到最新的框架並不老是好的決定。代碼的目的應該足夠清楚,以便在幾分鐘甚至幾秒鐘內掌握。瀏覽代碼應該很容易,即便沒有複雜的技巧。
關鍵不是要規避風險,而要謹慎選擇正確的戰鬥。
(躍哥感慨:因此如今你知道不少公司爲何還在使用你認知範圍內的舊技術了吧?拿Java來講,其實技術的本質都是差很少的,可是框架的封裝是有所不一樣,每一個時期都有每一個時期的優秀框架,一旦定下這個框架,並讓系統穩定起來,則後續的轉型是須要高級程序員通過層層評判才能肯定的。同理能夠用在需求分析上。)
您是否想知道「application」一詞是什麼意思?
爲何咱們在智能手機中稱這些小圖標爲applications?由於他們將給定的工做流程或算法應用於存在的問題,並幫助咱們解決咱們的需求。
也就是說,若是你要構建某些東西,那麼你確定會犯錯誤。反思你的工做並不斷地改進他會促使創新,而創新的根源在於好奇心,去發現事物是如何工做的。記住,這是在自我完善的整個週期中一個重要的阻礙。
錯誤->看法->好奇心->創新->錯誤……。重複……
若是你想繼續前進併成爲一名優秀的高級程序員,那麼你須要有瘋狂的好奇心去投入到你所作的每一件事中。好奇心是一種工具,你用得越多越好,這正是人們對一個優秀的高級程序員的指望。優秀的高級開發人員以結構化的方式引導他們的好奇心,這樣他們就可使用在危機狀況下積累的信息。
您能夠經過如下幾種方式來激發好奇心並樹立你的品牌。
一切都始於好奇。若是你很差奇的話,你最好選擇退出。正如 Albert Einstein 所說:
"I hava no special talent. I am only passionately curious."
「我沒有特別的天賦。我僅僅是出於好奇。」
躍哥在這裏還安利你們一個知識點,叫作:四象限法則,是美國管理學大師史蒂芬·柯維提出,用戶時間管理的基礎理論。他用重要和急迫兩個維度,將事項分爲四個象限:重要且緊急,重要但不緊急,不重要但緊急,不重要且不緊急。這裏衍生出了不少其餘的四象限,好比知識四象限,知識本身知道,知道本身不知道,不知道本身知道,不知道本身不知道。
利用這個四象限法則,能夠根據本身的實際狀況來很好的分析當下比較重要的事情,也能很好的分析本身所處的環境,把本身的優先級分析出來,把本身的知識點分析出來,方便本身對症下藥以便更進一步的學習,是否是很贊?
不要問躍哥爲何知道的這麼多,不要問躍哥爲何在文中有這麼多感慨,由於我今年讀的書變多了,不管從獲取知識的角度仍是消化的角度都有了一個長足的進步,惋惜從金錢的角度來看,還任重道遠,這也是比較尷尬的地方,也是我還要繼續努力的地方。
師傅領進門,修行在我的。最近分享了不少關於校招、面試、成長、翻譯的文章,你不須要每篇都看,但請你挑選適合本身的好好看,由於咱們都還在一個有無限進步的空間裏生存,咱們須要進步的點還有不少。
因此,躍哥還和你們一塊兒進步,一塊兒學習,一塊兒奔跑,來吧,少年們!