個人程序人生——三年開發的思考,阿里朋友給我總結的「Java架構師技術棧」

想寫這篇文章已經好久了,原本計劃在3月份,也就是恰好滿3年的時候寫的,可是由於各類各樣的緣由推到了如今纔開始碼字。php

小感慨

三年是一段很長的時間,它足夠讓你從高中畢業進入大學,也能讓你從一個開發新人到一個成熟的開發人員。可是總感受高中三年和開發三年的時間不是等長的,高中三年裏時間過得很慢,天天須要學的東西很少,但能在考試中看到本身的成長;開發三年裏時間過得很快,天天須要學習的東西很是多,但卻很難看到本身的提高和變化。前端

大公司和小公司

u=2540083568,3013756559&fm=26&gp=0.jpgvue

在本身開發的前兩年多都在一個初創公司裏,幹過android、ios、php、前端,研究過人工智能,甚至作了2個月的產品運營,一個僞全棧工程師就是這麼練成了,什麼都會一點,可是都不深刻。初創公司基本是沒有機會讓你去深刻研究某項技術的,須要的是產品快速迭代更新,聽到的最多的一個詞就是「能用就行,下次在優化」,而後就沒有而後了。在這個公司裏也有一個你們認爲是大牛的同事,android、ios、java、php、python、前端、大數據、人工智能都參與過,也作出了一些成績,最近他要離職了,我和他聊了聊天,其實他本身是很迷茫接下來要作什麼。
創業公司和大公司的選擇在知乎上也有不少人在討論,大部分人的觀點是畢業能去大公司就去大公司,大公司能提供完善的制度,有不少優秀的同行在你身邊,能給你深刻研究的的機會等等。說的基本沒問題,可是目前不少大公司校招的人沒有那麼多了,經過大公司的面試也沒有那麼容易,大部分人第一份工做也是初創公司或者創業公司。固然創業公司並非一無可取,雖然技術深度沒有大公司的同窗那麼深,可是技術廣度通常會強一些,這對以後去大公司跨團隊溝通和交流仍是有必定幫助的。在創業公司須要有本身對將來的一些想法和規劃,也須要在某一個方面有深刻的瞭解和學習,時刻保持危機感和飢餓感,這樣纔能有更好的成長。java

最近的工做

最近幾個月負責組織開發了一個vue的組件庫,參與了vue-srr的同構,也作了一些webpack的優化。vue的組件庫其實已經有不少了,不過不是很符合公司自身的業務場景,因此選擇本身寫一個組件庫。這個組件本身參與的組件不是不少,可是由於這個組件庫瞭解到在團隊內推動一個項目不是想象中那麼容易,特別是一個多人蔘與的項目,早期雖然你們報名認領了任務,可是由於業務繁忙等等緣由,這個組件庫基本沒有進展。後面本身開始主動開始推動這個項目,制定開發計劃,跟蹤各位同窗開發進度,這樣才讓項目一步步走上正軌,也很感謝各位參與同窗的支持。
vue-ssr同構是團隊內部很重要的一個調整,同構有各類各樣優點,好比支持seo,首屏速度,開發體驗提高等等。也許是由於本身node相關技術積累很少,只參與了一小部分的項目架構,不少服務端相關的架構設計也是另外的同事去完成的,其實本身也有點遺憾沒能更多的參與到其中去,最近也計劃用官方的demo在本身搗鼓搗鼓,更熟悉其中的一些架構設計。
webpack的優化也是由於作同構項目時遇到了一些問題,好比說用dll提高打包速度,優化熱更新速度等等。本身對webpack的瞭解仍是停留在了使用的階段,源碼和內部機制尚未進行很深刻的學習,這也算是近期的學習計劃吧。node

業務與架構

寫業務煩嗎?
煩,總是進行重複的coding,提高和進步緩慢。
作架構爽嗎?
爽,由於能研究一些新的東西,可以提高本身某一方面的技術。python

本身最近也在思考作業務和作架構的問題,作業務的確很容易陷入到一種重複重複再重複的無限循環中,重複的技術棧,重複的業務場景,這些的確阻止了開發者的成長。那業務中要如何成長?我的的想法是多總結和記錄開發中遇到的問題,多思考如何可以優化業務代碼,如何寫出高拓展性的代碼,這多是一些成長的點。作架構的確能常常研究一些新的東西,好比參與ssr的同構、動態化方案等等,可是若是隻是爲了架構而架構,脫離了業務場景,這也是沒有價值的。因此就我我的而言,但願既能參與到部分業務中去,也能參與部分架構的任務,這樣可能我的的提高會更大一些。android

面試?

最近投了一份簡歷,面了一次試,但並非同一家公司。以前在一個羣裏看到了考拉的一個招聘,薪水開的不錯,因此打算去試試水,然而竟然連面試的機會都沒有獲得。面試的那次是釘釘,由於以前投過也面過阿里,因此此次簡歷又被釘釘撈出來面了一次,面試的感受有點糟糕,一方面是由於沒有準備好,另外一方面和他們要招的崗位不是十分符合。其實最近沒有離職的打算,面試也是爲了看看本身目前到了什麼樣一個水平,感受陷入了瓶頸期,也是但願經過面試可以跳出目前有些糟糕的狀態。最近一年也面了3次阿里了,效果不是很理想,奇怪的是至今沒有得到一次網易的面試機會,不知道是否是由於網易對簡歷篩選十分嚴格仍是什麼別的緣由。webpack

之前學東西是爲了成就感,如今是爲了生存

這句話不是我說的,是一個ios的妹紙說的。最近咱們一塊兒參與了一次分享,一位實習生同窗分享她最近一個月的學習狀況和成長,會後聊天的時候那位妹紙發來了這一句話。這句話聽着像過來人語錄,本身也是有一些感慨,想起本身剛開始學習編程的時候,第一次打印出hello_world的時候,第一次開發出一個完整的android頁面的時候,第一次解決了技術難題的時候,那種心裏的喜悅和成就感是促使我接着往編程走下去的動力,可是慢慢的這種感受愈來愈來少,甚至消失了。固然這是一個正常的過程,本身在不斷進步和提高的同時,心裏G點的閾值也會不斷的提高,這是須要適應的過程。這句話可能反應了一些現狀,可是若是學東西只是爲了生存的話很難把事情作的很好,因此應該以一個積極的心態來面對。最後套用一句經常使用的話來總結:不忘初心、方得始終。ios

身體和精神狀態

這個多是每一個程序員都或多或少的會遇到一些問題吧,好比長時間面對電腦,頸椎、腰、眼睛、頭髮等等可能都會有一些問題,也由於加班、熬夜等問題引發一些奇奇怪怪的問題。就本身來講最近頸椎一直很不舒服,持續的時間也挺長了,同時感受身體狀態也不如以前了,才僅僅才工做了三年,身體的狀態就大不如初了,這算是一個危險的信號,如何在繁忙的工做中多花時間鍛鍊是接下來須要解決的問題。程序員

展望

我很喜歡給本身定製一些目標,好比三年要達到怎樣的水平,達到目標很開心,沒達到目標很失望。就三年這個節點來講其實並無達到本身的目標,有點小失望吧,可是路仍是須要繼續走的,但願在下一個目標節點可以達成。接下來的三年,我想按照一個阿里朋友總結的「Java架構師技術棧」來系統的提高本身,走優秀的人走過的路,老是沒錯的!

看到這裏還沒過癮,那麼就來羣裏與更多的大佬交流切磋技術,戳這裏:我們來一塊兒抱團取暖,好嗎?最重要的是羣內有阿里京東等一線互聯網公司有從業經驗的資深架構師進行答疑解惑【Java高級互聯網架構:964357187】

(1) 要具有紮實的Java基礎

這裏所謂紮實的Java基礎不是咱們一般所理解的Java語法、面向對象的概念,而是能深入理解Java的多線程開發,熟練使用NIO技術優化網絡編程,瞭解JVM的底層機制,具有底層性能調優的能力,這些技能偏偏是Java開發人員每每忽略的基礎。

(2) 深刻學習經常使用開源框架

不少小夥伴可能會很困惑,爲何BAT的面試官老是喜歡問源碼?其實咱們經常使用的Spring、MyBaits這樣的框架能夠說是JAVA裏面最經典的教科書,從中你能學習到不少寫代碼的經驗技巧,而去悟開源框架中蘊含的優雅架構設計之道這纔是最重要的。

(3) 高性能分佈式系統設計與應用

根據雙十一日誌統計,前端系統有效請求約60w以上的QPS ,然後端cache的集羣峯值近2000w/s、單機也近30w/s,互聯網大廠的架構師面對的就是這樣的生產環境,因此分佈式、緩存、消息這樣搭建高性能系統的技術必須掌握。

image

(4) 微服務(分佈式服務技術)

微服務架構是一種架構風格,整個應用被劃分並設計爲以業務域爲模型的鬆散耦合的獨立服務,方便橫向擴展能力、伸縮性強、便於開發和維護等等這些是微服務與生俱來的優點。

(5) 溝通合做的能力

程序員的戰鬥,每每不是一我的的戰鬥,咱們如何在一個平臺下高效的去重,進行代碼review,對功能進行調整、debug,作到在統一的規劃下步步爲營,混亂的堆代碼的過程當中找到本身的記錄。這一切都依賴於有效的工具,Git、Maven和jenkins。

寫了這麼多,我相信系統的掌握這些技術只需幾個月,也但願沉澱三年後的我更精彩,借用hip-hop圈經常使用的一句話來結尾好了。keep real。

end…

一整套架構學習視頻,能夠分享給須要的人,進羣免費領取!【Java高級互聯網架構:964357187】

相關文章
相關標籤/搜索