作為一名網際網路從業者、世界第一人稱觀察員,我對於這個行業最大的感觸就是:不能停止學習。每時每刻都在世界某個角落裡上演著技術變革和更新,默無聲息,或者來勢洶洶。
印象最為深刻的是,在畢業生校園招聘的過程中,面試官問到的問題是 「相容 ie 6/7/8 的 css 樣式 hack 寫法是什麼?」,「什麼是標籤語義化,語義化的標籤有什麼作用?」… 現在回想起來,這些問題都非常的有年代感,而且也極具農業時代氣息。那時候大家通過 rss 來關注行業的更新,一提到前端,多數人腦海裡面的概念就是div + css
,ie 是大家最主要的戰場, css3 和 html5 仍然是非常烏托邦的詞語。
這些年來前端技術棧層出不窮,前端的範圍也越來越廣泛,需要掌握的技能也越來越多。整個行業技術的迭代,我們是見證者,也是受益者。我們學習新的技術,創造出富有想象力的產品,並且為行業帶來更新的技術,不斷在這樣的過程中充實和提高自己,並且也推動著行業不斷向前。
成長向來都不是一件容易的事情。
在學校的時候,學校會制定每學期的課程計畫,每堂課後都有對應的作業和練習,在學期結束的時候通過測試來檢查學習的成果,用成績單上的 s/a/b/c 量化知識和技能掌握的程度。
等到進入公司或者團隊工作之後,似乎發生了很大的變化:沒有統一的學習計畫,沒有定期的作業和練習,也沒有人督促學習,更沒有考試來檢驗。
隨著工齡的增長,時間不知不覺地流逝,一切都毫無原因,也沒有停下來的意思。
我曾經跟年輕的同事們一起聊進入公司後的狀態,當我問到:「你覺得你在公司的這幾年裡面,你成長了嗎?」,曾經有人像突然被一陣惶恐擊中,陷入一種驚愕的回憶。
「我也不知道,我每天都在做專案的需求。回想起來,好像也沒學到什麼厲害的新技術,也沒有做出什麼特別的貢獻。反正,每天就是在做需求,但需求裡面的東西,都是很平常很簡單的。」進入工作的新人貌似總有一些會陷入這樣的困惑,似乎每天的工作都被需求安排的滿滿當當,也少有專門的時間去學習什麼,所以一回憶起來心慌地發現,好像真的沒怎麼成長。但我覺得這應該是對成長概念的誤解,那到底怎麼才算是成長了呢?
成長是析出結晶的過程,這些結晶就是知識。
知識是對某乙個事物、方法或者形態系統化的認識,這些認識是通過不斷地學習和使用、深入思考和對比之後總結出來的。朋友圈、微博 timeline **現的不是知識,只能算是資訊。因為它們是片面的、碎片化的、不成體系的,只有把很多同一類相關的資訊系統地整理出來,並且能為特定的目的而使用,才能變成知識。
看書、上課是最系統地學習知識的方式,總結、運用和思考是產生知識必經的過程。
我們每天的工作看似重複並且沒有難度,本身就是對工作所用的技能熟練的結果。對所掌握的技能如此熟練的根本,是我們對這些技能有清晰的了解和靈活的運用,當我們把這些內容以結構化的形式思考和總結,便是成長最重要的一步。
(如果手上的工作真的一直處於沒有難度的狀態,應當盡快跟上級溝通和反饋,尋找更加有挑戰的工作)
在我看來,成長的途徑就是知識累積和創造的過程。
第一類知識是現在世界上本身就有的,我們只管學習就夠,各門已經存在的科學:經濟學、建築學、醫學、管理學等等,它們已經非常非常的系統,並且被不斷優化到目前最合理的狀態。
我們生活在迄今為止最為輝煌的時代,幾千年人類文明的結晶留下成千上萬的學科和領域(儘管有很多很多是最近這些年才出現的),我們有最為便捷的網際網路和其他知識傳播方式,所有的知識都觸手可及。
學習最系統的方法是按照乙個架構從淺入深地完整認識一項事物。隨便翻開一本書的目錄,目錄反映了它的知識體系,從此可以了解它的結構是怎樣的,由哪些部分組成,這些部分又是如何關聯在一起的。對整個知識體系有簡單的概念之後,開始學習,並且邊學習邊思考。
對這類現有的知識,僅僅「學習了」是遠遠不夠的,最重要的環節是思考和運用,並且能夠舉一反三。
「紙上談兵」絕對適用任何的學科,網際網路行業的知識和技術更加強調的是實踐。對於知識的敬意體現在日常的工作中,能把學習的成果在最合適的地方最恰當的時機展示出來,不僅能給工作效率和質量帶來提公升,而且能將學習的內容得以鞏固。
另一類知識可能是在我們了解到的世界中並沒有形成的,這樣的場景很多。世界萬物太複雜了,我們所說到的「學科」都是相當粗略的分類,實際上在每個學科下面都有很多細分的場景。比如 「電腦科學」 這個大的學科中有 「軟體工程「 、「網路工程」、「計算機硬體」等,而在 「軟體工程」 中有 「前端開發」、「後台開發」, 在 「前端開發」 中包含 「web 前端開發」、「mac 前端開發」等…
單單 「web 前端開發」 下的知識體系就足夠龐大了,而每乙個具體的場景和技巧可能不夠撐起一門學科,但是仍然能夠用乙個結構化的框架來描述和傳播。比如說 「web前端開發」 中乙個常見的場景 「編寫**的規範」,它無時無刻不體現在每個人的工作裡。但是如果不把整個關於**規範的技巧結構化,他們仍然是分散的碎片化的在每個人的習慣中,無法交流,也無法傳播。當嘗試著這麼去做之後,便可以看到「編碼規範」的知識體系,比如:
這就是析出結晶的過程,儘管這個結果不一定完全正確,但是只有經過系統化提煉的經驗,才是可以互相交流和學習的。在總結提煉過程中,必須對以往的工作進行系統的回顧和深度的思考,這也非常有效地避免做了很多的需求之後什麼也沒留下的問題。
平日的工作看似簡單重複,但可以深度總結的場景很多,比如可以試著從下面的角度來思考:
困難的事情
新鮮的事情
比如,在和設計師對於經常修改字型大小、顏色、間距等瑣碎重複的事情中,
a). 找到重複的經驗:使用更加高效的頁面元件和樣式架構
b). 思考重複的原因:設計師在對整體系統設計方案的實施中缺少統一的準則和規範
c). 解決重複的途徑:與設計師協商制定符合專案標準的設計規範,統一前端和設計的通用設計語言,在專案中推行 design system。
對於重複的工作,一方面要總結重複帶來的經驗,而另一方面還要保持警惕是否在重複上浪費了過多的時間。
無論是重複的工作還是困難的工作,都蘊含著成長所需要的材料,總結和思考,並將這些經歷結構化和系統化地提煉,才是析出結晶的唯一方式。(就像碳原子必須以完美的正八面體結構聚集在一起,才能變成珍貴的鑽石)
在全球人類智慧型的共同努力下,作為這個世界最為新鮮和熱情的行業,網際網路的發展速度愈來愈快,保持學習和思考,用最系統的方式去學習知識,並且用自己的實踐和思考產出新的觀點,不斷學習,不斷析出,和這個世界一起成長。
心靈的印記
在平凡的生活中,我們總是在不經意間就會回頭看看自己的曾經與過去。回顧過去走過的歲月,發現 我們總在得與失之間掙扎。無論幹什麼,我們總是希望自己能一帆風順,盡量避免成功路上的坎坷與不應有的意外。這麼多年的奔波,這麼多年的人生經歷,終於有了一點點發自心靈深處的對人生的感悟 一 真正的機會經常藏匿在看來並...
c印記 五 陣列
所謂陣列,就是相同資料型別的元素按一定順序排列的集合,就是把有限個型別相同的變數用乙個名字命名,然後用編號區分他們的變數的集合,這個名字稱為陣列名,編號稱為下標。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。在c語言中陣列屬於構造資料型別。它的特點是 陣列內部的元素都是同一...
《雨的印記》經典的鋼琴曲
kiss the rain 中文翻譯成 雨的印記 出自南韓最擅長描會愛情的 家yiruma之手,寫這首歌的時候,是在乙個星星滿天的夜晚,忽然間一場雨,讓yiruma有感而發寫下kiss the rain這首曲子。24歲的鋼琴家與作曲家 yiruma,在南韓出生英國長大。曾就學於英國倫敦 the pu...