工作经验小结 之一
在一家公司呆久了,就容易思維固化。身邊有朋友出去找工作也四處碰壁,即使入職了下一家公司,也很難立足。
?
而我的分析是,1~2年的經驗,其實已經足夠讓我們入門了,學習需求分析、項目管理,寫出更好的代碼,才是我現階段應該做的。
?
做開發很多年,這期間我獲得了很多能力,技術能力、大廠經驗、培訓能力……但是在這里,我建議大家最值得訓練的,還是學習和分析的能力。
?
一、工程化管理工具
不管小白還是大牛,做Java技術,選擇好的工具,才是提升開發和團隊協作效率的關鍵,以下四個工具是必不可少的:
① Maven,項目對象模型,可以通過一小段描述信息來管理項目的構建,報告和文檔的項目管理工具軟件。
② Jenkins,一個開源軟件項目,是基于Java開發的一種持續集成工具,用于監控持續重復的工作。
③ Sonar,一個開源平臺,用于管理源代碼的質量。
④Git,一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
?
二、分布式架構
高并發、高可用、海量數據,沒有分布式架構知識,肯定是無法勝任的。一位朋友在五百強公司工作五年,曾承擔過項目經理多年,將五年開發經驗所得,整理了下面這張學習路線圖。也分享給大家。
圖片來源自CSDN-qq_41696154
?
三、微服務架構
業務流程越來越復雜,代碼量的膨脹和團隊成員的增加,傳統單體式架構的弊端越來越凸顯,嚴重制約了業務的快速創新和敏捷交付。
為了解決傳統單體架構面臨的挑戰,微服務架構橫空出世。微服務有五大優勢,學會微服務,就等于提升了翻倍的工作效率:
-
每個服務足夠內聚,足夠小,代碼容易理解、開發效率提高。
-
服務之間可以獨立部署,微服務架構讓持續部署成為可能。
-
每個服務可以各自進行x擴展和z擴展,而且,每個服務可以根據自己的需要部署到合適的硬件服務器上。
-
容易擴大開發團隊,可以針對每個服務(service)組件開發團隊。
-
提高容錯性(fault isolation),一個服務的內存泄露并不會讓整個系統癱瘓。
-
系統不會被長期限制在某個技術棧上。
?
關于微服務的學習,平時可能經常給大家推薦免費資源,雖然很便利,但是免費資料紛繁復雜,找資料會比較浪費時間,甚至經常找到的不是我們想要的,這份時間成本是沒辦法跟咱們的成長價值匹配的。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: python外汇兑换代码_python爬
- 下一篇: 工作经验小结 之二