rascal22
白痴都知道 三個和尚沒水喝 就你 CEO 不知道嗎? XDDDD
Google徵求增加效率方法 CEO批去年增聘3萬人 生產力卻沒跟上 | BusinessFocus
Jeany(私人空間)
G 社就是靠廣告,然後一大堆產品有的沒的就都不是直接轉換成廣告收益,就很難衡量什麼是生產力啊。

而且還有 project 亂開開完不理的文化⋯
rascal22
根據某人的描述,我一直都覺得 G社 一堆冗員!? 這些人的心力好像都在努力面試進G社後消耗殆盡~ XDDD
hatershater
rascal22 : 某人是我嗎 XD 其實G社的強者還是滿多的,但系統大,常常會出現over-engineer的事,做事效率愈變愈慢(像是code一定要符合某些style,比如說python全部都要type hint,我常常搞個一兩天就在搞這個…我code都能work,model都已經訓練好了,但code沒辦法commit進去codebase,因為要處理style還要寫一堆無聊的unit test)
hatershater
而且新招進來的人要習慣內部這些系統其實要花個半年以上,很難馬上productive。而且待愈久的人愈有那種"喜歡做一堆超酷但根本沒人要用的東西"的病。不過不同org的文化也不同就是了。
Jeany(私人空間)
hatershater : 因為做超酷的東西才有能見度吧
做完了管他有沒有人用
hatershater
Jeany(私人空間) : 哈哈哈也不完全是這樣,因為畢竟考績上面impact還是很重要的。但有的老人就覺得我不想管考績只想做酷的東西。所以其實我覺得CEO叫大家有效率,還有有新的考績系統,我覺得是很好的事。
rascal22
一 一 style/unit test/ type hint 完全都是團隊必備 (這裡就顯現你我觀念上的根本差距)

如果我是 team manager 我一定會要求這個團隊文化,你寫的扣永遠不是你自己看自己修改,本來就要有一個 team standard. 再說 Style/Unit test/Type hint 這種問題完全可以靠 IDE tools 來解決,團隊存在夠久以後本來就應該要有一份 STYLE config file that can apply to your IDE, commit code 之前跑一遍 static analysis 就可以通通抓出各種style問題,你越習慣這個模式,寫扣時就越容易養成習慣呈現出這種 team style.
rascal22
Type hint 也是,你是online review不是 IDE review, 把各種type寫清楚才能幫助online review. Unit test 也是有tool 可以幫助你,通知你哪些地方該有 Unit test~ 我是不懂 Python 但 Mobile 這邊的IDE 工具超多,老鳥要求菜鳥安裝該有的 tool並且跑一遍整體流程,馬上就可以讓大家習慣這流程,並且同時產出 team standard.

所以以上都不會是沒效率的問題,G社最沒效率的問題在於,每個人都自視甚高不肯降低自我達到團隊要求,太簡單的工作不想做,太無聊的流程不想跑 (但這些流程會減少很多 team debt),一群 spoiled SWE.... XD
hatershater
不不,他們這個style的要求非常誇張,是要求到每個method都要有doc,而且要有一定格式,比如說後面不能有trailing space,要有句點,method之間要空一行不是兩行,class之前要空兩行,這種要求。而且不是manual檢查,是你在submit之前就是submit不進去。
hatershater
另外,還有一些是mutant check,這個我在外面真的沒見過,他會說,我remove這行code,但卻沒有任何test break,表示你這行code沒有測到,請加test
rascal22
Well, 你們有高標準的 standard 那就請 follow, 不然公司付這麼多薪水給你要幹嘛? XD 還有 Google 滿多 open source project, 有這麼多 doc standard 我覺得很合乎邏輯。
hatershater
rascal22 : 好吧,如果你覺得G社最大的問題是這樣,那我看來我也沒辦法改變你的想法 XD 但我算是我們team最有效率的人(可能因為習慣startup的效率),但一個CL被readability reviewer卡兩個禮拜,也是真的很無奈。重點是這個code不是production code,這是我跑實驗要用的code,也是要經過這種超級嚴格的檢查。
rascal22
我是不會分什麼 production code/ test code.... 以產品的角度來說,所有的 code 最終都該變成 production.... (以我這種 App developer 的觀念)
hatershater
如果任何高standard都合理的話,想想這等級的code(只是用beam call一個內部service)我應該在外面可以一兩天搞定,現在要花十倍的時間。那麼以效率來說,我的效率就是只有以前的1/10呀。
rascal22
hatershater : 那我只能說,熟能生巧~ XDDDDDDD
hatershater
跳去N社的朋友就說,他們才不搞readability,事情做出來最重要。我覺得G社在這塊真的有點走火入魔了。
rascal22
hatershater : 好吧,我不該評論,我沒在那環境..... (也許我也會靠杯 XD)
hatershater
不過話說回來,我其實也是我老闆要求我要多寫點code不然他怕我考績被為難。不然其實我全部的code都不commit的話,我是可以活的,也可以做出很多impact。所以想想我也是在為了自己的考績才要commit這些code吧,因為這不是production用的。
hatershater
rascal22 : 我覺得你好像有點適合這個環境,搞不好你還會跑去當readability reviewer來刁難別人 XDDDDD 需要我refer試一下嗎?
rascal22
如果照你這樣說東刁西刁那還是免了~ XD

我舉個例,我覺得 code inheritance 要有 layers, 但只能有三層,超過三層就他媽的太複雜!
hatershater
rascal22 : 我覺得你很適合啊。不過比如說你覺得不能超過三層,你在刁難別人的時候一定要給一個link,說"這個文件說建議不超過三層!你現在有四層,請解釋你為什麼可以有四層"這樣的對話,然後作者就會覺得他馬的超肚爛 XDDDDD
hatershater
但你不能說你覺得三層,一定要引經據典才行,所以你肚子裡還是要有點墨水
rascal22
不,我的意思是說,凡是都要有基本標準,但不是太多複雜的標準!

我認為該有 team style standard 但不是複雜到讓人不爽,公司不應該是 flat struct 要有 hierarchy 但又不能深到我要解決一件事要轉五層 => 我只適合中小型公司 LOL
rascal22
但同樣的,對於大型公司的員工我只能說,你就是在那環境,要嘛想辦法改變,要嘛follow, 要嘛離開~ XD
rascal22
然後照你這樣描述,看來你們機器端有一份 style config 但工程師端卻沒有,這當然找大家麻煩。

為什麼不把準則全部轉成 IDE config files 發給每一個工程師.... 一 一
hatershater
rascal22 : 有哦!但IDE那只有一層,我們的style check要跑三層呢…因為連build system都有三層,所以每層又多給你找一點style的麻煩 XD
rascal22
ok, good luck~ (rofl)
rascal22
build system 的 style files 也該發一發~ LOL
Jeany(私人空間)
hatershater : 趕快 refer rascal22
我想看他會怎麼靠腰G社😂🤣🤣
hatershater
Jeany(私人空間) : 我也好期待!而且G社在Irvine有辦公室,這樣他就沒辦法再靠盃Irvine沒工作 xd
rascal22
Irvine 做的事情跟 mobile 沒關係,查過了~ LOL
Jeany(私人空間)
rascal22 : 人生不要這麼僵化好不好,你就去Irvine 做 remote 的 mobile developer 就好了
hatershater
+1
rascal22
那就不是去什麼 Irvine, 是 WFH...... XD
Jeany(私人空間)
rascal22 : 去辦公室你才不會靠腰在家顧小孩不能專心啊,這樣才能確定你的火力集中在靠腰G社本身
rascal22
小孩去學校本來就不用靠腰不能專心,我靠腰的是為什麼要有小孩來耽誤人生 ! XD
hatershater
為什麼會歪到這來 XD rascal22 趕快來我們家面試啦!
嘻嘻羊 ✿
等等,如果刪code但測試沒break那是之前加code的人沒寫啊,關我這刪code的人什麼事
嘻嘻羊 ✿
你們是全公司都管這麼嚴嗎?還是看組或看org
hatershater
嘻嘻羊 ✿ : 我講得有點失公允。我們有一個東西叫readability,可以想像成某種證照,得經過訓練才能到。每個team最好每個用到的語言都有有人有readability,因為要commit進去的code得有證照的人審過才能放行。我現在正在考python readability,而這考試是要經過幾個月,每次寫這語言就要有不認識的考官來審我的code給建議。考官為了顯示權威,會特別機車,每個commit留三四十個nit很常見(這是在自動style guide之外再給nit)。
hatershater
所以,不論readability審查的話,我們組沒那麼嚴,但就算同組,通常身上有readability的人多少會有點警戒心,會多挑一點毛病。
hatershater
關於別人code 沒test這件事,考官機車的話就會刁,通常為了不想跟考官起衝突,都會牙一咬就幫別人擦屁股。通常拿來考readability的code都會特別漂亮,有時也會炫技就是。
hatershater
但整體來說的確是嚴。而且規定多如牛毛,什麼一行只能80字母這入門的就不說了,連code formatting都不能完全相信ide上幫你format的,還要另外再用兩個工具跑一遍。不同的build rules也各有千秋,有的比較strict之類(超煩,我根本不想花時間在build rules各種細節上面,老娘後面還很多事要做,覺得data拿到對的,model效果好最重要)。我覺得應該跟其他公司比起來開發至少多一到兩倍時間,所以理論上應該至少需要請兩倍的人數才能達到相同的效果。更不要說寫個機行code要commit這麼難,做久了根本很難有太多幹勁吧。
嘻嘻羊 ✿
哇,真的好煩!話說我覺得每行80字母也很煩,公司不要那麼小氣買大一點的螢幕好嗎
rascal22
那個每行字限定應該是為了 online viewing
嘻嘻羊 ✿
什麼是online viewing?
rascal22
就是好像你在 Github . com/ Gitlab / Azure 看code的時候, 不管是 review purpose 還是 open source doc purpose. Grow your code vertically not horizontally.
hatershater
對對,這個八十個字母超沒人性,連comment差一個句點也硬要你改(還不能只刪句點,因為要求要有句點,如果刪了句點會有其他formatting issue)。還有有時我會把要怎麼跑這程式的cli放在comment,裡面會有一些path不能硬斷行(斷了就沒辦法copy),但還是硬要你改。雖然改一下也沒什麼,但時間就花在這種無聊的事上面,productivity會高到哪去…
rascal22
你們 formatting 管得太多了,只能這樣說~ XD
hatershater
rascal22 : 所以你要不要來當管別人的人 XD
rascal22
hatershater : 我無法面試一整天,所以謝謝不必了~ XD
hatershater
Jeany(私人空間)
hatershater : 蛤,交給我什麼
載入新的回覆