Re: 資深工程師該有怎樣的樣子?

作者: NDark (溺於黑暗)   2019-03-24 03:00:34
※ 引述《uok (鋼鐵領主)》之銘言:
: 2010年7月開始進入資訊業
: 主要是寫ANDROID APP
: 現在也九年了
: 一路上不敢說表現得多好
: 但也是一路過關斬將殺到現在
: 隨著經歷越來越多
: 每次去面試的公司反而砲火都越來越猛
: 從年紀幾歲(35很老嗎?)
: 寫什麼程式(會JAVA為什麼不能勝任C?
: 換幾任工作(我待過七家公司關你啥事啊……
: 面試的問題都越來越愛針對我的私人經歷打轉
施主我覺得你的問題真的不小.
但你其實快到了十年之癢,會思考職涯問題是非常正常.
(通常是時候寫出標題為十年磨一劍的文章了)
我相信你認為自身的技術應當沒有問題,我建議調整的地方是心態.
甚麼心態?
怎麼看待軟體開發工作?自己怎麼看自己?公司或用人主管怎麼看自己?
試著放開心胸,想像自己是公司或用人單位.借位思考,才不會老是陷入工程師的本位角
度在看事情.
首先先回答你 資深與資淺人員的差異
我認為第一個是在估計時程
資淺的開發者比較難估計相對準確的時程.甚至對時程問題會恐慌(註).通常發生埋頭
下去研究或實作,才發生時程爆棚延遲需要加班的狀況(當然年紀輕通常不會覺得加班有
甚麼問題,畢竟是做自己喜歡的工作).
(註)曾經發生過一個關於估計時程真實發生的故事.放在最後分享.
資深的開發者,望文生義就是做過的東西多,所以比較容易舉一反三,雖然專案總是不能
掌控,但是憑以往經驗猜,都能猜的八九不離十.特別是一些非技術性的時程(預留規格
變動的時間,預留除錯的時間),有時抓開發時程的Buffer時,靠的是一種對公司對專案
對團隊綜合的感覺或Fu~.
公司一定是希望快一點完成,但是也要做完才算數.所以多少時程換來多少規格?多少效
能安全性?開發人員要能夠解釋出來,不是單純的瞞天喊價.瞞天喊價久了公司文化就會
出問題.在這條規格線上一定有人是不懂技術的,當然有必要解釋給對方聽.一邊我不想
解釋,一邊我不想聽.那最後就是分手離婚情殺的悲劇.
第二個是心態的轉變
工程師多半是喜歡且擅長對付機器的,喜歡應付人的早早就轉行去拉保險了(真實故事).
我也曾為了做出甚麼可擴充系統,自動產生程式碼系統,看到自己寫的AI會照著規畫對著
自己發炮興奮不已.
但是公司或專案真的要的是甚麼?甚麼才能產生價值?這個問題是開發者要在不同公司去
解的謎.
我做的是遊戲軟體,我最近的心態認為我的專業是即便做我不喜歡的遊戲類型,我都能做
得好,我都能願意去了解為什麼對於某些玩家來說這個介面上 0.000 一定要顯示三位小
數點,不能有浮點數計算誤差.而不是兩手一攤就給PM一個電腦浮點數運算本來就會有二
進位誤差的理由.
也就是說我的心態慢慢轉變為我是在做軟體服務,我服務的是我的團隊,讓他們開心,而
把程式寫好少臭蟲只是讓他們開心(就不會來煩我)的其中一個方法.也許有更多方法更
有效果來解這個謎(或是說"人的Bug")
簡單來講,網路上有一個笑話是.
專業就是:你可以用"好,沒問題!"取代心中吶喊的"What the fxxk?"
這樣的心態讓我的心情比較不會受到開發的困擾,反正就是你有問題我來解,我不能解的
我也要講出為什麼我解不了?或是更好的是,我要花多少時間才能解?我給你上中下三策
你要哪一種?
這是為什麼敏捷流行的原因之一,規格總是會改變,不能改變它,就接受它.(但能量總
是守恆,敏捷不代表能解決規格時程人力的三角題.)
第三個是面試
我仍然建議你借位思考,去想想面試官為什麼要問那些問題?
就跟租屋一樣,面試之時剛好是勞資雙方剛見面信任最差的時候,卻要做出最重大的決定

我是不是該在這裡上班?vs.我是不是該雇用這個人?
如果雙方是用互相猜忌的心態取代互相合作解決問題的心態.那麼我可預見到職/雇用後
這個關係一定會往惡劣方向發展.而我從你的文章中看到的就是這個心態.
具題來講.面試的101問題是:為什麼你要離開前一間公司?
這個問題的背後是,我僱用你之後,你會不會做一做就跑了?請說服我你不會跑.
應徵者不應專注在回答那個離職的原因.是錢太少,要加班,還是跟誰鬧了甚麼脾氣.(
因為這些可能都會發生在新的公司)
應徵者應該專注在你希望我在這間公司做久.那麼這職位工作及待遇必定值得.(細節都
是可以談,重點是心態問題)
我也換過很多公司.這邊可以給各位一些我用過的理由.往後面對這個問題請不要在憋扭
了.
內心抱怨錢太少->因為我要養家還貸款希望給我家人更好的生活->所以只要給我多點
錢,我就不會走.
前一間公司案件規格管理亂搞->在前一間公司歷練夠了,我希望能夠了解業界優秀公司
的製程->你們肯定是優秀公司吧?難道不是嗎.來談談貴公司的KPI吧.
前一職位時間短->因為部門縮編,技術高層換人,公司方向轉變,我應徵的職能技術未
來不做了->這個理由其實非常好用,見過世面的管理者必定看過起起落落,公司部門縮
編也很常見.公司一下撤資就把人開除,通常都能理解不是員工的問題.面試官除非有
認識的人脈,否則幾乎沒辦法驗證真偽.(這件事是真的發生在我身上,不過對面試
官不需要描述細節)
前一職位沒有跟業界銜接(創業/接案/約聘/臨時工)->因為我想要突破自己的舒適
圈,想要磨練自己除了技術之外待人接物管理的能力->或是更簡單的我現在缺錢,我需
要錢,通常缺錢的員工是好員工,因為他需要需要這份工作不敢隨意離職.
如果這些都太複雜了:
面試開始後,心中請只專注在一件事上:我是來幫忙的,怎麼樣的事情我可以幫得上忙?
(薪水那些的我們事後一定會再談)
對於原PO被問的問題我都不覺得是問題.
年紀問題.答:我有看過比我更資深的優秀開發者.
程式語言.答:Java C/C++/C# JS,我都寫過,其實在我眼中都很像,程式語言在我這個
資歷不太會是問題.
換過很多工作.答:我更能夠了解不同公司不同文化不同職位的差異,以及如何與不同的
職能相處.
最後一個問題是要怎麼判斷公司? 
答案是適合自己的公司文化的公司.喜歡技術的就要去技術強者聚集的地方,喜歡安定的
就去規格變動不大一招打天下,到處有職缺的產業.喜歡妹紙的就要自己多去人資,業務
部門串,妹紙不會從天上掉下來.
我們技術人對技術討論得太多,對文化討論的太少.所以老是用技術去找工作,這樣很容
易找到文化上不適合的對象.
(註)
曾經發生過一個關於估計時程真實發生的故事.
PM:那個PG你下周要做甚麼?
PG:你是PM應該告訴我該做甚麼.
PM:喔好,那麼下周做這個部分可以嗎?
PG:這個部份我沒做過,我不知道下周可不可以完成.
PM:那你下周要做甚麼?
(兩人開始鬼打牆)
(PM問那句話的意思其實是下周的進度我要拿去報告,你做不完至少要讓我有東西交差
,而PG無法一次完成,又無法產出估計的時程,或是分段的計畫,導致兩人溝通產生嚴
重落差.最後這故事以PG憤而離職又是一個亂搞的主管做結.而這就是一個資深與資淺
差異的有趣故事,資深在哪裡?資深在旁邊聽然後憋著不能笑)
作者: genius945 (添財)   2019-03-24 04:15:00
相當認同,尤其心態跟找適合自己文化的公司
作者: shuangrain (粗奶丸)   2019-03-24 06:20:00
分析的非常好 推推
作者: lion741205 (獅子)   2019-03-24 06:30:00
推推
作者: pkro12345 (席龍)   2019-03-24 06:31:00
作者: sppqre (山中練腦殘)   2019-03-24 07:24:00
作者: MOONY135 (談無慾)   2019-03-24 07:59:00
只是要份工作跟想找適合自己的公司 有差...不過有時候談一談覺得對方不適合自己的時候我就會失去談下去的力氣
作者: brianhsu (墳墓)   2019-03-24 08:04:00
作者: oscarchichun (ㄍ一)   2019-03-24 08:20:00
作者: qrtt1 (有些事,有時候。。。)   2019-03-24 08:50:00
OK 好
作者: uok (鋼鐵領主(假))   2019-03-24 09:25:00
感謝我明白我的心態問題比較大覺得自己應該是只用菜鳥的心態在做事,而不是表現出一個有10年應驗的態度
作者: peanut97 (丁丁)   2019-03-24 09:52:00
推。這就是人和的精神:換位思考對方要的是什麼。
作者: totte (totte)   2019-03-24 09:57:00
好文
作者: evan2006   2019-03-24 09:58:00
推!原po有經驗且願意分享
作者: shooter555 (shooter)   2019-03-24 10:01:00
時程真的是非常難估計啊 往往在時間上多加了很多緩衝空間 結果中間被插入其它project 馬上打亂整個行程
作者: yotsuba1022 (Carl)   2019-03-24 10:13:00
謝謝分享 很受用
作者: chiu1505 (天下第一武道大會優勝者)   2019-03-24 10:18:00
推!
作者: qazedcrfv (512)   2019-03-24 10:24:00
作者: Masakiad (Masaki)   2019-03-24 10:41:00
估時間要靠感覺抓buffer,這當成senior該有的樣子......我的老天鵝,這應該弄錯了什麼吧?
作者: chocopie (好吃的巧克力派 :))   2019-03-24 10:46:00
很棒的文章
作者: vi000246 (Vi)   2019-03-24 11:05:00
時程滿難估的 原本以為簡單的需求 只是多加一個參數結果花了一個禮拜才完成
作者: KelvinKang (凱文)   2019-03-24 11:17:00
推個
作者: yamakazi (大安吳彥祖)   2019-03-24 11:18:00
mind set很重要
作者: nelley (名字:大便王)   2019-03-24 11:20:00
推技術談的太多文化談的太少
作者: DrTech (竹科管理處網軍研發人員)   2019-03-24 11:38:00
這篇不像是走技術的資深了每個人的定位與個性不同,選對自己的資深方式很重要。
作者: giantwinter   2019-03-24 12:19:00
第三段不錯
作者: t64141 (榕樹)   2019-03-24 12:30:00
離職原因我覺得應該要照實回答,頂多掩蓋自己問題的部分正如你說的:這些可能都會發生在新的公司,就算過度包裝然後進去後才發現這些真的都發生在新的公司了,然後又要再找?
作者: YahooTaiwan (超可愛南西我老婆)   2019-03-24 12:35:00
被插單到會耽誤其他專案時,只需要反映給 Project owners 們,並請他們自己去喬出先後順序即可。
作者: t64141 (榕樹)   2019-03-24 12:37:00
離職原因的背後比較像"評估公司的缺點是人選不能接受的嗎"
作者: littlethe (東周流浪漢)   2019-03-24 13:00:00
坦白說,原PO個性不能算差,只能說太直太硬,不太會做人真要講個性問題,有太多工程師,甚至PM的個性比他糟太多差別只是原PO最後沒有遇到一個可以罩他的人,有運氣成分
作者: louis70109 (Nijiayu)   2019-03-24 14:35:00
Thanks for share
作者: anyanyaa (阿nyaa)   2019-03-24 15:13:00
推 受益良多
作者: loadingN (sarsaparilla)   2019-03-24 16:14:00
可是人資都不理肥宅
作者: zoevera   2019-03-24 16:19:00
作者: ki59920 (scofield)   2019-03-24 16:19:00
作者: shenevol (shen)   2019-03-24 16:22:00
推這篇
作者: gpctv (gpctv)   2019-03-24 17:26:00
我覺得面試那個回答的不錯
作者: solonwu (絕對的信仰可以革新命運)   2019-03-24 17:32:00
成熟的工程師
作者: mathrew (Joey)   2019-03-24 17:48:00
推這篇
作者: a122112259 (wade)   2019-03-24 19:58:00
作者: newyellow (newyellow)   2019-03-24 21:57:00
好文!真的談文化的太少
作者: Eric0605 (我還有點餓)   2019-03-24 23:57:00
作者: jill (陳吉兒)   2019-03-25 00:01:00
不藏私給推
作者: HenryMillion (亨利萬世)   2019-03-25 00:10:00
很有啟發 推!
作者: gentleman45 (紳士南)   2019-03-25 00:41:00
你為什麼離開前一間公司? 正確回答:我晚上還要回去加班。面試官: 好,你錄取了下周做這部份可以嗎? 回:1.之前你都沒問過怎麼突然問?是很複雜嗎。2.我有拒絕你過嗎?
作者: shooter555 (shooter)   2019-03-25 01:26:00
真的回答晚上還要回去加班只會被覺得是怪人吧
作者: APTON (瑋瑋)   2019-03-25 01:45:00
樓上,我覺得回答沒有好壞,只有公司方能不能接受而已
作者: shooter555 (shooter)   2019-03-25 02:02:00
可要是我聽到這回答我應該不會錄取@@ 第一點 這個人假設錄取了 可還是會在做前份工作的事 第二 可能是在跟我練肖威 第三 我只會覺得這人怪怪的, 只有我這麼想嗎?
作者: mosbeer (摩斯)   2019-03-25 07:08:00
作者: sean60706   2019-03-25 09:56:00
作者: ku399999   2019-03-25 10:21:00
資深不是應該幫忙疏通中間的溝通障礙嗎...
作者: elsa0818 (Elsa)   2019-03-25 12:08:00
作者: aa83090202 (ylllewwww)   2019-03-25 12:14:00
推 感謝分享
作者: littlethe (東周流浪漢)   2019-03-25 12:37:00
我也覺得回答晚上加班怪怪的
作者: uiop019 (uiop019)   2019-03-25 15:34:00
軟體業我是不知,如果是科技業IT 你只會app 活不下去 一定要五種以上程式語言,還要很豐富的整合經驗
作者: luke72 (ccc)   2019-03-25 15:49:00
我看過的科技業IT都只要會windows 還有國文跟投影片專精反正內部系統都外包給中國 萬年IE 6 only 會打嘴砲就好程式語言,整合經驗這些都是RD在要求的
作者: SLBALL   2019-03-25 15:57:00
好文推推
作者: codehard   2019-03-25 18:57:00
規格亂改就是失敗的開始 但我要叫他敏捷開發 潮
作者: bndan (seed)   2019-03-25 20:25:00
其他就算了 = = 離職原因最好講實話 工作是找適合的 既然因某些原因離職 那再找的工作自然就該避開那些原因...不然一直迴圈下去 只是讓自己越來越母湯而已...
作者: jack0204 (Jarbar王朝)   2019-03-26 09:23:00
敏捷改規格阿
作者: shooter555 (shooter)   2019-03-26 09:28:00
隕石開發法阿, 台灣不都用這個嗎?
作者: zxc26260727   2019-03-26 17:40:00
作者: ShadowInWind (炸雞)   2019-04-01 23:46:00
感謝分享

Links booklink

Contact Us: admin [ a t ] ucptt.com