在 Web 開發的道路上,每當心力交瘁深感學海無涯時,我就會安慰自己:堅持,總有一天我會打通任督二脈(前端+後端)
事實上,這不是一篇我的心得,而僅僅是把我自己的這個問題擺出來,希望通過文字幫助梳理下。寫和想有很大的不同,寫出來後自己先讀一遍,就好像新的想法跟自己對話,想法碰撞出新的思路,修改重新寫,確實是一個幫助” 深層次 “思考、思考到底的好方法。下面的文字都是刪改 N 次後留下的終的想法,相信後期回頭來看時還會有不同的見解。一個 WordPress 網站建設 SEO 站羣前端人員的感觸!
自從踏入互聯網開發的道路 (since 2013.3), 浩瀚,日新月異的開源技術讓我這個有着學習計劃強迫症的小白經常陷入這樣的夢靨:計劃多,實施少,學不完..
今天早上看了開源上的一篇博文您是否應該成為一名全棧工程師?
其中作者給了這樣的建議:
如果想要向着全棧工程師的方向邁進,您應該掌握很多知識與技能,並且熟悉上面提到的各種組件。
此外,還要提升自己的個人溝通技能,這樣才能管理並與 前端與後端開發者實現較好的協作。
好信息是未來對於每一類 Web 開發者來説都是光明的,無論是前端、後端,還是全棧。
要堅持學習一切有價值的東西;掌握新的框架、語言與平台;並且與開發者同事及終多用户保持高效的溝通。
在這種情況下,無論世界發生什麼變化,您都會始終立於不敗之地。
OK, 學不完的互聯網技術是毋庸置疑的了,那我應該怎麼做?
個人專案/團隊專案 – 專案定位
程序設計師圈裏經常討論的” 全棧工程師 “,在我看來,先要有個前提條件,” 為什麼 “要做全棧?
(個人) 純粹為了學習實踐互聯網 [流行的新技術],那這個” 全棧工程師 “真的很難,要付出很大的時間和精力才跟得上這” 潮流 “, 基礎技能 List:
Linux/Git/Pip/Npm/Composer…
Apache/Nginx
Mysql/MongoDb/Redis..
PHP/Python/NodeJS
Javascript/jQuery/ExpressJS/AngularJS/ReactJs…
HTML/HTML5
CSS/CSS3/SAAS
瀏覽器開發工具與偵錯程序
(個人) 為了實現某個專案 (假設只是個網站),那很容易,根據專案型別和您自己的技能情況確定架構,定” 一個棧 “即可
LAMP+Bootstrap 重後端輕前端
Linux/Git/Pip/Composer…
Apache/Nginx
Mysql
PHP/Python
一天入門 Bootstrap 庫
MEAN+ThinkPHP 重前端輕後端
Linux/Git/Pip/Npm…
MongoDb/Redis..
NodeJS/PHP
Javascript/jQuery/ExpressJS/AngularJS/ReactJs…
HTML/HTML5
CSS/CSS3/SAAS
瀏覽器開發工具與偵錯程序
一天入門 ThinkPHP 框架
(團隊) 就是一個商業化的成熟專案,前後端都很重
前端工程師 [深入] 挖掘潮流的前端工具和庫,對前端高效能負責; 根據自身專案業務搭建自己的前端框架
筆者能力有限,就不列清單了
後端工程師 [深入] 研究高併發大流量以及資料效能,對後端高效能負責; 根據自身專案業務搭建自己的後端框架
筆者能力有限,就不列清單了
注意,上面列出的都是” 基礎技能 “List,要是商業化的大型專案,清單長度和技能深度都要翻個番;
當然,大型專案中,每個工程師每天做的工作其實都只是專案中的一塊業務,比如支付,那他還要去研究各個支付渠道的 api
因此,要搞清楚自己目前的工作狀況、專案狀況、業務狀況,給自己在團隊/專案中定好位。
OK,我目前的定位是…
如果定不出來,每天的學習列表都完不成,那就理所當然了
因為您的目標是凌亂的,一會想實現自己的某個想法,一會想着公司的某塊業務,一會想着朋友讓幫忙做的網站..
前端? 後端? 全棧? – 技能定位
技能定位,能在很大程度上砍掉學習清單上的一部分(我認為是小於 50% 的)
比如定位了前端,就不要去過多深究 Nginx,PHP..
反之定位了後端,就不要去深究 AngulaJS,Backbone..
定位全棧…
我也説説全棧工程師
全棧工程師的流行,在我的認知裏,主要有以下幾方面促進因素:
NodeJS 生態的流行讓一部分前端工程師 (尤其是後端通過掌握了 Node 轉前端) 自然定位自己為全棧
Bootstrap 等非常強大的前端 UI 庫讓後端工程師很容易搭建起一個 Web 系統
目前互聯網創業風行,大多數創業公司在初期專案開發階段,都會希望有一個全棧開發工程師坐鎮以節約人力成本
前後端的分家,很大程度上我認為是因為 “前端” 分了出去,並在當今多用户體驗至上的環境中佔着跟” 後端” 同等重要的地位。但另一方面,隨着日新月異的技術發展,隨着運維複雜度的提升,服務與框架都擁有自身的特性, 一個人很難掌握所有的技能。
有幾年經驗的前端,或者後端,從某一方面講,都可以自稱 “全棧”,但從更嚴格的方面,很少有人能真正做到” 與時俱進 “的” 全棧 “
還記得開始帶我入門的一個後端開發跟我説過:樣式/特效都沒必要研究,別人一個 wget 就都拿到了,專心搞後端吧。
那是 13 年初,前端應該還沒有特別火,不像現在各種招聘 H5,H5,H5…所以,可以理解,當時後端會鄙視前端。但是現在,您還敢嗎?
前端工程師無論在就業難度還是薪資方面,都壓了後端一點點。。
説道鄙視 “前端”,還有一種 “偽前端 “現象:在前端工程師人才缺口大的情況下,許多美工 UI/剛畢業參加了培訓班的,直接應聘做了” 前端 “; 不懂 linux,不懂 node,不懂 sass 的前端,説實話在二線城市如武漢,真的一抓一大把。
扯了這麼多,如果還是要定位” 全棧 “(專指下面這一種),那就要做好每天增加 3 個小時學習時間的準備吧。。。
(個人) 純粹為了學習實踐互聯網 [流行的新技術],那這個” 全棧工程師 “真的很難,要付出很大的時間和精力才跟得上這” 潮流 “, 基礎技能 List:
OK,我目前的定位是:別折騰,做一個安安靜靜的美后端吧..
堅定不移的幾個原則
這幾年的教訓,我想也是寶貴的,在今後更是要堅定不移的遵循:
think your own way, 程序設計師還是要有自己的程序設計思想
write more, 好的作家都不會惜字如金吧
run code up, 而不僅僅是敲出來
show me your project, 實踐實踐再實踐,沒有什麼方式比參與一個具體的專案更能檢驗學習的有效性
resolve it now, 遇到問題現在就解決!不能拖!不能拖!不能拖!
學習的任何語言/框架/庫,都要有一個”project” 為載體;
WordPress 網站建設認為:無論是因為想要 GET 這個技能而想出的一個 Project,還是因為有一個 IDEA 而去學習支撐 Project 的各種技能,都是 OK 的。