Re: [請益] senior該是什麼樣子的?新人怎麼進階?

看板Soft_Job作者 (科科彬)時間5年前 (2019/02/05 23:31), 編輯推噓11(1101)
留言12則, 12人參與, 5年前最新討論串4/6 (看更多)
我覺得這是個有價值的問題,希望自己的一點想法可以對你有所幫助 先討論什麼是 senior 該有的樣子,由於我本身是 backend developer 下面的說明主要是 我自身的經驗,不過只要你的工作是 software enginner 我覺得大部分的概念都是通用的 senior 跟 junior 的主要差別在於抽象跟選擇,造成兩者能力落差的主要原因是經驗跟基礎 知識的深度。 留下重要的資訊省略所有不必要的細節就是抽象,好的抽象才能產生有好的程式碼(可讀性、擴 充性、robust、正確度、效能...) 新人往往會關注於功能的實現與細節,而忽略了功能背後 的脈絡與目的,因為他不曉得如何從比較高的層次來抽象化,所以產生了一系列可怕的結果(錯 誤百出、可讀性差、沒辦法改寫)。 選擇其實也是一樣的情況,選擇不同的寫法、Framework、 Language、 Databsase 、 是否要寫測試、哪些 exception 需要處理... 在這些選擇背後的是足夠的知識與經驗 去做出正確的取捨,而不僅僅只因為某個原因(我只會用 PostgreSQL、k8s 很潮、 Golang 聽說很快)。 如何根據使用情境做出正確的選擇是一件困難的事情,而 senior 比 junior 更有機會做好這件事情是因為 senior 踩過夠多的雷,有更扎實的基礎知識與 domain knowhow,所以他們懂得利用這些資訊去找出最適合的選擇。 新人怎麼進階? * 做每個功能前先確認這個功能的目的是什麼,你的工作不是完成某個 for loop,而是 確保你的 code 有幫助到你們公司/組織。 * 學好工作上常用工具(i.e. Database、Framework)的底層知識,這是非常值得的投資。 * 先 code 前先用紙筆把想像中的實作大概描述一下,看一下是否合理(容易理解、擴充) * 寫測試,這是一個抽象化的好練習,抽象做得好,測試沒煩惱。 * 學好英文,正確的命名是好的開始、很多重要的知識都是英文居多。 * 請同事 review 你的 code 看有沒有改進的地方(跟你的寫法有什麼差異、看不看得懂、 有沒有辦法修改) 最後推薦幾本書 Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321 Site Reliability Engineering https://landing.google.com/sre/sre-book/toc/index.html A Philosophy of Software Design https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.22.77 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1549380689.A.BBE.html

02/05 23:34, 5年前 , 1F
太久沒用了,好難排版喔 QQ
02/05 23:34, 1F

02/06 00:10, 5年前 , 2F
好文推
02/06 00:10, 2F

02/06 03:30, 5年前 , 3F
02/06 03:30, 3F

02/06 05:40, 5年前 , 4F
選擇的原因那段好像在說我XD psql和k8s和go都中了
02/06 05:40, 4F

02/06 11:25, 5年前 , 5F
好文 我還在菜逼8 看完受益良多
02/06 11:25, 5F

02/06 19:20, 5年前 , 6F
認真推
02/06 19:20, 6F

02/06 23:50, 5年前 , 7F
推連結
02/06 23:50, 7F

02/07 00:22, 5年前 , 8F
go psql中槍
02/07 00:22, 8F

02/07 08:20, 5年前 , 9F
我對抽象類別跟介面也沒什麼感覺Q.Q
02/07 08:20, 9F

02/07 16:36, 5年前 , 10F
中槍+1
02/07 16:36, 10F

02/11 01:04, 5年前 , 11F
02/11 01:04, 11F

02/11 23:11, 5年前 , 12F
02/11 23:11, 12F
文章代碼(AID): #1SMQnHk- (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1SMQnHk- (Soft_Job)