看板 Soft_Job 關於我們 聯絡資訊
※ 引述《del680202 (HANA)》之銘言: : 不知到板上各位高手是如何面試一個資深工程師的 先說結論: 誘導對方發球;它若發得出好球,你打回去它又接得住的話,應該就不錯。 === 是可以考個實作題,看看它程式寫作風格 (工法,非排版) ,對細節邏輯的處理, 對時間空間的取捨,對問題的理解;看看它是一個十年還是十個一年。 原文裡提到的「二元樹找最大子樹」這類題目不是不能考,但至少儘量照該職缺、 團隊、公司在整個產業鏈裡上中下游的位置調整重點。 如果是處於中下游「應用程式」,你知我知獨眼龍也知,時間大多花在「選擇工具 、整合方案以解決業務問題」上,與其考抽象的計算(compute) 能力,考「了解問 題並解決的能力」比較適當。 易言之,一樣的題目,「二元樹找最大子樹」,先說明你的意圖: 題目就是故意很 模糊,想知道它能否反問出更有意思的問題,例如: * 這二元樹的資料型態?範圍?是否固定大小? * 這二元樹有多大?能整個塞進記憶體的是算大還是小? * 這二元樹會不會變動?有多頻繁?有多少 reader/writer ? 每次變動是否 atomic/transaction ? 能否設計成變動後需要「重算」的地方愈少愈好? * ... 讓它自己發球,再挑個你覺得最有意思的 (且自己能掌握的) 深入討論、試作,談 談如何測試這個機制 (「效能」, security, scaleability, ...) ,有的沒的。 它自己發的球,你殺回去它接不住的話,它也只能怪自己 :D (我就被我自己發的 球K過, hen 痛 XD ) === 另一點,就資深(senior)工程師來說,我看的另一個重點,就是它的 帶人(mentoring) 能力。它掛著「資深」的稱號,就必須要當得起「資淺」人員的 「榜樣(role model)」;例如: * 溝通能力: 說服、協商、談判、聚焦、化解衝突 * 領導能力: tribal leadership, situational leadership 這類相關學說 也就是說,除了技術底子、工程紀律外,還要有幫助團隊文化向上成長的助力。 因為你送出來的訊息很清楚: 「這個團隊重視(value) 這個人的行事風格,所以這 個團隊選擇把 senior 這個稱號掛在這個人身上」。反過來說,如果 senior 這個 稱號在這個團隊中是倚老賣老熬年資就能拿到手的,那整個團隊就會跟著一起腐爛 。 (這與管理職不完全一樣,管理職除了要像 senior 一樣作榜樣外,還必須為整 個團隊的成敗負責。) === 其實,你知我知獨眼龍也知,有些地方「面試」文化本身就很矛盾;粿也一樣。 手上的事都作不完了,又被抓來當分母 (spread of accountability), 招進來的 新人作得好是上級同志領導有方,作不好會有事後諸葛出來說「怎麼當初面試這新 人的人『都』沒有人看出來!?」是故,也很難怪別人使用 "Nobody gets fired for choosing IBM." 戰術,拿「二元樹找最大子樹」這類題去交差了事 XD Kent Beck [1] 也有篇文,稍微談到 Facebook 的情形: * https://goo.gl/yJ9PuJ * https://www.facebook.com/notes/kent-beck/fear-leads-to-anger-primary-and-secondary-emotions/1708089742557216/ [1]: https://en.wikipedia.org/wiki/Kent_Beck 只能說: 「誰記得誰痛苦」 :D 就看是人求事還是事求人,中意對方開出來的價,那就也只能給對方驗貨到滿意惹 -- 個人 雜談、學習、英語、軟體 https://www.facebook.com/tw.yang.30 https://www.facebook.com/30abysses/ https://twitter.com/twy30 http://www.30abysses.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 136.56.47.92 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1512598518.A.B10.html ※ 編輯: AmosYang (136.56.47.92), 12/07/2017 06:20:36
Ommm5566: 縮網址 12/07 07:20
QQ It looked fine on my machine. 已補上: https://goo.gl/yJ9PuJ :D
snaketsai: 好文推 12/07 08:03
jackblack: 推 12/07 08:46
maxqq: 講得不錯 12/07 09:11
maxqq: 本公司資深 = 推垃圾出來,然後裝死自己很忙 12/07 09:12
maxqq: 最後再跟老闆說,那個很簡單啊,但做出來就是個垃圾 12/07 09:12
maxqq: 但自己就是做不出來 12/07 09:13
bowin: 推精闢好文 12/07 09:54
Ekmund: 推這說法 12/07 10:08
ghmsxtwo: 好文 12/07 10:10
Beersheep: 翟本喬有提過,Google 裡面有資深工程師是只專研技術 12/07 11:06
Beersheep: 而沒有管理職務的,而跟管理職的地位是ㄧ樣的 12/07 11:06
Beersheep: 這種在台灣似乎是比較少? 12/07 11:07
senjor: 不只Google,國外很多資深技術缺,但是台灣都會要求掛管理 12/07 11:09
fgh81113: 好文 12/07 11:39
rhox: 美國工程師可以 12345等級一直上去,不用被逼去當管理職 12/07 11:49
senjor: 其實應該說是有兩條轉職線,可以轉資深技術或者跳管理。 12/07 11:54
如 senjor 說的,資源豐富的公司,職涯道路比較多,有空間讓 IC (individual contributor) 累積磨練資歷,待遇也相對提高。 但無法以一概之說「跟管理職的地位是ㄧ樣的」,因為職責的劃分界限還是有出入 。
nanashi07: 帶人這點個人覺的非必要性,實際上就是有人只想碰技術 12/07 12:05
nanashi07: 而抗拒跟人交流,但只要給予明確的需求就能完好的交付 12/07 12:05
nanashi07: 成品,主要還是看怎麼用對的方式用人 12/07 12:05
是的,這就看該組織是如何在「文化、風氣」中作出取捨;戰利品分給什麼樣的人 多,底下的人就會把那個人當榜樣 :D
vi000246: 台灣的話架構師不知算不算管理職 12/07 12:14
edward13: 科技廠是有資深工程師上去是主任工程師 資深主任工程師 12/07 12:28
edward13: 最頂就總工程師 技術長之類 12/07 12:29
edward13: 但很多名義上不是管理職 實際上還是要管雜務XD 12/07 12:31
shiauji: 推 12/07 12:50
YahooTaiwan: 台灣也有雙軌制的公司啦 12/07 13:00
senjor: 你是指YahooTaiwan嗎? 12/07 13:01
※ 編輯: AmosYang (136.56.47.92), 12/07/2017 13:21:40
LinuxKernel: 好文 12/07 13:53
dream1124: 推 12/07 14:37
HMW: push 12/07 18:37
siriusu: 推 12/07 22:45
puffs: 趨勢科技是雙軌制 12/07 22:45
onthesea: 好文 12/08 09:59
ku72: 噓帶人那段 12/10 15:40
ku72: 資深工程師應該是就自己工作崗位上需要的知識有足夠的經驗和 12/10 15:44
ku72: 能夠獨立解決問題 帶人明明就是主管的責任 丟給資深工程師是 12/10 15:44
ku72: 主管不負責任 除非有先跟該資深工程師確認過他有這方面的意 12/10 15:44
ku72: 願 12/10 15:44
呃…上面原文裡寫的是 > 我看的另一個重點,就是它的 > 帶人(mentoring) 能力。它掛著「資深」的稱號,就必須要當得起「資淺」人員的 > 「榜樣(role model)」 並沒有主張「帶人是誰的責任」。且,帶人(mentoring) 與管人(managing)也有微 妙的差異。 如果公司業務是極度偏向「制式化」產品,有明確的 SOP + 生產線,那的確可以 「細部分工」的方式來運作。然而,這種細部分工的方式通常缺乏彈性,且會造成 殼倉效應(silo effect) 。 相對的,有些組織的文化是偏向於「自治(autonomy)」以應對最新的變化,也就是 儘可能地把決策權放給第一線的士兵;只要遵守組織的核心價值(core value)、完 成任務、達成目的,實際的執行辦法由團隊成員決定。這個時候,除了硬實力 (工 程技術) 外,就需要軟技能,也就是上面原文裡提到的溝通領導能力。 而這些軟技能難以從課堂、教材裡學到 (上面原文裡提到的 tribal leadership, situational leadership 等學說是可以參考,但就像打籃球一樣,還是要上場練 才學得會) ,所以需要好的榜樣(role model)。
KanoLoa: 樓上為資深邊緣工程師表示反對意見 12/11 19:57
※ 編輯: AmosYang (136.56.47.92), 12/12/2017 03:20:25
ku72: 我是專案程式主管喔 另外 原文中的標題就是帶人能力 後面硬 12/12 18:44
ku72: 要轉成榜樣那些我覺得有點怪 而且榜樣本身是主管自己要當的 12/12 18:44
ku72: 資深工程師是來協助我解決問題的 人員管理安排是我的責任 12/12 18:44
ku72: 我多領了獎金 多領了股票 然後把這些問題丟給資深工程師 12/12 18:44
ku72: 我沒辦法 12/12 18:44
ku72: 我之前公司的總經理在我第一次帶人前 也是先跟我詢問 然後確 12/12 18:48
ku72: 認我的意願 並告訴我 這是為了升主管前的考驗 然後也在過程 12/12 18:48
ku72: 中教導我很多這方面的知識 直到現在每一個新加入我專案的人 12/12 18:48
ku72: 員 我都會一行一行跟他討論他寫的內容 邏輯 了解他想表達的 12/12 18:48
ku72: 然後進一步探討怎樣改變會更好 但把這樣的工作丟給資深工程 12/12 18:48
ku72: 師 你確定他會這樣對待新人? 還是讓新人忍受老鳥不專業的帶 12/12 18:48
ku72: 領? 12/12 18:48
ku72: 再者身為專案主管 整個專案的架構 內容 只有你最熟悉 而且也 12/12 18:54
ku72: 是你要向上負責的 新人進來你不想辦法讓他融入 讓他理解 然 12/12 18:54
ku72: 後直接把問題交給資深工程師 但是我接觸到現在至少有一半的 12/12 18:54
ku72: 資深工程師 是不想帶人的 尤其在升不上去的時候 我不覺得在 12/12 18:54
ku72: 這樣情況下 資深工程師會覺得自己對新人有啥責任 大部分都是 12/12 18:54
ku72: 看的順眼就教你 看不順眼就讓你爆 12/12 18:54
ku72: 最後 比較符合你說的是團隊溝通跟協作能力 而不是帶人領導 12/12 19:21
ku72: 能力 12/12 19:21
我開了一篇新的 https://www.ptt.cc/bbs/Soft_Job/M.1513113828.A.D59.html ※ 編輯: AmosYang (136.56.47.92), 12/13/2017 06:01:36