Re: [請益] web前後端的選擇

作者: stillboy (joey)   2019-12-16 15:29:03
我自己full stack 對兩端都有粗淺的了解

看到這麼多前端的hater就覺得無奈QQ
你不懂前端 你要說啊! bro
客觀來說好了 台灣的後端??
除了幾家走出國際的大數據公司 or 本來就是國際大公司
有多少公司的後端達到C10K的等級? (新手不知道的 請自行Google)
據上個月vpon座談 如果我沒記錯 最複雜的子系統 qps約6000~7000左右吧?
// 澄清一下R 並沒有說vpon目前的架構 無法處理C10K的問題喔
// 同場加印 "江蕙演唱會搶票造成系統掛掉"的事情分析 by jserv
// https://www.slideshare.net/jserv/ticket-vending
// 各位看官自行評論吧
如果連C10K都沒有的話 這種規模和複雜度就不要拿出來嘴惹
如果是大陸的一二線軟體公司的後端 C100K C1000K都有
這種後端 我舉雙腳和雙手贊成 如果是台灣的
台灣 除了少數的公司 其他去了 就算年資10年 最後還是領低薪
解決問題的scale就在那裡 ..你解決問題的等級多高 薪水就多高
領底薪也是合情合理
然後
順便釐清一下
真正的前端 跟 美術
一 點 關 係 都 沒 有
說有關係的 大概還停留在dreamweaver 和 fontpage的時代吧
或 所待個公司和產業 太過老舊.
在現代
美術和體驗的職位 叫做『UI/UX』 看公司大小 有些公司例如Google
會再細分 叫做 UX researcher 這種相關職等的人 會跟工程的人有許多討論。
前端在近10年來因為硬體日新月異 導致client端能做的事情變爆幹多
原本的架構是後端處理所有的事情 client端收到資料 顯示出來
but 現在可能一個頁面有幾百個api的需求 加上行動裝置的出現
導致原本back-end request數量變超級大
比較爛的解法當然就是直接買更多機器 但成本會變很高
所以 有人想 既然前端硬體效能變好 那為啥不好好利用前端?
所以前後端分離出現了 也就是所謂的SPA 之後為了改善SEO and initial loading slow
的問題 又走到了 進階版的server-side rendering 但是 based on SPA.
走到這個SPA level之後 前端有自己的server 後端也有自己的server
因為這樣的配置 導致後端的工作量大為減少 而把這些工作量丟給client端
從而後端可以handle更多的工作量
所以為啥會看到 有些前端職位的需求要會redis node.js nginx
but 這只適用於不需要太複雜的情況 複雜一點的情況的client server
還是需要考群以及分散式的需求 這樣的話 可能還是會由後端來處理。
而此時的前端基本上就變成應用程式軟體一樣
需要什麼資料跟後端要 要回來自己處理
同時也要效能 安全性 兼容性 design pattern 也是不容忽視的一環
所以說 為啥前端有些你看徵才文 薪水不比後端差
就是因為前端 早就不是以前的前端了
最後總結一下
走到極端的後端 VS 極端的前端
論複雜度 毫無疑問 後端屌打前端
但前提是 產品的scale要很大 (例如server的數量及至少至少要 > 50)
且 有很多real-time和巨量的數據的issues需要處理
這種架構以上都是分散式或微服務 跨區以上的等級
需要處理很多race condition/一致性/...等 複雜的問題
而一堆公司的後端常常會包含DBA 那就更複雜
如何取捨該功能是使用sql or nosql 並且對sql or nodql底層原理有通盤的了解
但台灣走到這種scale的軟體公司 屈指可數
所以如果要在台灣工作的話 選自己爽的比較重要
什麼叫做自己爽? 有些人天生喜歡面對client 喜歡面對畫面
有些人喜歡always面對程式碼 有些人喜歡自己寫一些web or app應用來玩
只要你在任何一端強的話 薪水早就不會是什麼大問題了
當然普遍來說 後端天花板會比較高
最後 不建議新手 走什麼full-stack拉
full-stack 要顧 前後端 devops 然後五年後 全部都半桶水(半桶水其實是很高估)
很多事情欲速則不達 full-stack代表你要做的事情就是爆幹多
根本沒時間反芻 根本沒時間好好理解原理 基礎根基根本就不穩
比較好的path是你先走任何一端5~7年以上 再走任外一端5~7年以上
先把一端的基礎好好打好 念熟 到講一堆觀念 就像吃飯喝水一樣的解釋給旁人聽
當然一個最重要的前提是 你們公司做的產品是很有挑戰性的
所謂有挑戰性就是 後端至少朝C10K 甚至C100K走
前端 朝做tool走 而不是一直在那邊單純無腦刻畫面
而不是 product的 level一直在 0~1 1~10打轉
在這種有挑戰的公司各呆至少五年 我想 應該可以自稱 junior full-stack惹
看到一堆人 寫沒幾年 react+node.js+mongoDB就自稱full-stack
問他為什麼是node.js 為什麼mongoDB 也說不出個所以然
也是沒錯 大概是產品scale < 100 簡單應用的 full-stack . 也沒啥問題!
好拉 講太多惹 大概是這樣
作者: highland (海蘭德)   2019-12-16 15:56:00
這篇 清新 專業 必須推
作者: plsmaop (plsmaop)   2019-12-16 16:05:00
台鐵跟 KKTIX 有 c100k ㄅ
作者: MOONY135 (談無慾)   2019-12-16 16:44:00
現在全端其實是好聽...實際上就是東一點西一點
作者: vi000246 (Vi)   2019-12-16 16:55:00
專業推 前後端的天花板都很難達到選自己喜歡的就好
作者: DCTmaybe (竹竹人)   2019-12-16 16:59:00
前端真的跟美術沒什麼關係,推推
作者: tangblack (Cola)   2019-12-16 17:15:00
符合我能看到的狀況
作者: GLaDOS1105 (HAHAHA)   2019-12-16 17:19:00
推這篇
作者: brianwu1201 (bunny29)   2019-12-16 17:20:00
專業
作者: johnny4753 (Li)   2019-12-16 17:25:00
你也太認真了,就文人相輕阿,這問題其實跟白人歧視黑人有87分像
作者: oneword416 (oneword)   2019-12-16 17:26:00
作者: BignoZe (BignoZe)   2019-12-16 17:26:00
有分享有推 不過跟我理解滿大差異的的 做個記號有空來補文
作者: pig2014 (Rocking Man)   2019-12-16 17:29:00
你讓我射出來了
作者: SmallpTsai (Smallp Tsai)   2019-12-16 17:48:00
推這篇
作者: a90100 (能)   2019-12-16 17:50:00
請問前端朝 tool 走是什麼意思啊?
作者: mrmoneyc (mrmoneyc)   2019-12-16 18:09:00
C100K 的話,KKTIX 有喔… 現正缺隊友(招手
作者: y3226999 (Misaki)   2019-12-16 18:12:00
作者: m3gl4a (m3gl4)   2019-12-16 18:28:00
推 前端還是常常遇到要處理畫面給人看,每個人觀感不同就讓一格畫面調兩三次
作者: alihue (wanda wanda)   2019-12-16 18:29:00
後端又不只有 c10k 問題
作者: sharku (明珠求瑕)   2019-12-16 18:37:00
作者: shaomi (kerker)   2019-12-16 19:47:00
推 獲益良多
作者: LERICAL (統二布丁)   2019-12-16 20:04:00
作者: x000032001 (版廢了該走了)   2019-12-16 20:13:00
C10K已經是10年前的事了 安安你聽過SLA嗎
作者: max533 (向陽花)   2019-12-16 22:11:00
專業,推推
作者: invidia (莎莉竟然會飛)   2019-12-16 22:15:00
感謝分享
作者: jj0321 (JJ與你倒數唷)   2019-12-16 22:45:00
痛哭流涕
作者: shieldsky (Gray wolf)   2019-12-16 23:03:00
感謝分享
作者: bheegrl   2019-12-16 23:18:00
作者: LinuxKernel (Linus Torvalds)   2019-12-17 00:02:00
台灣九成後端=CRUD工程師
作者: pika377 (吞拿罐)   2019-12-17 00:22:00
讚感恩分享
作者: bomin0624 (Bomin_IMBLP)   2019-12-17 06:03:00
作者: twgamerave (北極星)   2019-12-17 07:19:00
推這篇,台灣一堆工程師相輕真的挺白痴的
作者: yujufang (yuju)   2019-12-17 07:35:00
作者: cloudskyblue (cloud_skyblue)   2019-12-17 07:48:00
推這篇 歷程跟理解都跟你一樣fullstack就是會亂凹你負責不相干東西的意思到最後什麼都學不好
作者: lk2986706we   2019-12-17 08:19:00
說前端要設計很簡單跟說後端不就撈資料庫一樣
作者: sppqre (山中練腦殘)   2019-12-17 08:25:00
推 選自己爽的領域比較重要
作者: chialin7 (6+0)   2019-12-17 10:58:00
好文!
作者: zased (我只是上PTT查資料)   2019-12-17 11:38:00
是不是有些以管窺天了 屈指可數...?你真的走訪過每間企業
作者: nfsong (圖書館我來了)   2019-12-17 16:30:00
作者: alihue (wanda wanda)   2019-12-17 18:16:00
以管窺天沒錯啊,常見的電信商,廣告商,電商不管qps或要處理的log量都很大,更別說很多你沒聽過但技術量也很高的公司或博弈
作者: LinuxKernel (Linus Torvalds)   2019-12-17 19:13:00
看來有後端很氣喔XD
作者: viper9709 (阿達)   2019-12-17 21:35:00
推這篇~原來是這樣
作者: marc47 (思樂冰)   2019-12-18 01:29:00
推這篇,別求一人full stack,分工就大家腦力激盪才能做出有競爭力的產品
作者: b85040312 (萬年newman)   2019-12-18 08:22:00
感謝 這篇的內容可以解我一大部分的疑惑了,另外我想問問要怎樣分得出來一間公司是把前端當成專門寫畫面的還是當成專門作功能的,因為我最近面試一直都碰到強調畫面的,然後就被電的很慘,但是我注重的不是畫面那個方向。還是說新手向的公司可能比較少這一種的工作呢
作者: vi000246 (Vi)   2019-12-18 09:09:00
可以問問他們有沒有專做美術的設計師
作者: superpandal   2019-12-18 10:42:00
全端也是可以 只要你有能力自己做較底層的 但台商給不起高薪 業界大部分的派系都是用框架 所以會做人的贏反正我有方法解決 看我願不願意而已業界很煩的 派系內還有再細分
作者: b85040312 (萬年newman)   2019-12-18 12:50:00
@vi000246 你意思是說在約面試的時候先問他們嗎?super 說的是鄙視鏈嗎?
作者: jim7434 (敬)   2019-12-18 13:04:00
台灣很少 C10K 的公司? 科科,你覺得是就是吧...後端工程師也不是每個系統都需要考量 C10K 以上的問題吧
作者: s106667 (PHPJQJS)   2019-12-18 14:38:00
現在不少公司前端比後端還複雜勒 後端就出api而已前端還常常要和PM、業務、設計溝通,累阿,有問題也都先找前端 因為他們看不出是前端還後端的問題 只知道畫面這裡怪怪的
作者: vi000246 (Vi)   2019-12-18 15:31:00
https://i.redd.it/ku1neu504sh01.jpg看來這張圖要反過來了 後端出api而已 滿簡單的
作者: b85040312 (萬年newman)   2019-12-18 15:56:00
因為現在都流行前後端分離 後端幾乎都只要負責出 api然後撈資料而已吧XD 畫面甚至資料運算都交給前端...
作者: daddy29 (願上帝與你同在)   2019-12-18 17:39:00
我以為c10k是基本的
作者: rocwild (外國死小孩)   2019-12-18 22:09:00
我還真的沒聽過C10K。是在算程式碼嗎?
作者: jamselee (jamselee)   2019-12-19 00:31:00
跪了
作者: Ekmund (是一隻小叔)   2019-12-19 14:53:00
有點規模的遊戲公司隨便都過10K吧 壓測都不只這數字問題是 很多驗證在功能迭代過程中都變無效的真正會去回頭注重這種軟體工程問題的才是少數
作者: ihave3cm (NCUBigBlackCock)   2019-12-19 17:32:00
跪著看
作者: superpandal   2019-12-20 14:57:00
還不只鄙視鏈 hahaha
作者: washqwe (阿蹦)   2019-12-21 21:02:00
Node.js現在worker thread 直接share memories效能已經不是問題,問題在會不會寫
作者: newhandfun (新手方)   2019-12-29 23:55:00
推。樓上一些人說後端只要api的可能理解錯樓主說是後端的意思了。後段難辦的是高流量跟嚴苛環境下遇到的案例,絕非是"僅僅api"這幾個字可以帶過的當然前端隨著使用者需求跟硬體能力激增也是累((遊戲前端表示:幹
作者: acgotaku (otaku)   2018-01-07 17:10:00
full stack沒啥不好呀覺得前端的數據流很有趣跟後端很不一樣 前端在應用端的深度很深

Links booklink

Contact Us: admin [ a t ] ucptt.com