Re: [請益] 動作快被壓時間怎辦?

作者: alihue (wanda wanda)   2018-08-21 23:05:16
這種狀況容易發生在轉換不同類型的工作環境
從 接案型公司 到 非接案型公司 最容易有這種落差
接案型公司,在固定的專案金額下,RD 越快,人越少,利潤越高,
最好一個人可以從 sa 包到 pg
可以留下的 RD 通常都是精英(接案界的菁英)
但是! 接案特性通常就是先有再說,案子結束就不會再碰到了,
因此軟體工程思維非常薄弱。
從設計 design pattern, interface, inversion of control
到寫測試、code review、自動化、容器化等等完全沒有,
因為沒有用,案子都是一次性的。
老闆問你說為啥動作這麼慢,結果你說你在重構? 下週要驗收了你重構三小
但這種人到非接案型公司,就會顯得自己速度真的滿快的
但是真正的問題是不會馬上顯現出來。
因為以前在接案公司很少碰過大系統,所以把以前的壞習慣都帶過來
在 object 亂偷渡不相干資料、db 偷塞 json、用 try/catch 做 flow control ....
過一陣子,系統開始在某些特殊操作下出現 bug,往回一追發現你是罪魁禍首
會發生什麼事?
資深同事:寫得快有什麼用? 還不是 OOXX
PM:你的程式品質很差,BUG 很多
到最後不得人緣,開始覺得這是爛公司
另外一方面,同一個功能為什麼其他同事會比較慢?
有時候這是老經驗,因為自己手上不會只有這一件事要處裡
你給我全職只開發這一項當然 1 天沒問題
但是我同時有 N 個任務要做,
而且依照經驗這種需求往往要牽動到 XX / 有沒有其他更好的設計
開發完還要跑一次 unit test/integrated test, code review, design review
所以眼前的快不是快,可能有很多你沒看到的東西
當然,也有可能你是天才拉... 速度快、架構漂亮、什麼會、什麼都懂
那這間公司不適合你,繼續往上跳,跳到 FLAG 之後同事還在稱讚你又快又強再說
否則軟體學海無涯,一個 Feature 做到完美就夠讓你殺時間了
以上故事如有雷同純屬巧合
作者: abccbaandy (敏)   2018-08-21 23:11:00
推,所以有人說接案公司練功,真的是害人練複製貼上的手速而已
作者: richard07250 (blazing)   2018-08-21 23:26:00
推這篇
作者: wildli0422 (wild)   2018-08-21 23:28:00
推推,最近剛好要轉職,謝謝
作者: testPtt (測試)   2018-08-21 23:34:00
對新手而言練幾個月還好啦 手感先練到位
作者: pttworld (批踢踢世界)   2018-08-21 23:47:00
一般是進不去大公司去做派遣,這篇反過來
作者: tommady (tommady)   2018-08-21 23:47:00
同事都說我是最快的backend, 辦事不用一分鐘QAQ但這稱號真的好嗎? 累又有壓力, 何苦我的感想,純CRUD的測試code殺小只是新手再寫,當熟道一定境界,測試滿足CICD,直上又如何?寫CRUD測試根本浪費生命要你整config hot reload,但infra不support怎麼辦?硬著頭皮redis pub/sub啊,怎麼辦,能短時間解掉的才是王道要修version100再來呀,一開始講明白這design有問題就好
作者: t64141 (榕樹)   2018-08-22 00:19:00
看到精英嚇一大跳,還好後面有解釋XD
作者: sjuyellow   2018-08-22 01:37:00
說的好
作者: ripple0129 (perry tsai)   2018-08-22 02:35:00
個人覺得接案公司練功沒什麼不好,沒經過寫爛code的過程,往往不知道軟工的好處。且接案公司一人多角色可以看清整個系統運作的全貌。大公司寫某系統下的小功能,可能待幾個月了系統整體怎樣都還是不清楚,需求開來照著寫就是了。CRUD測試是單人自幹時不寫還好,多人協作你被別人改到就知道為什麼要寫囉。
作者: CaptainTeemo (提摩隊長)   2018-08-22 05:18:00
在 Python用 try/catch 做 flow control 好像沒什麼不對
作者: ku72 (ku72)   2018-08-22 08:27:00
寫到最後 知道什麼地方可以髒 什麼地方不行 速度自然會很快
作者: MOONY135 (談無慾)   2018-08-22 08:37:00
同上 然後髒的地方就懶的重構了
作者: ladadee (LaDaDee)   2018-08-22 09:45:00
請問大大要怎麼自學那些軟工的思維,本身在接案公司三年,真的都不會
作者: ripple0129 (perry tsai)   2018-08-22 10:29:00
軟工就是多讀書,然後多重構自己的code實踐書讀來的知識
作者: TitanEric (泰坦)   2018-08-22 11:26:00
新手弱弱問一下 用try catch作flow control哪裡不好呢?
作者: MOONY135 (談無慾)   2018-08-22 12:22:00
接案沒有時間思考 所以就是能快就快 你現在的快會讓你以後變慢
作者: ripple0129 (perry tsai)   2018-08-22 12:49:00
原po提的try/catch flow control不好,估計是不處理ifnull這類的狀況
作者: chrisjohn214 (咪咪獎)   2018-08-22 12:53:00
我甲乙兩方都待過,覺得不盡然是這樣
作者: bndan (seed)   2018-08-22 12:54:00
保持開放學習/參考的心 這樣就算在從專案公司=>產品公司 也
作者: chrisjohn214 (咪咪獎)   2018-08-22 12:54:00
很多甲方反而因為有包袱不敢重構,軟體品質爛就給他爛了
作者: chrisjohn214 (咪咪獎)   2018-08-22 12:55:00
相對的,通常對乙方都會蠻要求的,因為做完這個就跑了,你留下來的東西我看不懂怎麼辦,反而盯得很緊
作者: bndan (seed)   2018-08-22 12:56:00
的人..就算環境不佳沾染惡習 只要到對的環境一樣能修正回來
作者: chrisjohn214 (咪咪獎)   2018-08-22 12:56:00
當然我也有看過很糟的乙方,我覺得這事沒定論就是
作者: pennymarkfox (潘尼老狐狸)   2018-08-22 13:01:00
推個! 真的是經驗談!
作者: Argos (Big doge is watching u)   2018-08-22 17:03:00
測試是為了因應常常被修改的需求阿 跟CRUD純不純熟有什麼關係?感覺樓上根本完全不了解測試的意義齁你CRUD再熟有什麼用?這個模組三天一小改五天一大改 哪天改壞了你怎麼辦?別人改壞怎麼辦?顯而易見的錯誤就算了 如果是那種很特殊狀況下才會出現的Bug勒?要是該區塊寫完了就結束了 當然測試就多此一舉阿
作者: vi000246 (Vi)   2018-08-22 18:00:00
學到一課了 感謝
作者: sharku (明珠求瑕)   2018-08-22 21:26:00
推這篇 超正確
作者: danson   2018-08-23 08:23:00
只覺得是借口而己
作者: viper9709 (阿達)   2018-08-23 21:08:00
推這篇~非常中肯
作者: chia7712 (Spright)   2018-08-25 09:15:00
剛好接案和產品研發都有在做。我倒是覺得兩者在軟體開發能力上的「訓練」是有所區分,到不是真的有優劣之分

Links booklink

Contact Us: admin [ a t ] ucptt.com