作者:
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 做到完美就夠讓你殺時間了
以上故事如有雷同純屬巧合
推,所以有人說接案公司練功,真的是害人練複製貼上的手速而已
作者: 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
說的好
個人覺得接案公司練功沒什麼不好,沒經過寫爛code的過程,往往不知道軟工的好處。且接案公司一人多角色可以看清整個系統運作的全貌。大公司寫某系統下的小功能,可能待幾個月了系統整體怎樣都還是不清楚,需求開來照著寫就是了。CRUD測試是單人自幹時不寫還好,多人協作你被別人改到就知道為什麼要寫囉。
在 Python用 try/catch 做 flow control 好像沒什麼不對
作者:
ku72 (ku72)
2018-08-22 08:27:00寫到最後 知道什麼地方可以髒 什麼地方不行 速度自然會很快
作者:
ladadee (LaDaDee)
2018-08-22 09:45:00請問大大要怎麼自學那些軟工的思維,本身在接案公司三年,真的都不會
軟工就是多讀書,然後多重構自己的code實踐書讀來的知識
新手弱弱問一下 用try catch作flow control哪裡不好呢?
接案沒有時間思考 所以就是能快就快 你現在的快會讓你以後變慢
原po提的try/catch flow control不好,估計是不處理ifnull這類的狀況
作者:
bndan (seed)
2018-08-22 12:54:00保持開放學習/參考的心 這樣就算在從專案公司=>產品公司 也
很多甲方反而因為有包袱不敢重構,軟體品質爛就給他爛了
相對的,通常對乙方都會蠻要求的,因為做完這個就跑了,你留下來的東西我看不懂怎麼辦,反而盯得很緊
作者:
bndan (seed)
2018-08-22 12:56:00的人..就算環境不佳沾染惡習 只要到對的環境一樣能修正回來
作者:
Argos (Big doge is watching u)
2018-08-22 17:03:00測試是為了因應常常被修改的需求阿 跟CRUD純不純熟有什麼關係?感覺樓上根本完全不了解測試的意義齁你CRUD再熟有什麼用?這個模組三天一小改五天一大改 哪天改壞了你怎麼辦?別人改壞怎麼辦?顯而易見的錯誤就算了 如果是那種很特殊狀況下才會出現的Bug勒?要是該區塊寫完了就結束了 當然測試就多此一舉阿
作者:
sharku (明珠求瑕)
2018-08-22 21:26:00推這篇 超正確
作者: danson 2018-08-23 08:23:00
只覺得是借口而己
作者:
chia7712 (Spright)
2018-08-25 09:15:00剛好接案和產品研發都有在做。我倒是覺得兩者在軟體開發能力上的「訓練」是有所區分,到不是真的有優劣之分