整體概要
- 2019年工作內容概述及取得的成績
- 2019年工作中的不足和存在的問題,及其改進方案
- 2019年在公司的收獲、體會及感悟
- 對公司的意見和建議
- 2020年工作規劃和展望
個人總結
1、2019年工作內容概述及取得的成績
2019年1月7日,我入職了現在這家公司。之后,我參與到了公司的項目迭代。需求分析、編碼實現、Bug修復、線上問題定位,如此反復。彼時的項目流程、文檔管理和產出物的質量,相對來說,都不是很高。但是,年底的回顧,我看到了全公司所有人的協作和努力。項目也在朝著好的方向演進,許多方面都朝著好的方向發展。
細想一下,我在2019年具體的工作內容大致如下所示:
- 熟悉放管服早期版本的業務,對當前架構提出質疑和進一步的改造措施。
- 參與放管服早期版本的機動車市場業務梳理,并設計第一版的表結構和模塊劃分。
- 參與JAVA序列的流程規范梳理(包括:Java編碼、Maven、Mysql、迭代演進、Git分支管理等)。
- 和蒲總、楊嶸等一起梳理微服務的分層和分模塊,以Visio的方式畫出物理架構圖。
- 搭建斑馬信用的微服務環境,初步形成開發腳手架,按模塊梳理出約30個微服務,以支持業務的展開。
- 指導新員工熟悉工作環境,對新老員工提出的疑問進行解答,幫助其成長。
- 參與斑馬信用V1.3版本到V1.9版本的迭代開發(總共10來個版本的迭代),在斑馬信用中,我主要做了以下事情。
- 文章服務的設計和實現。
- Route和Icon公共組件的設計與實現。
- 配合同事完成消息服務的重構。
- 主導信用優享日的功能開發。
- 參與122活動的功能開發。
- 主導非大型貨車通行證的開發(已上線)。
- 參與大型貨車通行證的開發(開發人員為:我、邦凱、趙東和張川(已離職))。
- 抽取公專網websdk模塊,以便于weapp和mobile對接口進行復用。
- 參與城市服務的功能開發。
- 搭建公專網Quartz定時器框架腳手架,并完成一部分Job的實現。
- 設計bmc-dependencies模塊,以便于斑馬信用各組件版本的統一維護。
- 數智貴陽小程序的服務端接口遷移和開發(主要為鑒權和證照查詢)。
- 設計并實現公專網的鑒權邏輯,通過ABToken的方式提高通信的安全性。
- 設計并搭建專網透傳服務。
- 設計并搭建公網透傳服務。
- 設計并實現消息中臺,并對外提供消息相關API。
- 設計并實現短信服務,初版本支持貴陽交管局的短信發送和阿里云的短信發送,但后期因為特殊原因,去掉了貴陽交管局的短信發送。
- 主導非大型貨車通行證關于政務網的對接。
總體來說,我主要參與斑馬信用產品的設計和開發工作,同時也擔任導師的角色。斑馬信用產品于2019年9月份在貴陽正式上線,用戶量逐步上升。期間也遇到很多線上的問題,但是以我豐富的經驗,最終還是將這些問題都解決了。
2、2019年工作中的不足和存在的問題,及其改進方案
雖然公司整體取得了一些不錯的成績,但是往往伴隨著一些需要完善的事項,我覺得主要包括以下這些。
- 數據中臺體系未完全搭建起來,一些數據的查詢還是繞開了數據中臺,直接查詢的是底層存儲,這種方式雖然開發快,但是不好擴展。
- 業務中臺業務不夠單一,職責過于復雜。導致后續的擴展性不高(比如:訂單中臺、商戶中臺)。
- h5頁面訪問的后臺服務接口,沒有從mobile服務剝離出來。導致和mobile、weapp的耦合較為嚴重。
- 微服務整體規范未明確,每個人的經驗和開發方式都不同,寫出的代碼風格嚴重不一致,影響團隊協作的開發。
- 較少的Code Review,導致代碼的質量并不高。
- 沒有單元測試和集成測試,Bug不能及早暴露出來,開發效率不高。另外,改Bug的時間周期變得更長。
- 非斑馬信用服務,缺少日志記錄和鏈式追蹤,導致線上和非線上問題定位難度大。
- JAVA序列缺少整體的、全職的負責人,導致很多規范、風格和事項未落實下去。
- 缺少APM工具。當前線上已搭建Skywalking,但是因為性能問題,目前已經下線,希望后期可以再次上線。
- 組內缺少培訓,導致新員工入職后團隊融入周期長。組外也缺少培訓,導致員工對交通領域知識了解欠缺。
- 灰度(或預發布)環境未真正實施起來,發版時間長。發版時經常是熬夜,人很疲勞,且發版質量不高。
- 公司很多員工(包括我)缺少對大數據知識的了解和入門,因此對大數據的后續發展缺少前瞻性。
- 公司和部門缺少
統一性機制
,或者統一性機制
未真正落實下去,導致很多東西凌亂而復雜,擴展性、易維護性、可讀性、效率等都大打折扣。 - 產品原型太簡單,很多邏輯、交互和細節都做得不夠,導致開發的過程中需要反反復復地和產品溝通,迭代效果不理想。
- 公司的氛圍還需要加強,尤其是團隊外的溝通。
- 業務和技術方面缺少積淀和總結,雖然我們有Confluence平臺,但是未完全發揮出其價值,也希望運維能對Confluence做好備份,避免丟失一個月數據的情況出現。
3. 2019年在公司的收獲、體會及感悟
- 來公司的第一個月,公司給我的感覺是有點冷。自己對公司也有一定的隔閡和放不開的感覺。但是呢,隨著和團隊的逐步融入,我在每個人身上都看到了不一樣的閃光點,當然也有缺點。個人覺得,當學會了吸納別人好的方面,摒棄和反思不好的方面,我們就會少犯錯、少走彎路和錯路。
- 這一年,我還是覺得自己有的時候有點不好溝通。為什么會這樣?經過反思,歸根結底還是自己不夠成熟、不夠容忍和不夠大局觀。那么,怎么改進呢?當有問題出現的時候,首先想到的并不是推諉,而是站在全局的角度上來排查和定位。
- 關于計劃性,我在這一年做得并不好。有的時候忙起來,很多人找你,但是往往會出現做了一件事之后,又忘了還需要做的事情。或者閑的時候,往往有些迷茫自己將要做的事情。合理、高效、有條理地對事項進行管理,我覺得應該是一門學問。我希望通過一些業界好的方法論和書籍,讓自己能進一步管理好自己的時間。
- 在公司這個大平臺中,我在微服務架構方面有了進一步的了解和實踐,包括服務的層次劃分和模塊劃分。
- 在面向C端的服務開發過程中,我有了一定的認知。它和G端和B端有什么不同的地方呢?我覺得還是有很多方面。比如:重服務端、資源管理、版本管理、吞吐量和響應時間、緩存利用率,如此等等。
- 基于文章模塊的設計和實現,采用了Elasticsearch,以前接觸得比較少,現學現賣的感覺還是不錯的,希望后續能進一步將這個框架用得更好。
- 公司整體的目標非常清晰,徐老板也反復強調過。這是很難得的。在公司大環境下,員工的定位是怎樣的,如何最好地為公司發揮力量,值得我們每個人反思。我體驗最深的就是
責任
。成年人的世界有無奈,但是也應背負起我們應盡的責任,這個過程未嘗不是一件值得慶幸的事情。
4. 對公司的意見和建議
- 建議給JAVA序列配套一個負責人。
- 建議加強
統一性
管理,統一這個術語包含我們能想到的方方面面,每個人都可以提意見來完善,同時每個人都必須遵守。 - 建議開發人員有權對產品原型的質量進行評估,在質量不達標的情況下,有權拒絕功能的開發。
- 建議增加交通領域知識的培訓,不局限于現場,可以包括視頻、書籍、新媒體等等。
- 建議持續開展讀書會和技術大學,讓公司員工能在工作之外,提升自己的專業性,更好地為公司服務。
- 建議團隊內對服務的數量、服務的質量、服務的職責、服務的內聚性進行統一的梳理和跟進,持續地對代碼進行優化。
- 建議進一步提高公司內部員工的專業能力,讓他們對規范和統一有較為深刻的理解。
5. 2020年工作規劃和展望
2019年是事情繁多的一年,雖有不足,但收獲也是蠻多的,自己的知識和眼光得到了進一步提升。2020年,希望自己能進一步在C端和B端有一定積累。
在B端,我希望可以參與進去,且能使之成為一個較為完善的開放平臺。做好開放平臺并不是一件容易的事情,需要自己有開闊的視野和一定的前瞻性。能在對商戶、商品、權限等的水平擴展基礎上,設計出一個靈活的系統,只需要通過簡單的動態擴容,在不影響性能的基礎上,實現快速的擴展。而B端有哪些需求和任務呢?這需要根據實際情況,加上解決方案組和產品組的大力支持,才能得出。能否和他們在需求和任務上實現無縫的溝通、交流和協助,是事情能否做好的關鍵因素。
在C端,我希望進一步精煉服務,讓服務功能更內聚。通過可靠的中間件支持(包括存儲的、消息的、調度的),讓我們的系統更加的面向領域化。而領域化是每個公司都致力達到的效果,但是要做好卻并非易事。樓主希望搏上一搏,讓自己在業務和技術方面可以得到進一步的成長。
我是做JAVA開發的,而服務是一個個可治理的、可管理的單元。服務不應該求多,而應該求合理。迭代演進,我們可能會對服務進行合并或拆分,如何快速地實現這一演變,我覺得需要將我們對需求的理解和代碼的規范有一個較好的認知,才能做得足夠好。2020年,樓主計劃在服務的合理性方面做進一步的探索和思考,力求朝著更好的方面發展。
在技術領域,樓主希望能深挖微服務涉及到的各類技術棧,包括:Spring Cloud、Spring Boot。存儲領域,希望深挖Elasticsearch和Mysql。緩存領域,希望進一步了解Redis的原理,以及閱讀Redis的源碼。在大數據領域,希望從HDFS和HBase入手,使自己對大數據的基礎知識進行入門。而大數據需要的進一步知識點,樓主希望多向大數組的同事學習和看齊。雖然在公司里面,我是做JAVA服務端領域的工作,但若是缺少大數據的知識,始終感覺不完整,也丟公司的臉。
在分享方面,樓主希望自己至少對外做3次較為專業的分享,提升自己的演講能力,也讓更多的同事學到更全面的知識。在技術文章及博客方面,樓主希望能持之以恒,堅持以專業的圖文展示自己的價值,且初步給自己定一個寫50篇文章的計劃。總結,需要記錄下來,溯源也好,擔心忘記也罷,至少要留有痕跡。當時光老去,當我們身體不再健碩,思維也不再靈光,我們還能通過一些東西來追憶。