作者tofuflower (無)
看板Soft_Job
標題Re: [請益] 後端工程師要如何更優秀
時間Mon Jun 3 11:50:22 2019
※ 引述《csjs87 (思念的季節)》之銘言:
: 各位年薪三百萬的大神們好,小弟不才又上來請益了。一年前為了選擇資策會的課程在版上發了問,有幸獲得許多人的回覆。
: 從資策會畢業、順利找到工作也一陣子了,現在月薪37k,主要是協助開發後端。但我碰到一些對於自己不足的地方,想再次請教各位。
: 一、
: 因為公司沒有一套完整的教育訓練或是架構的教學,所以即使我有嘗試在我負責做的小工具、api中盡量使用"我認為的oop觀念"、"solid的開發原則"。但還是不曉得是否正確,同事們大多也都很資淺,加上沒有太多時間幫我看(專案忙)。我要怎麼檢視自己的code是良好、容易維護的呢?
不知道你用什麼語言,我假設是業界常看到的那幾款好了。
在本地端架一套 sonarqube 起來,把自己的 code 掃一遍,
你就會知道那些 code 寫得不好了。
我現在有在公司內部架一套,用來避免自己一時恍神寫出爛 code。
中高階的程式架構 design pattern, SOLID 等,碰過的專案越多再搭配書來看才會比較有感覺,
初期沒概念很正常。
新手我推薦 Clean Code / Clean Architecture 系列,寫的淺顯易懂。
英文聽力還 ok 的話,可以去 youtube 搜尋 "robert c. martin" 或 "martin fowler"
這兩位大師在講解程式架構概念非常有一手,可以把複雜的概念講的很簡單。
單配英文字幕看不會太難懂。
: 二、
: 偶爾會看版上或是104徵才需要什麼樣的能力,為將來不管跳槽或是談薪水更有籌碼。我印象中常看到的有雲端架設相關(aws、azure)、程式設計上(單元測試、graph api)、其他(CI/CD、Docker容器、TDD)。雖然都有查過也大致知道是什麼,但也僅此而已,更不曉得知識還很淺薄的我有沒有誤會什麼。
個人強烈建議先投資測試,從最簡單的 unit test 開始。
xUnit Test Patterns: Refactoring Test Code 這本書就很不錯。
沒有測試保護你要去搞 CI/CD 只是把有問題的 code 上到 prod 的流程自動化而已。
當你跑過幾輪 code 從開發到測試到上到 pro 環境的流程後,
可以看一下這本書: Continuous Delivery。
: 三、
: 最後是一些比較底層的資料結構、計算機概論這類都幾乎是0知識。雖然計概有自己看台大開放課程的計算機概論,是多少有學到一些,但又好像不是我現在急迫必要的知識。聽說資工有本聖經恐龍本,看過目錄發現,很多都是我常常看到的陌生詞彙。I/O、thread、Process等等,我覺得好像不看懂這些我就很難更精進。
: 其實我本身不是“非常”熱愛寫程式的人,我會在寫code的時候為解出bug感到開心,也會邊騎車邊想程式的事,看到好像很神奇的新技術新聞也會很興奮,也想做side project,想使用新知識。但到了休假日,也很少真的著手進行。
: 總之我現在稍微有點迷惘,對於程式這條路我覺得我才剛起步,也不想離開。但學海無涯,光上面就太多東西要學。
: 根據我自己的感覺,只知道自己暫時還不太想鑽研前端。而對於我上面提到的各種知識,能怎麼安排、規劃比較好?謝謝大家。
這是長期投資,短期內很難看到成效,但請持之以恆地繼續鑽研,
有一天你會發現扎實的基礎可以讓你更快的定位系統異常或效能問題。
OS 恐龍本 / Fundamentals of Database Systems
這兩本我都很推薦想走後端的工程師看。
: -----
: Sent from JPTT on my Sony G8142.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.146.95.158 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1559533824.A.248.html
推 bobbyaxe: 感謝分享 06/03 12:25
推 jt912129: 感謝分享 06/03 12:45
推 lgates: 感謝分享 06/03 12:53
推 LERICAL: 推 06/03 13:38
推 oopFoo: 推。還有花時間學寫註解如JavaDoc,把公司的code補一補。 06/03 13:44
→ oopFoo: 也可以學到很多。 06/03 13:45
→ lwtech: 我是不太推薦補 JavaDoc, 因為你不會永遠在那家公司 06/03 13:45
→ lwtech: 核心能力學一學,沒有就閃,人生很短不用浪費時間 06/03 13:49
→ knives: JavaDoc還需要學?編輯器plugin裝一裝,快捷鍵就幫你產生樣 06/03 15:58
→ knives: 版刻出來了 06/03 15:58
推 paul800526: 這一定要推 06/03 16:30
推 locklose: 推測試,而且覆蓋率越高有助提升生活品質 06/03 17:04
推 vn509942: 感謝分享 06/03 17:38
推 keroro01: 是 Martin Fowler吧 06/03 18:22
推 alihue: 是 馬丁佛凹樂,不是 馬丁扶老二 06/03 18:29
推 ricky0050: 高手!! 06/03 18:57
→ csieflyman: 果然有人會誤認為馬丁花 06/03 19:10
該死!居然打錯大師的名字。
請容我扶老二致歉 qwq
※ 編輯: tofuflower (49.217.44.15 臺灣), 06/03/2019 19:49:53
※ 編輯: tofuflower (49.217.44.15 臺灣), 06/03/2019 19:50:24
推 csjs87: 非常詳細,也推薦了很多書,謝謝大大 06/03 21:29
推 clamperni: 推 06/03 21:58
推 GGFACE: 你好像很會看書 06/03 22:40
推 jj0321: XD 這兩個大師在軟體工程貢獻許多~~ 06/03 22:41
推 toothlesses: 推 06/03 22:51
推 sharku: 推 06/03 22:57
推 BignoZe: 推 06/04 00:06
推 molopo: 非常感謝 06/04 01:31
推 BlacksPig: 推 06/04 07:06
推 frankshih: 感謝分享,不只後端,基本上軟體開發都受用 06/04 07:11
推 boy955403: 感謝分享,推推 06/04 11:56
推 marsyang1: 推 06/04 13:08
推 showgunLa: 推 06/04 18:24
推 richer6605: 非常感謝分享 06/05 00:33
推 aliasber66: 推 06/06 12:44
→ cloudskyblue: 結果這些讀到透徹然後面試被演算法洗臉 06/06 21:03
→ lwtech: 結果隔天中樂透從此人生煩惱的是錢要怎麼花 06/07 12:35
推 q10242: 謝謝 06/07 14:06
推 internetms52: 推 06/25 08:08