專註前端還是全棧?

我室友說不想當全棧的web前端不是好前端,這句話對嗎


我舉個實際的例子吧。

最近換了新公司,部門一片荒蕪,包括人,對接部門的人,系統,自己的,其他部門的系統,都沒有,從零寫起。

那麼我作為一個前端,我能做什麼呢?好像什麼也做不了?除了寫寫頁面,寫寫css,js,我什麼也做不起來,無法發力。

尷尬的是我還是個title比較高的前端…

怎麼辦呢?

在了解過一些業務需求之後,我總結出了幾個內部系統的雛形和大致技術實施方案。(我相信純前端幹不了這個)之後,針對不同技術的實施做框架或者開源工具的調研。其中包括python,php,nodejs,java的技術棧和框架。之後又和運維了解了一下之前的一些上線發布方式,之後選型了我能最快實現的一套nodejs的解決方案,和業務和技術對接方討論完可行性之後,開動編碼。

申請了測試機和資料庫,申請了產品資源(prd文檔),申請了運維資源,申請了數據挖掘的資源,我自己開動了一個nodejs主導的項目,做起了公司內部的大數據平台,廣告平台等。並且最後在招聘方向上也做了對應調整。

怎麼說呢,前端挺好,但是懂的更多,能讓你看見更大的世界,主導更多的資源,干更喜歡做的事。

ps:招前端,招nodejser,招h5前端開發。評論私聊~


先答題:客觀上,前端處於鄙視鏈較末尾位置,室友可能正在鄙視,你懂的。

但是全棧究竟是個什麼意思呢?

第一種解釋是:前後端都會

第二種解釋是:能不依賴別人/別的角色解決問題, 根據需要使用知識和語言

還有一個大前提:你必須有一門精的,什麼都會什麼都不精,按鄙視鏈來說,處於更末尾

要成為第一種意義上的全棧,對我們【前端】來說,成本最低的方式是,nodejs

而第二種就要根據情況來定了,也許只掌握一門語言/技能,甚至沒有編碼技能;也許需要學習你目前技術棧外一堆新東西

實際上第二種比較有市場和核心競爭力「面向工資編程」,但我在進行第一種,並且就是用nodejs。

問我為什麼?這就是所謂的「技術信仰」


某互聯網公司一名小全棧,當然這個title不是我自封的,招的時候職位就是這麼設定的,而且是前後端輪番『強姦』你面試的。

關於這個問題談一下自己的一點淺薄的看法。全棧這個職位的概念比較虛,界定的範圍也不好說,某些前端工程師學個nodejs會個資料庫存取數據也號稱自己全棧,某些後端工程師會個jquery實現個特效也號稱全棧,其實這些浮躁的現象讓這個稱號變得蠻不討人喜歡的。

一名全棧工程師應該是什麼樣的呢?首先基礎肯定要牢固,計算機編程基礎這是起碼的要求,不要覺得什麼編譯原理演算法對你不重要,這些訓練的是你的編程思維和解決問題的能力。其次,技術要深入,要知其然知其所以然,很多人看到新鮮的技術都去嘗試一下,但往往因為在實際工作中用不到會半途而廢,我之前也寫過python,ruby還看過golang、做過android,最終都沒能成氣候。後來總結了一下是自己沒有掌握一個良好的體系,這個體系一旦建立起來再多的語言也只是語法上的問題。第三,一專多精,這一點也是我剛來的時候領導給我講的,你必須有自己專場的一個領域,這是你的閃光點,其他方面的互補則是你的加分項,全棧要有一種『補位』意識,哪裡緊迫需要,你要能補上去。

關於一名合格前端工程師長什麼樣?這個問題前端圈最近比較活躍的很多『大牛』可以給出你答案,在此不做贅述,如果你想從這個領域深入發展,那麼你可以專職做前端,年輕的時候不要過分的去計較哪個好哪個壞,如果一開始順風順水,那麼後面的坑你早晚要踏過,你可以把前端當做你的一份工作也可以當過一個興趣,我選擇了後者,因為我不想把興趣當工作來做。

另:做前端不要被前端圈看起來各種類似高大上的概念和工具迷惑了,近幾年前端圈的變化層出不窮,無非就是讓css看起來更像一門編程語言,讓js更有條理,無非就是想讓天花板高一些,基礎最重要,基礎最重要,基礎最重要,重要的事情說三遍。

程序界的大門才剛剛打開,不要急著找自己的座位,欣賞下各路神通,也未嘗不是種好事呢,把title去掉,為自己編碼。

以上純屬扯淡~~~


反正就是擼碼,給個什麼title都一樣。只要是自己喜歡做的,都行


看成了「專註前端還是金錢?」,正準備回答「當然是金錢啦」


我發現在各種技術崗位里,前端工程師特別喜歡糾結這些玩意兒。。

「前端工程師的價值是什麼」

「前端工程師在公司如何體現自己的價值」

「前端工程師如何在產品里有話語權」

……

都是自己把自己關進小房子里,然後想我怎麼跳出這個房子呢


無所謂,前端就那些東西,你要牛B,搞兩年自己也會去搞點其他的。你要是菜,前端那些搞不定也沒精力去搞其他的。

所以,還是先把眼前需要的東西做好。


自己業內的事都沒做好還想全棧,這是作死行為。

全棧更多是"你們做的都是渣渣,還不如我自己上"的結果,而不是一開始就奔著這個目標去的。


瀉藥

是個程序員

就別老糾結什麼前端全棧的破名詞兒

圈裡某些人天天造名詞兒瞎JB忽悠菜鳥

實際上是

寫什麼代碼不是寫


如果你有能力所謂的前後全學會了,為啥不學?

前端工程師,注意重點是 工程師 這個稱呼,不是前端美工。

工作這麼多年,全套網站也干過,專職前端也干過,專職java也干過,打雜做app也弄過。 我發現其實最重要的還是,計算機組成原理,數據結構,離散數學這些現在大夥普遍看不上的東西。

不過現在是前端面試你問個冒泡排序的偽代碼實現, 都有人噴你裝逼的時代,呵呵。


1 純粹的前端,HTML+CSS+JS,只在瀏覽器里運行,天花板比較低。

2 網路和終端與前端關係特別緊密,不了解很難進一步優化代碼。

所以大多數情況下,前端最終是要變成全棧的。


想成為全棧工程師是好的,但是必須有所長,學的雜而不精並不是什麼好事情。

作為一個好的前端,去了解後台語言,可以提高自己的能力,也有利於提高工作效率。

全棧是你在學習工作中慢慢接觸慢慢學習到的,根據實際需要學習越來越多的知識。

為了全棧而全棧並沒有什麼益處,先學好某一方面,然後慢慢深入,有所擅長,比起追求一個全棧的title,到最後什麼都不精通,什麼都只會皮毛要好的多吧。


最近挖出來一個道理,不知道對不對?

一個做web開發的人,前端是來自後端的.


」一專多能「從來都是職場上的搶手貨,如果做不到,那就做「一專」,而不要做沒有一專的」多能「,「啥都會做」其實就是「啥都不會做」。


來我司面試,號稱全棧的基本上都被鋸掉。真不是歧視,基礎太差了。


嘖嘖,你們沒讀出題主的潛台詞。

這個問題的背後,我估摸著是這麼一個故事。(如果猜錯了,你們就當段子看,別打我~~)

相信大家都有這樣的經驗呀,聊天的時候並不是想證明『我的觀點』是對的,而只想證明『我是對的』。我相信題主的室友要是真是全棧大神,就不會說這樣的話了。而現實是,室友說『不懂全棧你搞個毛線啊』,題主想想竟無言反駁。所以這個問題並不是『青菜更好還是青菜蘿蔔套餐更好』,而是『如何反駁室友青菜蘿蔔套餐比青菜更好』!

所以,這個問題的正解是,你看人家 大漠 老師 CSS 登峰造極,JavaScript 不會都能這麼牛!


你室友算哪根蔥?


覺得原來的回答太草率了。

什麼是全棧?拿node這樣的和js同樣語法的語言,能寫一個文件上傳就算是全棧么?能寫php的前端算全棧么?還是能拿某些mvc框架湊湊合合搭起來的算全棧?還是說輕鬆切換語言,拿什麼都能寫點像樣的東西,寫個mvc框架只需要看完語法後對著api?

我覺得全棧,就是那些會點後端的前端自我安慰的話。

本來就沒什麼全棧,就像本來就沒什麼前端。

給自己畫個圈,然後死守在圈裡面,其實沒什麼意義吧。

都是程序員,寫什麼不是寫。您說對么?

//原答案

所以,前端水平好點,別的語言就都不能玩了,是吧…


全面了解整個web,對前端開發是很有幫助的。

我之前一直是寫web前端的,也包括Hybrid的解決方案,基本上都是前後端完全分離獨立開發的,就像安卓和iOS。

後來開始寫python,其實python還是比較容易上手的,剛開始只是寫一些簡單的api。

後面做新產品佐佑https://www.zuoyou.ren/ 時,開始做整個服務端和web端。

這時候就對整個web開發了解的比較全面了,已經不再是前後端分離,而是前後端融合(當然這樣有優缺點,這裡不討論),模板部分由服務端渲染、服務端路由。

然後開始了解http,比如通過Etag觸發304;

然後redis和celery來做非同步和定時任務,便於做推送和統計;

在基本的web service了解過後,開始了解一些原理,比如sid的生成與生命周期、負載均衡等。

然後使用大量的第三方庫,比如requests,才知道爬蟲是這麼玩的。

等等吧.....

在服務端這麼玩了一圈之後,對web開發的理解已經與停留在前端時完全不一樣了。

前後端相輔相成、對數據的構造和解析更加合理規範、在兩個世界之間無障礙的暢遊,這才是web全棧的意義和價值。


1、大多數人學好一個領域已經是一個優秀的人了。(天才除外,我非天才)

2、假如你已經是一個優秀的人了,那你應該已經養成,能使自己變得更加優秀的學習習慣以及思維方式。

=====

先學好一門,有點透的感覺後,再去想自己到底想要什麼,那時候的你,比現在的你,更加清楚自己想要什麼。

知己者莫如己。


推薦閱讀:

當前主流HTML5的網頁是否依然是以DIV + CSS為基礎開發的?
像「class="btn btn-large btn-block btn-primary"」這樣的 CSS 使用風格好嗎?
前端開發中如何做到頁面安全,防止 xss ,csrf 這樣的欺騙及偽造?
hexo怎麼添加留言板?
純前端如何抵禦CSRF攻擊?

TAG:前端開發 | HTML5 |