無論是前端工程師,還是后端工程師,都會面臨危機。
前端工程師:
前端的端,是個非常廣泛的,目前端有 IOS,Android,Chrome,IE,小程序,未來還會有全息影像的設備、穿戴設備、人機接口等技術,最終都將歸于端內。即使你是大前端,也不可能從都到尾負責所有的終端產品的開發(fā),你一樣要和別人去配合完成自己最擅長的內容。而這些端會隨著技術的進步可能會被新的端取代,比如以前的 windows Phone,諾基亞,及正在走向衰落的 IE,那么與之對應的技術棧也將被淘汰。
要成為大前端,原來的 Web 工程師需要學習原生應用的開發(fā),移動工程師則需要進入 JavaScript 這個極為復雜的 Web 領域,除此之外,有許多前端框架層出不窮,JQuery,Bootstrap,Vue,Reac,Angular,后面還有更多 ui 框架,以有生之年逐無盡之技術,做為前端的你能學的過來么?
除了技術,大前端還需要你能更好的理解產品和用戶體驗,并與產品經理、設計師和交互體驗師進行順暢的溝通,這里面要學習的知識一點也不比技術領域少。
后端工程師:
早期的編程大概是這樣的:2000 年左右時使用 Perl 寫 CGI 程序(Perl + HTML 混合編程),后來陸續(xù)學 JavaScript、Java、C#、Python、Objective C、Go 等技術,早期的項目或產品基本上都是從前做到后,除了設計之外,從切圖、前端頁面到業(yè)務邏輯、持久化、連接池、異常、緩存、日志、集群等等,基本上都要自己參與編程或獨立實現,在那個年代,你很難以專業(yè)細分的方式運作項目,因為根本找不到那么多程序員。
現在的情況完全不一樣了,以前都是需要后端工程師或者架構師搞定的事情,現在,云計算廠商都替你搞定了。比如阿里云的虛擬主機(ECS)、數據庫(RDS)、負載均衡(SLB)、文件存儲(OSS)、Redis、CDN、日志、NAS 等服務。后端工程師可以看看云計算廠商提供的基礎服務范疇,看看有沒有覆蓋你的知識和技能領域。類似亞馬遜阿里云這樣的云計算廠商,上千的技術人員除了滿足自己系統(tǒng)的需求,其他資源都會投入到公共云的建設上,這些優(yōu)秀的工程師做出來基礎服務,無論是穩(wěn)定性還是擴展性,都會大大超過創(chuàng)業(yè)公司里幾個人搗騰出來的技術組件。而且這是一種不可逆轉的趨勢。
看到這里,你是否有種危機呢,大家都用云了,還要后端工程師干嗎?
破解之道
互聯網的高速發(fā)展需要技術上更為專業(yè)、更為精深的編程人員,所以前后端技術體系的分離,就成了大勢所趨,形成了一種“反模式”。 每個人發(fā)揮自己最強的那部分,才能做出最好的產品,每個人都生產自己最擅長的產品,并交易(合作),整個社會的經濟就會快速發(fā)展。
其實,不論是哪個技術領域,如果你想在這個領域不斷深入,還是應該把最寶貴的時間花在可遷移的技能上——那些永不過時的技能。不要被那些五花八門的框架和庫迷了眼。
那什么是永不過時的技能呢? 極客時間作者左耳朵耗子的答案非常具有參考性,就是:編程能力、架構能力和工程能力。
編程能力,就是用代碼解決問題的能力
你編程能力越強,就能解決越復雜的問題,細分之下,要有調試能力、算法、數據結構、操作系統(tǒng)原理等基礎技能的支撐,你才能解決各種麻煩的問題。
架構能力,就是掌控復雜系統(tǒng)的能力
當一個系統(tǒng)足夠復雜時,你會寫每一塊代碼、能解決每一個問題,不等于你能搞定整個系統(tǒng),這就需要架構能力。架構能力包含了一些意識,也包含認識業(yè)務建立抽象模型,還有一些常見的模式等。
工程能力,其實核心就是成事的能力
要知道,當系統(tǒng)規(guī)模越來越大時,光靠你一個人是沒辦法完成的。那如何保證幾個高手能夠互相配合好?如何保證項目里面水平最差的人不拖后腿?工程化建設往往會跨越多個業(yè)務,又如何保證質量和代碼風格呢?
這三項能力不管對于前端還是后端開發(fā)來說,可以說都是從初級、中級走向高級必須要跨越的鴻溝,也是作為一名程序員永不過時的技能。
-
工程師
+關注
關注
59文章
1565瀏覽量
68411
發(fā)布評論請先 登錄
相關推薦
評論