Re: [請益] 如何面試資深工程師

作者: AmosYang (泛用人型編碼器)   2017-12-07 06:15:10
※ 引述《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
就看是人求事還是事求人,中意對方開出來的價,那就也只能給對方驗貨到滿意惹
作者: Ommm5566 (56天團)   2017-12-07 07:20:00
縮網址
作者: snaketsai (さいでんし)   2017-12-07 08:03:00
好文推
作者: jackblack   2017-12-07 08:46:00
作者: maxqq (max)   2017-12-07 09:11:00
講得不錯本公司資深 = 推垃圾出來,然後裝死自己很忙最後再跟老闆說,那個很簡單啊,但做出來就是個垃圾但自己就是做不出來
作者: bowin (盡其在我)   2017-12-07 09:54:00
推精闢好文
作者: Ekmund (是一隻小叔)   2017-12-07 10:08:00
推這說法
作者: ghmsxtwo (YI)   2017-12-07 10:10:00
好文
作者: Beersheep (一心不乱)   2017-12-07 11:06:00
翟本喬有提過,Google 裡面有資深工程師是只專研技術而沒有管理職務的,而跟管理職的地位是ㄧ樣的這種在台灣似乎是比較少?
作者: senjor (哞哞)   2017-12-07 11:09:00
不只Google,國外很多資深技術缺,但是台灣都會要求掛管理
作者: fgh81113 (阿景)   2017-12-07 11:39:00
好文
作者: rhox (天生反骨)   2017-12-07 11:49:00
美國工程師可以 12345等級一直上去,不用被逼去當管理職
作者: senjor (哞哞)   2017-12-07 11:54:00
其實應該說是有兩條轉職線,可以轉資深技術或者跳管理。
作者: nanashi07 (NaNashi)   2017-12-07 12:05:00
帶人這點個人覺的非必要性,實際上就是有人只想碰技術而抗拒跟人交流,但只要給予明確的需求就能完好的交付成品,主要還是看怎麼用對的方式用人
作者: vi000246 (Vi)   2017-12-07 12:14:00
台灣的話架構師不知算不算管理職
作者: edward13 (-_-)   2017-12-07 12:28:00
科技廠是有資深工程師上去是主任工程師 資深主任工程師最頂就總工程師 技術長之類但很多名義上不是管理職 實際上還是要管雜務XD
作者: shiauji (消極)   2017-12-07 12:50:00
作者: YahooTaiwan (超可愛南西我老婆)   2017-12-07 13:00:00
台灣也有雙軌制的公司啦
作者: senjor (哞哞)   2017-12-07 13:01:00
你是指YahooTaiwan嗎?
作者: LinuxKernel (Linus Torvalds)   2017-12-07 13:53:00
好文
作者: dream1124 (全新開始)   2017-12-07 14:37:00
作者: HMW (捷安特)   2017-12-07 18:37:00
push
作者: siriusu (かがみは俺の嫁。)   2017-12-07 22:45:00
作者: puffs (泡芙好吃)   2017-12-07 22:45:00
趨勢科技是雙軌制
作者: onthesea (i am telegrammed)   2017-12-08 09:59:00
好文
作者: ku72 (ku72)   2017-12-10 15:40:00
噓帶人那段資深工程師應該是就自己工作崗位上需要的知識有足夠的經驗和能夠獨立解決問題 帶人明明就是主管的責任 丟給資深工程師是主管不負責任 除非有先跟該資深工程師確認過他有這方面的意願
作者: KanoLoa (卡)   2017-12-11 19:57:00
樓上為資深邊緣工程師表示反對意見
作者: ku72 (ku72)   2017-12-12 18:44:00
我是專案程式主管喔 另外 原文中的標題就是帶人能力 後面硬要轉成榜樣那些我覺得有點怪 而且榜樣本身是主管自己要當的資深工程師是來協助我解決問題的 人員管理安排是我的責任我多領了獎金 多領了股票 然後把這些問題丟給資深工程師我沒辦法我之前公司的總經理在我第一次帶人前 也是先跟我詢問 然後確認我的意願 並告訴我 這是為了升主管前的考驗 然後也在過程中教導我很多這方面的知識 直到現在每一個新加入我專案的人員 我都會一行一行跟他討論他寫的內容 邏輯 了解他想表達的然後進一步探討怎樣改變會更好 但把這樣的工作丟給資深工程師 你確定他會這樣對待新人? 還是讓新人忍受老鳥不專業的帶領?再者身為專案主管 整個專案的架構 內容 只有你最熟悉 而且也是你要向上負責的 新人進來你不想辦法讓他融入 讓他理解 然後直接把問題交給資深工程師 但是我接觸到現在至少有一半的資深工程師 是不想帶人的 尤其在升不上去的時候 我不覺得在這樣情況下 資深工程師會覺得自己對新人有啥責任 大部分都是看的順眼就教你 看不順眼就讓你爆最後 比較符合你說的是團隊溝通跟協作能力 而不是帶人領導能力

Links booklink

Contact Us: admin [ a t ] ucptt.com