2019年5月4日 星期六

資深工程師該有怎樣的樣子

作者: NDark (溺於黑暗) 看板: Soft_Job
標題: Re: 資深工程師該有怎樣的樣子?
時間: Sun Mar 24 03:00:34 2019

※ 引述《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憤而離職又是一個亂搞的主管做結.而這就是一個資深與資淺
差異的有趣故事,資深在哪裡?資深在旁邊聽然後憋著不能笑)




--
"May the Balance be with U"(願平衡與你同在)

遊戲設計教學,討論,分享。歡迎來信。

黑水溝歷史文庫 https://ndark.wordpress.com/

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 94.59.222.202
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1553367638.A.27B.html
 [1;37m推  [33mgenius945 [m [33m: 相當認同,尤其心態跟找適合自己文化的公司             [m 03/24 04:15
 [1;37m推  [33mshuangrain [m [33m: 分析的非常好  推推                                  [m 03/24 06:20
 [1;37m推  [33mlion741205 [m [33m: 推推                                                [m 03/24 06:30
 [1;37m推  [33mpkro12345 [m [33m: 推                                                   [m 03/24 06:31
 [1;37m推  [33msppqre [m [33m: 推                                                      [m 03/24 07:24
 [1;31m→  [33mMOONY135 [m [33m: 只是要份工作跟想找適合自己的公司 有差...不過有時候談  [m 03/24 07:59
 [1;31m→  [33mMOONY135 [m [33m: 一談覺得對方不適合自己的時候我就會失去談下去的力氣    [m 03/24 07:59
 [1;37m推  [33mbrianhsu [m [33m: 推                                                    [m 03/24 08:04
 [1;37m推  [33moscarchichun [m [33m: 推                                                [m 03/24 08:20
 [1;37m推  [33mqrtt1 [m [33m: OK 好                                                    [m 03/24 08:50
 [1;37m推  [33muok [m [33m: 感謝                                                       [m 03/24 09:25
 [1;31m→  [33muok [m [33m: 我明白我的心態問題比較大                                   [m 03/24 09:25
 [1;31m→  [33muok [m [33m: 覺得自己應該是只用菜鳥的心態在做事,而不是表現出一個有10   [m 03/24 09:25
 [1;31m→  [33muok [m [33m: 年應驗的態度                                               [m 03/24 09:25
 [1;37m推  [33mpeanut97 [m [33m: 推。這就是人和的精神:換位思考對方要的是什麼。        [m 03/24 09:52
 [1;37m推  [33mtotte [m [33m: 好文                                                     [m 03/24 09:57
 [1;37m推  [33mevan2006 [m [33m: 推!原po有經驗且願意分享                               [m 03/24 09:58
 [1;37m推  [33mshooter555 [m [33m: 時程真的是非常難估計啊 往往在時間上多加了很多緩衝   [m 03/24 10:01
 [1;31m→  [33mshooter555 [m [33m: 空間 結果中間被插入其它project 馬上打亂整個行程     [m 03/24 10:01
 [1;37m推  [33myotsuba1022 [m [33m: 謝謝分享 很受用                                    [m 03/24 10:13
 [1;37m推  [33mchiu1505 [m [33m: 推!                                                  [m 03/24 10:18
 [1;37m推  [33mqazedcrfv [m [33m: 推                                                   [m 03/24 10:24
 [1;31m→  [33mMasakiad [m [33m: 估時間要靠感覺抓buffer,這當成senior該有的樣子......  [m 03/24 10:41
 [1;31m→  [33mMasakiad [m [33m: 我的老天鵝,這應該弄錯了什麼吧?                      [m 03/24 10:42
 [1;37m推  [33mchocopie [m [33m: 很棒的文章                                            [m 03/24 10:46
 [1;37m推  [33mvi000246 [m [33m: 時程滿難估的 原本以為簡單的需求 只是多加一個參數      [m 03/24 11:05
 [1;31m→  [33mvi000246 [m [33m: 結果花了一個禮拜才完成                                [m 03/24 11:05
 [1;37m推  [33mKelvinKang [m [33m: 推個                                                [m 03/24 11:17
 [1;37m推  [33myamakazi [m [33m: mind set很重要                                        [m 03/24 11:18
 [1;37m推  [33mnelley [m [33m: 推技術談的太多文化談的太少                              [m 03/24 11:20
 [1;31m→  [33mDrTech [m [33m: 這篇不像是走技術的資深了                                [m 03/24 11:38
 [1;31m→  [33mDrTech [m [33m: 每個人的定位與個性不同,選對自己的資深方式很重要。      [m 03/24 11:39
 [1;37m推  [33mgiantwinter [m [33m: 第三段不錯                                         [m 03/24 12:19
 [1;31m→  [33mt64141 [m [33m: 離職原因我覺得應該要照實回答,頂多掩蓋自己問題的部分     [m 03/24 12:30
 [1;31m→  [33mt64141 [m [33m: 正如你說的:這些可能都會發生在新的公司,就算過度包裝然後  [m 03/24 12:31
 [1;31m→  [33mt64141 [m [33m: 進去後才發現這些真的都發生在新的公司了,然後又要再找?    [m 03/24 12:32
 [1;37m推  [33mYahooTaiwan [m [33m: 被插單到會耽誤其他專案時,只需要反映給 Project ow  [m 03/24 12:35
 [1;31m→  [33mYahooTaiwan [m [33m: ners 們,並請他們自己去喬出先後順序即可。          [m 03/24 12:35
 [1;31m→  [33mt64141 [m [33m: 離職原因的背後比較像"評估公司的缺點是人選不能接受的嗎"  [m 03/24 12:37
 [1;37m推  [33mlittlethe [m [33m: 坦白說,原PO個性不能算差,只能說太直太硬,不太會做人    [m 03/24 13:00
 [1;31m→  [33mlittlethe [m [33m: 真要講個性問題,有太多工程師,甚至PM的個性比他糟太多   [m 03/24 13:01
 [1;31m→  [33mlittlethe [m [33m: 差別只是原PO最後沒有遇到一個可以罩他的人,有運氣成分  [m 03/24 13:02
 [1;37m推  [33mlouis70109 [m [33m: Thanks for share                                    [m 03/24 14:35
 [1;37m推  [33manyanyaa [m [33m: 推 受益良多                                           [m 03/24 15:13
 [1;37m推  [33mloadingN [m [33m: 可是人資都不理肥宅                                    [m 03/24 16:14
 [1;37m推  [33mzoevera [m [33m: 推                                                     [m 03/24 16:19
 [1;37m推  [33mki59920 [m [33m: 推                                                     [m 03/24 16:19
 [1;37m推  [33mshenevol [m [33m: 推這篇                                                [m 03/24 16:22
 [1;37m推  [33mgpctv [m [33m: 我覺得面試那個回答的不錯                                 [m 03/24 17:26
 [1;37m推  [33msolonwu [m [33m: 成熟的工程師                                           [m 03/24 17:32
 [1;37m推  [33mmathrew [m [33m: 推這篇                                                 [m 03/24 17:48
 [1;37m推  [33ma122112259 [m [33m: 推                                                  [m 03/24 19:58
 [1;37m推  [33mnewyellow [m [33m: 好文!真的談文化的太少                               [m 03/24 21:57
 [1;37m推  [33mEric0605 [m [33m: 推                                                    [m 03/24 23:57
 [1;37m推  [33mjill [m [33m: 不藏私給推                                                [m 03/25 00:01
 [1;37m推  [33mHenryMillion [m [33m: 很有啟發 推!                                      [m 03/25 00:10
 [1;37m推  [33mgentleman45 [m [33m: 你為什麼離開前一間公司?   正確回答:我晚上還要回  [m 03/25 00:41
 [1;31m→  [33mgentleman45 [m [33m: 去加班。面試官: 好,你錄取了                      [m 03/25 00:41
 [1;37m推  [33mgentleman45 [m [33m: 下周做這部份可以嗎?  回:1.之前你都沒問過怎麼突   [m 03/25 01:15
 [1;31m→  [33mgentleman45 [m [33m: 然問?是很複雜嗎。2.我有拒絕你過嗎?               [m 03/25 01:15
 [1;37m推  [33mshooter555 [m [33m: 真的回答晚上還要回去加班只會被覺得是怪人吧          [m 03/25 01:26
 [1;37m推  [33mAPTON [m [33m: 樓上,我覺得回答沒有好壞,只有公司方能不能接受而已       [m 03/25 01:45
 [1;31m→  [33mshooter555 [m [33m: 可要是我聽到這回答我應該不會錄取@@ 第一點 這個人    [m 03/25 02:02
 [1;31m→  [33mshooter555 [m [33m: 假設錄取了 可還是會在做前份工作的事 第二 可能是在   [m 03/25 02:02
 [1;31m→  [33mshooter555 [m [33m: 跟我練肖威 第三 我只會覺得這人怪怪的, 只有我這麼   [m 03/25 02:02
 [1;31m→  [33mshooter555 [m [33m: 想嗎?                                              [m 03/25 02:02
 [1;37m推  [33mmosbeer [m [33m: 推                                                     [m 03/25 07:08
 [1;37m推  [33msean60706 [m [33m: 推                                                   [m 03/25 09:56
 [1;31m→  [33mku399999 [m [33m: 資深不是應該幫忙疏通中間的溝通障礙嗎...               [m 03/25 10:21
 [1;37m推  [33melsa0818 [m [33m: 推                                                    [m 03/25 12:08
 [1;37m推  [33maa83090202 [m [33m: 推 感謝分享                                         [m 03/25 12:14
 [1;31m→  [33mlittlethe [m [33m: 我也覺得回答晚上加班怪怪的                           [m 03/25 12:37
 [1;37m推  [33muiop019 [m [33m: 軟體業我是不知,如果是科技業IT 你只會app 活不下去 一   [m 03/25 15:34
 [1;31m→  [33muiop019 [m [33m: 定要五種以上程式語言,還要很豐富的整合經驗             [m 03/25 15:34
 [1;37m推  [33mluke72 [m [33m: 我看過的科技業IT都只要會windows  還有國文跟投影片專精   [m 03/25 15:49
 [1;31m→  [33mluke72 [m [33m: 反正內部系統都外包給中國  萬年IE 6 only  會打嘴砲就好   [m 03/25 15:50
 [1;31m→  [33mluke72 [m [33m: 程式語言,整合經驗這些都是RD在要求的                     [m 03/25 15:51
 [1;37m推  [33mSLBALL [m [33m: 好文推推                                                [m 03/25 15:57
 [1;31m→  [33mcodehard [m [33m: 規格亂改就是失敗的開始 但我要叫他敏捷開發 潮          [m 03/25 18:57
 [1;31m→  [33mbndan [m [33m: 其他就算了 = = 離職原因最好講實話 工作是找適合的 既然因  [m 03/25 20:25
 [1;31m→  [33mbndan [m [33m: 某些原因離職 那再找的工作自然就該避開那些原因...不然一   [m 03/25 20:26
 [1;31m→  [33mbndan [m [33m: 直迴圈下去 只是讓自己越來越母湯而已...                   [m 03/25 20:26
 [1;37m推  [33mjack0204 [m [33m: 敏捷改規格阿                                          [m 03/26 09:23
 [1;31m→  [33mshooter555 [m [33m: 隕石開發法阿, 台灣不都用這個嗎?                     [m 03/26 09:28
 [1;37m推  [33mzxc26260727 [m [33m: 推                                                 [m 03/26 17:40

沒有留言:

張貼留言

您好.本資料庫並非第一手資料.如果你有對文章作者的詢問,意見與需求,請自行找尋文章作者並提供意見,謝謝.