1. 程式人生 > >我的程式人生——三年開發的思考,阿里朋友給我總結的“Java架構師技術棧”

我的程式人生——三年開發的思考,阿里朋友給我總結的“Java架構師技術棧”

想寫這篇文章已經很久了,本來計劃在3月份,也就是剛好滿3年的時候寫的,但是因為各種各樣的原因推到了現在才開始碼字。

小感慨

三年是一段很長的時間,它足夠讓你從高中畢業進入大學,也能讓你從一個開發新人到一個成熟的開發人員。但是總感覺高中三年和開發三年的時間不是等長的,高中三年裡時間過得很慢,每天需要學的東西不多,但能在考試中看到自己的成長;開發三年裡時間過得很快,每天需要學習的東西非常多,但卻很難看到自己的提升和變化。

大公司和小公司

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

在自己開發的前兩年多都在一個初創公司裡,幹過android、ios、php、前端,研究過人工智慧,甚至做了2個月的產品運營,一個偽全棧工程師就是這麼練成了,什麼都會一點,但是都不深入。初創公司基本是沒有機會讓你去深入研究某項技術的,需要的是產品快速迭代更新,聽到的最多的一個詞就是“能用就行,下次在優化”,然後就沒有然後了。

在這個公司裡也有一個大家認為是大牛的同事,android、ios、java、php、python、前端、大資料、人工智慧都參與過,也做出了一些成績,最近他要離職了,我和他聊了聊天,其實他自己是很迷茫接下來要做什麼。
創業公司和大公司的選擇在知乎上也有很多人在討論,大部分人的觀點是畢業能去大公司就去大公司,大公司能提供完善的制度,有很多優秀的同行在你身邊,能給你深入研究的的機會等等。說的基本沒問題,但是目前很多大公司校招的人沒有那麼多了,通過大公司的面試也沒有那麼容易,大部分人第一份工作也是初創公司或者創業公司。當然創業公司並不是一無是處,雖然技術深度沒有大公司的同學那麼深,但是技術廣度一般會強一些,這對之後去大公司跨團隊溝通和交流還是有一定幫助的。在創業公司需要有自己對未來的一些想法和規劃,也需要在某一個方面有深入的瞭解和學習,時刻保持危機感和飢餓感,這樣才能有更好的成長。

最近的工作

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

業務與架構

寫業務煩嗎?
煩,老是進行重複的coding,提升和進步緩慢。
做架構爽嗎?
爽,因為能研究一些新的東西,能夠提升自己某一方面的技術。

自己最近也在思考做業務和做架構的問題,做業務的確很容易陷入到一種重複重複再重複的無限迴圈中,重複的技術棧,重複的業務場景,這些的確阻止了開發者的成長。那業務中要如何成長?個人的想法是多總結和記錄開發中遇到的問題,多思考如何能夠優化業務程式碼,如何寫出高拓展性的程式碼,這可能是一些成長的點。做架構的確能經常研究一些新的東西,比如參與ssr的同構、動態化方案等等,但是如果只是為了架構而架構,脫離了業務場景,這也是沒有價值的。所以就我個人而言,希望既能參與到部分業務中去,也能參與部分架構的任務,這樣可能個人的提升會更大一些。

面試?

最近投了一份簡歷,面了一次試,但並不是同一家公司。之前在一個群裡看到了考拉的一個招聘,薪水開的不錯,所以打算去試試水,然而居然連面試的機會都沒有得到。面試的那次是釘釘,因為之前投過也面過阿里,所以這次簡歷又被釘釘撈出來面了一次,面試的感覺有點糟糕,一方面是因為沒有準備好,另一方面和他們要招的崗位不是十分符合。其實最近沒有離職的打算,面試也是為了看看自己目前到了什麼樣一個水平,感覺陷入了瓶頸期,也是希望通過面試能夠跳出目前有些糟糕的狀態。最近一年也面了3次阿里了,效果不是很理想,奇怪的是至今沒有獲得一次網易的面試機會,不知道是不是因為網易對簡歷篩選十分嚴格還是什麼別的原因。

以前學東西是為了成就感,現在是為了生存

這句話不是我說的,是一個ios的妹紙說的。最近我們一起參與了一次分享,一位實習生同學分享她最近一個月的學習情況和成長,會後聊天的時候那位妹紙發來了這一句話。這句話聽著像過來人語錄,自己也是有一些感慨,想起自己剛開始學習程式設計的時候,第一次打印出hello_world的時候,第一次開發出一個完整的android頁面的時候,第一次解決了技術難題的時候,那種內心的喜悅和成就感是促使我接著往程式設計走下去的動力,但是慢慢的這種感覺越來越來少,甚至消失了。當然這是一個正常的過程,自己在不斷進步和提升的同時,內心G點的閾值也會不斷的提升,這是需要適應的過程。這句話可能反應了一些現狀,但是如果學東西只是為了生存的話很難把事情做的很好,所以應該以一個積極的心態來面對。最後套用一句常用的話來總結:不忘初心、方得始終。

身體和精神狀態

這個可能是每個程式設計師都或多或少的會遇到一些問題吧,比如長時間面對電腦,頸椎、腰、眼睛、頭髮等等可能都會有一些問題,也因為加班、熬夜等問題引起一些奇奇怪怪的問題。就自己來說最近頸椎一直很不舒服,持續的時間也挺長了,同時感覺身體狀態也不如之前了,才僅僅才工作了三年,身體的狀態就大不如初了,這算是一個危險的訊號,如何在繁忙的工作中多花時間鍛鍊是接下來需要解決的問題。

展望

我很喜歡給自己定製一些目標,比如三年要達到怎樣的水平,達到目標很開心,沒達到目標很失望。就三年這個節點來說其實並沒有達到自己的目標,有點小失望吧,但是路還是需要繼續走的,希望在下一個目標節點能夠達成。接下來的三年,我想按照一個阿里朋友總結的“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】

相關推薦

程式人生——開發思考阿里朋友總結的“Java架構技術

想寫這篇文章已經很久了,本來計劃在3月份,也就是剛好滿3年的時候寫的,但是因為各種各樣的原因推到了現在才開始碼字。 小感慨

做了開發的出路在哪?

  轉眼之間,從事開發工作已三年,但卻是第一次建立部落格,第一次寫文章,確實很慚愧。。。回想起剛剛接觸程式碼的時候,有些興奮,同時也有很多迷茫。。。興奮的是我即將從事這麼神祕、這麼牛X的一份工作,我將用我的雙手敲出的程式碼來改變我的生活;迷茫的是,我該怎麼開始呢?   由於我“大學”(暫且叫它是大學,其實就

開發管理個月努力5A成績通過PMP就在51CTO!

ive 技術分享 直接 src text 小金 log iso27001 如果 我是2012年畢業本科,畢業之後到了杭州的恒生電子進行工作,從事的是基金,後來在13年的底來到了北京,做一些項目管理系統開發工作,2018年剛過完年,就感覺自己的職業生涯

在北京開發月薪16k如何在第四要到30k以上(文末大福利送書!!!)

工作三年現況自述 半道出家的程式設計師,從不偽造簡歷,起點低,三年時才16k月薪*14在北京外包公司,認為混的比較差。 當然補充一句,不要拿應屆生的所謂待遇來比,不是你比不起,而是這麼比沒意義,應屆生接觸了四年計算機相關領域,你到現在接觸這個行業也不到四年,

分享8開發經驗淺談java程式設計師職業規劃

在中國有很多人都認為IT行為是吃青春飯的,如果過了30歲就很難有機會再發展下去!其實現實並不是這樣子的,在下從事.NET及JAVA方面的開發的也有8年的時間了,在這裡在下想憑藉自己的親身經歷,與大家一起探討一下。 明確入行的目的 很多人幹IT這一行都衝著“收入高”這一點的,

工作十程式設計師卻拿著畢業的工資再不開竅就真晚了!

小韓是一家小公司的軟體程式設計師,而十年後他還在那家公司,依然是一名普通的程式設計師。算起來,他工作也有十多年了,但是,他卻告訴我,他的工資已經好幾年沒有漲過了。 工作十年的程式設計師,卻拿著畢業三年的工資 小韓如今的處境有大環境的原因,畢竟他所

上了大學一些感想

1.   在很長一段時間裡,我都挺怕去學校的。   我本就是一個特別喜歡依賴別人的人,可能就是因為太過於依賴他人,才感覺自己愈發的孤獨。坦白的講,對於孤獨我總有種厭惡的感觸,既矯情,又扎心。   我知道,內心缺乏安全感的人,除非彼此愛的深沉,否則甚至可能會給他人帶來不

一個程式設計師工作思考

三年了,我對自己很不滿意。 我畢業於一個三本院校的計算機專業,技能完全靠自學。 三年前,我去一家遊戲公司實習,聰明、手快就是領導對我的評價。 2012年下半年我參與了一個新的頁遊專案,做了一年多,我努力工作,積極進取,一個人頂兩個人,那一年我被評為S級員工,於是加薪,升職。

開發程式設計師的職場經驗談

點選上方“程式人生”,選擇“置頂公眾號”第一時間關注程式猿(媛)身邊的故事近來工作不在狀態,煩躁

百度阿里阿里p8架構淺談:是如何順利進入BAT

說來慚愧,也不怕你們笑話。做開發8年多,到目前還是一名不折不扣的掃地僧。年前的辭職,到現在還在家靜養中。其實也沒什麼,就是回家總結一下自己這些年來在外工作與面試等做一個簡單的總結與反思。做一下自己後面一個人生規劃。不過在家每天也是在擼碼,還有就是複習與學習現在的架構知識點,學習使人進步嘛!不是麼?畢竟技

奇葩說結束了但帶思考卻剛剛開始

老羅 告訴 可能性 問題 我只 似的 存在 避風港 學習 引子 我像一個腦殘粉似的追了奇葩說四季,從不喜歡到深愛,這個變化也驚到我自己了。雖然第四季結束了,但我卻得到了很多思考,尤其是最後一場表演賽。我一直覺得我們終究會變為自己討厭的樣子是不好的,但換個角度其實這也是成長,

[技術總結]做技術思考

數值 再看 slam 分析 如何 繼承 階段 工作 虛函數 真的應該早點寫了.廢話少說,瑣碎也要寫! 1.C++一門語言,用於輔助你完成工作的,不要把太多精力砸在折騰語言上.其實很多語法是用不到的, 但關於多態 繼承 派生 虛函數這些, 還是要花點時間去過一遍,

用了7時間成長為阿裏Java架構你呢?(附學習路線圖)

架構 後端 Java 編程語言 前言:我用了七年的時間,一步一步走到了現在,中途也有了解過其他的技術,也想過要轉其他的語言,但是最後還是堅持下來走Java這條路,希望我的經歷可以幫助到後來的人,要是覺得對你有幫助的話,可以點贊關註一下。導讀:1、架構師應不應該寫代碼2、為什麽別人的系統總是那麽

人生最美好的事都是從願意開始的。。。

初學者 重新 個人 要花 缺點 真的 想象 建議 衡量 人生最美好的事,都是從我願意開始的、、、 --------------- 所謂好人最寶貴的就是時間和方法,他要做好各方面的準備去達到自己的目標、人的大腦雖然每天要“充電”三次,還要關機7個小

同是3開發經驗為什麼你的技術比別人差很多?

你有沒有靜下心來思考過:同樣是做了x年Java開發,為什麼你的技術比別人差很多? 其實技術水平的高低和個人智商關係不大(畢竟能做Java程式設計開發大家都不會差),主要和勤奮程度、提升方法有... 你有沒有靜下心來思考過:同樣是做了x年Java開發,為什麼你的技術比別人差很

在北京做java來談談為什麼你寧願吃生活的苦也不願吃學習的苦

為什麼有的人可以在浮躁的大學生活裡保持高中努力拼搏的狀態,有的人卻碌碌無為還以為“精神自由”而沾沾自喜? 為什麼有的人可以在職場上獨當一面,不斷成長,而有些人卻在用一年的工作經驗打了十年工? 驅動前者的是不安於現狀的焦慮,他們努力踏出舒適圈,時刻挑戰自己的惰性

程式設計師:面試過程被一頓diss最後卻通過了去還是不去?

技術面試是每一位程式設計師都會經歷的一件事情,面試的過程大都相似,技術面試官會通過自己的方式去考察程式設計師的技術功底與基礎理論知識,這個過程被有的程式設計師成為“造火箭式的技術轟炸”,認為面試的東西都是極為高大上的,這大概是所有面試的共性吧,考察的東西肯定是要

20184月份阿里最新的java程式設計師面試題目

目錄技術一面(23問)技術二面(3大塊)效能優化(21點)專案實戰(34塊)JAVA方向技術考察點(15點)JAVA開發技術面試中可能問到的問題(17問)阿里技術面試11.Java IO流的層次結構?2.請說出常用的異常型別?3.SKU的全稱是什麼,SKU與SPU的區別及關係

程式設計師一沒休假想請年假時主管卻問道:技術部是缺人了嗎

如今網際網路行業的飛速發展,背後離不開程式設計師的努力。絕大多數網際網路公司加班都是一種預設的文化了,作為程式設計師半夜下班都是見怪不怪了,上次就有一個程式設計師半夜2點回家被當做小偷的例子,就有一程式設計師吐槽自己18年沒有請過一次假,但是今年想請假天年假還被拒絕了。 原貼如下: &

程式人生中的八大建議助你提升程式設計能力

從程式設計小白到大牛,每個程式設計師在程式人生中的發展不盡相同。無論你是新手還是老司機,以下這8大建議,對提升程式設計能力會有幫助。1. 瞭解自己的學習風格每個人都有屬於自己的學習風格。有些人喜歡通過讀書來獲取知識,有些人則需要親自動手才能記得牢,還有一些人希望通過老師講課來