《程序員進階心法》讀書(一)
《程序員進階心法》讀書(一)
前段時間在why佬技術群里有童鞋介紹了《程序員進階心法》這本書,后來去圖書館借書偶然又遇到了這本書,我本人也是一直在找一個突破技術的方法,遂借來讀讀,我是先粗讀了一遍,后又細讀了比較關心的章節,收獲比較大,特此記錄。
在前言里作者提到:
這是一本關于路徑與成長的思考數據,側重路徑選擇和自我認知,讀完書后 預期會有如下收獲
1)建立學習的體系與思維模型
2)梳理清晰的成長與進階路線
3)掃清成長路上的迷茫與障礙
4)形成明確的自我定位與認知
程序員級別的定義
初級:
學會了常用開發技術和框架,理解基本業務,工作在系統的局部區域內,在指導下實現功能解決問題,螺絲釘級別的工作,影響有限。 只是開發代碼。
初級如何晉級:定期歸納總結局部工作經驗,不斷優化工作內容,在團隊內做出分享,幫他人解決問題
中級:
獨立性更強,不需要他人指導??梢宰约涸O計實現系統模塊,通過搜集資料自己解決遇到的問題。還是在開發代碼。
很多人卡在中級的原因:雖然在不斷的完成工作,但沒有反思沉淀迭代改進分享
高級:
完成工作,獨立負責,責任感更強。懂得用戶體驗和性能優化,綜合的解決方案。 開發系統,關心最好的技術方案,完善優化。
高級如何再提升:結合多年的行業經驗和自身實踐 抽象提煉出 切實可行的方法論
后面還有資深工程師架構師和專家,他們開發產品 開發團隊 開發夢想
? 個人體會:更重要的是說明了晉級的方法,當前對我來說應該是多反思 沉淀 迭代 改進 分享,并嘗試考慮如何把多年的行業經驗抽象出來
展現
展現專業能力:代碼 架構 認知 決策
展現專業行為:溝通 交流 表達 協作
展現專業產出:作品 方案 洞察 顏色
展現方式:代碼,交流,演講 ,寫作
社交連接圈數
10, 100 每個人都能具備
1000: 必須是一個創作者才有粉絲,需要持續創作能力
10000: 微博,公眾號平臺, 可以發表自己的觀點,擁有了反饋
100000: 神奇的數字,難實現。
海爾邁耶系列問題
你學習這項技術的目標是什么?
這項技術現在是怎么做的,有什么局限?
這項技術有什么創新之處?為什么他能夠取得成功?如果在項目中引入這項技術,誰會關心
如果這項技術能成功,會帶來怎樣的變化?
成本 風險 收益 比例如何?
專業之外
創造模型來解決問題, 洞察真正的用戶需求,現實生活中的表達,推銷展現你的作品,
溝通獲取同步信息,達成共識,換位思考,同理心,自身情緒的控制,知易行難要多鍛煉,
決策取舍,當斷則斷,推進進度
公司業務分類:波士頓矩陣模型
現金牛業務:產生現金的業務
明星業務:有前景的新興業務
問題業務:不確定性因素多,沒有走上正規
瘦狗業務:食之無味,棄之可惜
程序實現的各方面考慮
選型評估:選庫,選框架,選API
程序設計:流程,分支,策略(行串行,同步異步),結構狀態存取
執行效率:運行時間 響應時長 吞吐總量
穩定健壯: 異常處理 邊界條件
維護運維:易讀 易理解 易修改,監控,日志
集成部署
? 個人體會:介紹的比較全面,雖然日常工作接觸的系統 都是小系統 也要更多的考慮設計,自我成長
正交化
任何一個功能僅由一個服務提供,不提供多個類似功能的服務
? 個人體會:正交化這個詞 第一次見到是在 另外一本書《碼農翻身》里,當時還不太理解,在這本書里 正交化 是介紹微服務拆分策略 提到的,它說是 任何一個功能僅由一個服務提供,不提供多個類似功能的服務。后來我還查了正交化的解釋,以軟件設計角度來說,正交化可以理解為解耦,兩個方向不影響。同一個詞從不同的環境來說有不同的含義。
為什么弄清楚用戶需求很困難
用戶心里訴求--》用戶表達需求--》產品定義去--》開發實現
每個環節都可能偏差,第一步用戶到底想干什么 用戶有時是不會直接告訴你的。
系統上線后BUG應對方案
-
了解系統運行環境,學習JVM DOCKER 網絡 磁盤
-
周期性BUG: 一般是資源泄露
-
非規律性BUG: 可能是 IO瓶頸(CPU 網絡 磁盤)
-
神出鬼沒BUG:可能是底層協議有關,多防御性編程
個人體會:提供了一種規律性總結,給出了方向

浙公網安備 33010602011771號