作者ttss4092 (lambda)
看板Soft_Job
標題Re: [心得] 如果可以, 真的建議不要再去創業公司了
時間Sun Feb 23 17:24:34 2020
小弟超廢,架構入門是看繁體中文書
http://www.eslite.com/product.aspx?pgid=1001239292328388
工作後時不時也爬爬 Hacker News
像是在 ithome 那篇 Event Sourcing 出來前兩天剛好在上面看到這篇文
https://arkwright.github.io/event-sourcing.html
也看完該篇文章連結出去的文章,了解這技術大概的優劣
所以不是很懂 FB 後端版版主說,對於新手不適合是啥概念,文章明明都說得蠻清楚了
新手如我也可以大概判斷哪時該用哪時不該用
各式架構有在看相關技術文章的人,應該都知道大公司也常常會分享怎樣處理,如:
https://docs.gitlab.com/ee/development/architecture.html
我是不曉得實際上去進到大公司後實際上去 tune 的機會有多少 (因為我進不去)
但是就軟體業開放的程度,以及現在雲端發達,免費用不完的情況下
不用進去大公司就能自己架設自己實驗了,作壓力測試, script kid 如我都能辦到了
架構這東西大部分就是學就會了,比那些高深的演算法簡單多了
大部分都是差不多的 workaround , 大部分通用且厲害的東西還是研究人員弄出來的
甚至有時候大公司弄出來的特殊架構你不是那個領域的有時還覺得沒用
一般後端架構你只要套套範例就好了,而且效果通常不錯,當然業務面還是要小心
自己業務特殊的地方,自己還是要再寫個測試去測試,
但這樣大概有點信心可以導入或是更換
畢竟是跟著人家大公司的架構,出事情也是大公司大流量的先出事吧
至於 client 端那些問題,不是基本功嗎? 在 Conf 裡面看到的那些演講的大大們
都馬在想辦法 Hack 底層,自從去過 Conf 以後,就覺得自己超級廢
常常會有種沒有看完 Android kernel 不要輕易嘗試去寫 Android ,
沒有看完網頁框架實作的程式碼不要亂用那個功能,
強迫自己去看原始碼,打好馬步,希望有天變和台上的大大們一樣強
遙想當年國中還在打楓之谷時,實在很難想像,那時和我同年的人已經在寫外掛賺錢了
依照網路開放程度,當年的小朋友就能做到這事情,現在這些架構實在太容易取得
比起那些架構,我還是覺得駭客,寫飛彈系統,寫太空機構程式,
自己想出算法解決無解問題的人才厲害,畢竟人家常常沒有樣本可以看
僅憑著一己天資,去讓自己發光發熱
原文說的架構問題和 LeetCode 看起來就像是: 你要背好魔術方塊公式喔!
背好還要轉過喔! 殊不知新創在解決的是那沒有公式的魔術方塊
當然可能不是技術面。。。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.136.92 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1582449881.A.F4B.html
1F:推 ripple0129: 面試常常都是這樣,聽到對方提供的答案跟所想的相同, 02/23 17:51
2F:→ ripple0129: 就能得到較高的分數。 02/23 17:51
3F:推 x246libra: 我也買了你提到的繁中書,只是很菜也用不上書中架構 02/23 18:09
我帶出來的一個學弟說了一句話讓我印象很深刻
"我要看完美的架構去看書就好拉!"
能自己用手去慢慢架構出真實世界需要的架構那真的很不一樣吧,共勉之
4F:推 oneheat: 你說的Android 底層充其量只是OS層還偏上層,下面一大塊s 02/23 18:34
5F:→ oneheat: ervice/hal你幾乎無法改的。同理Kernel到你面對的那層中 02/23 18:34
6F:→ oneheat: 間還有很大一塊,簡單的module可以kernel通上層通,複雜 02/23 18:34
7F:→ oneheat: 的根本兩者脫鉤了 02/23 18:34
受教了(筆記,還好我不寫安卓
8F:推 oneheat: 然後進大公司並不是只有學習怎麼弄架構而已,更大的是怎 02/23 18:37
9F:→ oneheat: 樣從0到1這個步驟。隨便舉個例子,webrtc這個protocol, 02/23 18:37
10F:→ oneheat: 你認為你在一個奇怪的小公司推一樣的東西有人會理你嗎? 02/23 18:37
WebRTC 我懂,幫公司研究過幾小時,不過後來主管很霸氣的殺死需求了
後來幾個來我們公司來面試前端的人也有寫一些小專案也是用它
知道很好用(套件多,可是效能啥的好像不是最好
但不懂 0 到 1 的問題,還望大大明示
11F:推 SFMAndroid: 當年寫外掛簡單 現在一堆補丁跟監控 02/23 18:38
可是那時候我連電腦裝修都不會,同年齡的國中生就會寫外掛了 QQ
12F:推 oneheat: 他想表達的很簡單,應該是期許自己當那個寫文章的人,而 02/23 18:40
13F:→ oneheat: 非看文章的追隨者,因為這兩者如果是真實business concep 02/23 18:40
14F:→ oneheat: t,至少都差1年以上了 02/23 18:40
15F:推 pseudoman: Event source在某版戰很兇XD 02/23 18:42
16F:推 tttkkk: 原po有自學能力又謙遜 是我就會找你這種人 02/23 20:34
17F:→ tttkkk: 軟體大多時候就是找解決問題的辦法 而這時代又有很多資訊 02/23 20:35
18F:→ tttkkk: 可以參考。 但不少軟體人把自己放在一個很高的位子 02/23 20:36
19F:→ KeyFSN: "架構比那些高深的演算法簡單多了" word, 好個雲架構師 02/23 22:37
這年代什麼都馬上雲端,大小公司能上雲的都上雲,
雲端系統你不會人家還說你 Old school
可以常常見到地端的公司對原 Po 來說大概是直接排除的,
我以前在學校算是搞地端的,說好聽一點叫系統工程師,說難聽一點就是 MIS,
用 VMware 家的解決方案,災難復原、機房遷移、HA、實體伺服器障礙排除,大概玩過
也有幸在在學期間看到學校新機房落成,聽教授怎樣用合約壓廠商,怎樣規劃機房
我也大概知道地端的坑更深,實體的 HA ,網路問題,機房規劃,電路規劃,
消防系統,散熱系統,停電處理,雲端不用管的你都要管,都要會規劃
每個都馬很難,可是職位就是上不去,去面試八成履歷就直接被原 Po 打槍,
所以聽到很多前輩老師的心路歷程後我後來轉後端
20F:推 tttkkk: 他想說的是 架構有很多資訊可以參考 演算法就要看智商了 02/24 02:29
21F:→ tttkkk: 搞演算法的人確實薪水也容易比較高啊 02/24 02:30
※ 編輯: ttss4092 (220.132.128.60 臺灣), 02/24/2020 07:54:51
※ 編輯: ttss4092 (220.132.128.60 臺灣), 02/24/2020 07:56:31
※ 編輯: ttss4092 (220.132.128.60 臺灣), 02/24/2020 08:45:40
22F:推 ipapple852: 他打雲架構師是暗示你經驗不夠, 不是說雲端的東西XD 02/24 14:15
原來如此,我經驗真的很不夠呢
23F:推 APTON: 我想原PO也知道,但是還是認真回。 02/24 19:27
24F:→ APTON: 但不得不說,雲端真的解決很多問題,而且做的很多公司好... 02/24 19:27
是阿,小公司用用雲端真的很幸福
※ 編輯: ttss4092 (36.231.238.23 臺灣), 02/24/2020 20:14:43
25F:推 plsmaop: webrtc 的例子應該不是你懂不懂,而是你有沒有辦法設計一 02/24 21:28
26F:→ plsmaop: 個像是 webrtc 的協定 02/24 21:28
有看到後續回應,大概了解,協定是需要說話份量夠大的才有可能推起來,
就算一間小公司弄出速度效能安全都比他好的,可能也沒人鳥,然後某大公司說採用後
才爆紅
※ 編輯: ttss4092 (36.231.238.23 臺灣), 02/24/2020 22:13:04
27F:推 plsmaop: 還有啊,在 google 就需要處理沒人處理過的資料量所以設 02/24 23:37
28F:→ plsmaop: 計了 GFS, big table,mapreduce,chubby,spanner,這 02/24 23:37
29F:→ plsmaop: 些有參考以前的架構,但整體還是很多創新,不是說你看書 02/24 23:37
30F:→ plsmaop: 就可以做出來的,網路方面也做了大規模全球 SDN,這些東 02/24 23:37
31F:→ plsmaop: 西以前都沒有做出來,就是從 0到 1 的過程 02/24 23:37
32F:推 plsmaop: 推動 container merge 進 linux kernel,然後弄出 contai 02/24 23:40
33F:→ plsmaop: ner orchestration platform,這些都是架構啊 02/24 23:40
34F:推 plsmaop: 小公司也有辦法,但那要夠強啊,像弄出 kvm 那種等級 02/24 23:42
35F:推 plsmaop: 這裡 container 指的是 cgroup 02/24 23:43
36F:推 plsmaop: 你說你搞地端,那些雲端公司都是自己超大規模的地端給別 02/24 23:46
37F:→ plsmaop: 人或自己用啊,光是為了解決 TCP overhead 就發表了好幾 02/24 23:46
38F:→ plsmaop: 篇論文試圖用新方法解決問題,這些也是看書學不到的..... 02/24 23:46
本來想問點什麼,但是 PCMan 大大好像說得差不多了
39F:推 oneheat: 說得很細,感謝樓上... 02/25 08:29
40F:推 popcool: 雖然我不是backend,但我還是知道不同DAU量級在架構上設 02/27 12:30
41F:→ popcool: 計差異很大,這種量級經驗是沒辦法自學幹出來的,你確定 02/27 12:30
42F:→ popcool: 你的說法沒問題? 02/27 12:30
看多大吧,太大的話測試的錢要很多,就不是個人可以負擔的,但是如果公司願意給資源
,還是可以測得,如果說自學的沒辦法幹出來,那是說線上那些架構都是有人教出來
的嗎? 那想知道 Google 的架構是誰教的,那人的老師又是誰,最後追朔,源頭的那位
沒人教不就是自學自幹的嗎? 最後難道不是回歸基本的資料結構演算法、複雜度、
硬體資源、各大項的取捨 (效能、一致性、研發時間。。。) 然後大量研發測試實驗嗎?
重點應該不是自學幹不出來,而是沒錢測試,如果我有錢租下或買下一顆地球的電腦,
架構出類似目前地球的網路架構,那我就可以測試全世界在攻打(使用)我系統的模樣,
然後老樣子,有問題的點慢慢優化不是嗎?
我不能確定我的說法沒問題,這是不是數學問題,我猜沒有人能保證說不會有一個天才
,沒去過那些大公司,就從頭到尾幹出一個受世界喜愛的東西,然後也把架構弄得很好
※ 編輯: ttss4092 (36.231.151.212 臺灣), 02/28/2020 13:01:21
43F:推 oneheat: 架構師弄出來的,架構師會設計彼此也會討論,收集實際的 03/02 22:54
44F:→ oneheat: 需求等等,最後提出一套架構來解決問題。當然這套架構會 03/02 22:54
45F:→ oneheat: 隨著時間而積累和改善。 03/02 22:54
46F:推 oneheat: 有這些人的好處就是透過他們你可以直接知道這樣設計背後 03/02 22:57
47F:→ oneheat: 的原因,要解決的問題,設計思考的邏輯,以及可能會有的 03/02 22:57
48F:→ oneheat: 缺點等等的,這樣就很容易去學習和模仿了 03/02 22:57
49F:→ oneheat: 然後為什麼要進超大公司,因為這些人多半都在這些地方, 03/02 22:58
50F:→ oneheat: 而且多個這種等級的彼此討論架構出來的東西,會比單一個 03/02 22:58
51F:→ oneheat: 還來的更有意義 03/02 22:58
確實,如此新創如果非技術起家的,很難有那麼多高手,看來公司高手不夠多的情況下,
去一下大公司是有意義的,感謝指教。
※ 編輯: ttss4092 (220.132.128.60 臺灣), 03/03/2020 08:11:17