在北京不像夏天的五月,我在 wecatch 連發文章講述了我一個後端程式設計師的前端之路,連結在文末。回顧前端之路的變化,與其說這是因為創業而被逼的偶然,不如說這是程式人生一種必然。反思這種面對問題不得不做出選擇和行動的無奈,讓我不得不重新思考全棧的真正內涵。
全棧不是 JavaScript 通吃
自 nodejs 問世以來,全棧才真正開始風靡,因為只懂一門 JavaScript 就可以做到前後端通吃,很多 JavaScript 程式設計師都自稱是全棧,而且其中相當一部分只會 JavaScript,這樣的全棧路很窄。
全棧不是隻擁有後端和前端技能
如果前端是一座城池,後端就是一個泱泱大國,很久之前前端還有 flash、siverlight 之流,現在 html5 和 JavaScript 已經是事實上的瀏覽器霸主。與前端截然不同,後端有僅僅是語言就囊括了太多選擇:java、python、php、c#、ruby、go、erlang、scalar 等等,如果只會一個 ruby + JavaScript,或者 python + JavaScript,又或者 java + python + JavaScript ,這樣的全棧技能明顯豐富了,但是全棧絕不僅僅如此。
全棧不是要後端、前端、客戶端全殺
後端、前端、客戶端(IOS 或 Android 任意一端)都做,而且做得都專業的程式設計師非常少,這樣的程式設計師具備全棧的能力,如果願意,他也一樣能把其他技能迅速學會,其他領域的事情快速搞定,但是全棧並不是要把後端、前端、客戶端一起都做了才能是全棧。
全棧是什麼?全棧是一種能力。
全棧具有向上的態度
有多少程式設計師認為寫程式這件事情吃得就是青春飯,一旦年輕不在,寫程式碼的激情隨著工作的不斷重複以及越來越大的生活壓力漸漸消失,取而代之的只是得過且過地混日子。怎麼才算混呢?如果你現在做的事情和兩年前做的事情沒有任何區別…
劉瑜在的《送你一顆子彈》中寫道:一個人就像一支隊伍,對著自己的頭腦和心靈招兵買馬,不氣餒,有召喚,愛自由。
程式設計師就應該有這樣的心力,可以動,可以靜,能面對複雜的演算法沉吟,也能面對簡單的結構輕嘆,有處理萬千資料的能力,也有寫出優美介面的功夫。
可下五洋捉鱉,可上九天攬月,程式設計師應該就像孫猴子,追求的永遠應該是更快的演算法、更優的結構、更美的互動。
技術千變萬化,全棧需要這種向上的力量。
全棧要有快速入門的能力
以計算機技術為職業,某種程度上是很累的。這個行業最大的特點就是快速變化,新技術層出不窮,應接不暇,想要快速適應市場需求,程式設計師就必須隨時準備擴充自己的技能。
2013~2015 創業熱潮催生了很多懂前後端的程式設計師,而云計算的需求又讓懂 go 和 python 的程式設計師逐漸多起來,小團隊很容易誕生全能型程式設計師,github 不但帶來了全新的協作方式,也為程式設計師技能的快速提提供了足夠的知識儲備。
想學的和必要學的是如此之多,該怎麼辦?快速入門。
快速入門能幫助程式設計師迅速鑑別新技術的適用場景和使用範圍,並投入實際生產應用。有了快速入門的能力,面對技術的日益更新才能有恃無恐,全棧就需要這樣的能力,任何技術都可以快速掌握必要的知識並讓其發揮作用。
快速入門不是一開始就需要全面掌握,而是隻掌握了最小最必要的知識就能夠投入使用。
全棧需要很強的學習力
快速入門只是一個開始, 如何才能完全掌握一門技能或者語言,讓其為己所用,是全棧必須要具有的能力,這就需要全棧必備很強的學習力。
強大的學習力意味著全棧能夠理清一門技能的核心脈絡和細枝末節,知道有的放矢的學習而不是全盤接受,懂得如何針對自己的實際使用情況進行深入研究和投入,並且能夠及時反饋和調整學習的步伐。
全棧能夠實現強烈的自我驅動
不會等領導告訴來告知該怎麼辦,不會等事情發生了才去想怎麼辦,全棧有強烈的自我驅動和自我管理,知道要主動出擊預判問題並追尋解決之道,而不是被動地等待問題的發生。
不妥協,不將就,外界的環境和條件只是推波助瀾的作用,全棧有著原生的動力。
如果你還是一個靠別人鞭策或者條件刺激才能行動的人,全棧不是你的菜。
全棧不對自己的能力設限
現在寫前端並不意味不能寫後端,寫 java 並不意味著不能寫 go,寫後端並不意味不能寫 Android 或 IOS,全棧不會對自己應該是什麼設限,公司出於需要設立了前後端的崗,並不意味著全棧一定要用自己的能力去迎合這樣的制約,全棧是自由的,全棧能夠根據自己的興趣,自己的需要在各個領域自由遊弋。
不設限,全棧才能會有機會去開拓自己的技術視野,學習更多的技能,在這個變化多端的市場中樹立自己的競爭力。
成為全棧很難,但不是不可能,程式設計師不同於醫生、建築師這些依靠經驗積累會越來越吃香的職業,本身的可替代性比較強,如果不能樹立自己的獨特競爭力,在殘酷的市場競爭中將會逐漸被淘汰,所以要想成為不可替代的全棧,首要的是轉變自己的認知,意識到全棧對自己的真正意義,主動出擊,果斷行動,儘快踏上真正的全棧之路。
預告
下篇一起探討如何快速入門一門語言。
本文首發於 wecatch 公眾號,歡迎關注,獲取最新文章資訊