還沒有入職的時候我就會想,這篇文章的標題會是怎樣,一年?兩年?更短,或者更長。塵埃落定,雖只有大半年的時間,四捨五入下,仍是寫成了一年。2016 年中,彼時還沒有畢業,也還沒有入職,耳聞一些消息,寫下了懷着被拋棄的恐懼在奮鬥中前行;如今看來,也不過是人云亦云罷了。我讀書少,卻也是發自心裏的敬佩公司和團隊;這是一個偉大的公司,有着一致的目標與堅韌的團隊,能成他人不能之事。不過其模式確實也難以複製,特別是對於初創團隊,某些優秀的特性反而會是致命毒藥。前端
入職以前,斷斷續續也有個幾年不成氣候的數十人的創業型技術團隊協調經驗,也算是帶着許多的疑問與求教的心加入;大半年下來,印象或者說感悟最深的,當屬「研發效能」與「組織氣氛」這兩個詞。不一樣公司的模式,價值觀多是大相徑庭的,我的淺見,菊場可以以其強力的目標管理與組織氣氛,磨平棱角,將不一樣能力、背景的人綁合在一塊兒,造成強大戰鬥力。而一些公司則是會更強調選擇合適的人,充分發揮我的的主觀能動性,最終造成快速突擊的能力。汝之蜜糖,彼之砒霜,不一樣背景、能力、想法的人的最佳選擇天然也是不同的,適合的場所也是不同;對於大部分普通人而言,儘可能讓本身順勢而行,莫逆流而上。git
技術人員可能會陷入本身的理想國,從四年前初創團隊開始,不斷地與真實進行磨合,認識到世界,或者說是人的多樣性。不少時候並沒有法作最好的選擇,只能作最合適的選擇;存在即有其合理性,面對現實,忠於理想,命運仍是要掌握在本身手裏。程序員
研發效能是普遍而又直觀的概念,筆者目前以該詞來度量某個研發團隊的真實價值,在下文有詳細闡述。而組織氣氛,倒是筆者以前還沒有認真考慮或面對過的;從學校裏出來,沒經歷過正規軍,可能會以爲你們天天開開心心就足夠了。與經歷過物質較爲匱乏年代的 80 後相比,對於 90 後一代管理的複雜性也在不斷增長;物質生活的相對富裕使得並不能簡單的物質激勵就能解決一切問題,咱們可能會考慮我的的興趣,考慮將來的空間等等。這也就意味着針對合適的崗位,招聘合適的人也愈發困難;纔不配位,對團隊與我的都有壓力,太多優秀則又難以安定,每每也會給團隊帶來噪音,使得難以力出一孔。從工做自己,不管喜歡或者排斥,幹好本職工做都應該是程序員的基本素養。我也看到了些許由於環境的不合適,或者指望落空致使的消極與抵抗,不利於本身,也不利於團隊。人生苦短,及時發泄,不喜歡就轉換方向,何須怨天尤人,即委屈了本身,也委屈了他人。github
時間尚短,感慨很少,本文也聊爲註腳,提醒本身莫忘所得。下文是筆者的 Awesome Coder 的導讀語,加在此處也做爲筆者對於研發效能的淺述。算法
在這個知識爆炸與終身學習/碎片化學習爲主的時代,咱們面臨的問題之一就是如何進行有效學習,不只能有效平衡廣度與深度,而且能真正的積澱下來,提高本身的研發效能。筆者我的淺論,技術能力的培養主要分爲三個方面:知識廣度,編程能力與知識深度。編程
所謂知識廣度,便是爲實際問題選擇合適的解決方案的能力,廣義來講也是眼界與格局的表現。它並不拘泥於某個技術方向或者行業領域,而須要對傳統/流行的各種語言、工具、框架、庫、服務等有必定的認識;可以明晰各個方案的優劣,並在較高的層次(High Level)描述相關原理。知識廣度的拓展與保持須要創建在龐大的閱讀量與知識沉澱能力上,筆者習慣利用碎片時間瀏覽 HN, Reddit, Medium, Twitter 來了解資訊文章,在維護 Frontend Weekly, 每週閱讀清單與前端開發週報的過程當中也不斷強迫本身去閱讀與探究。另外一方面,筆者堅決地即認爲,惟有創建符合本身認知方式的知識圖譜,纔能有效地沉澱知識,明晰知識邊界並進行不斷地探索。上車伊始,筆者即致力於構建本身的 MindMap, IT 技術圖譜與知識架構,並在數年來不斷維護與刷新;同時,筆者將平常閱讀、學習與實踐中發掘的優秀的資料,按照知識圖譜中定義的各個領域的知識體系分門別類地存放在 Awesome Links : Guide to Galaxy 中,以方便快速地檢索與查找。設計模式
知識廣度的拓展也並不是一蹴而就之事,需得按部就班,從初窺門徑,到登堂入室,最後融會貫通;筆者這幾年技術視野與能力的變遷,亦能夠參考倉庫中的 TechRoad, 技術之路系列文章。另外一方面,亂花漸欲迷人眼,太多的碎片化知識反而會令人迷失方向;此時便須要不斷閱讀 Awesome-CS-Books-Warehouse 中收錄的優秀書籍/系列。架構
所謂編程能力,其外在表現之一便是可以隨時隨地用合適的語言無阻塞地實現某些功能需求,對於常見的語法,接口,算法,設計模式等可以作到心隨意動,信手拈來。編程能力是提高研發效能的重要保障,於筆者而言也是畢生應該追求的目標與愛好之一。筆者的編程能力較弱,平常開發,特別是在多語言多框架並用的場景下,每每會須要不斷地中斷,查找以繼續工做,也是令我頗爲苦惱。筆者目前是致力於完善 Awesome Cheatsheet: 語法速覽, 實踐備忘,從零到一,上手即用,對於平常開發中用到的相關知識的備忘錄/清單進行總結, 快速掌握或者回顧某個語言/框架/工具的語法或使用要點。同時將經常使用的,有借鑑或者鍛鍊價值的代碼片,沉澱到 coding-snippets: Code Snippets, DataStructure, Algorithm and DesignPattern Implementations for Several Programming Language, Web, etc. 中。框架
所謂知識深度,便是可以對某個方面作到深刻了解,而且達到融會貫通,洞若觀火,能夠爲所欲爲地加以擴展、優化、創新等改造或變換。這方面則更加的見仁見智,不一樣的領域與方向對於深度的定義與挖掘方向也是千差萬別。筆者自知能力有限,也不敢妄加評判,根據本身淺薄的認知將常見的工程師成長路徑總結在了 RoadMap, 成長路線圖 中,此外如有興趣能夠前往筆者的 Github 筆記倉庫瀏覽指正某些領域的淺薄探究。ide
感謝,菊場;你好,將來幾年的夥伴們。