致自己,致讀者,致所有努力的人
大家好,我是Leo。始終堅信分享的越多,收獲的就越多!
今天主要聊一下人生,發(fā)展,規(guī)劃與感悟!
相信大家一路走來,會有很多感觸,對于一個技術(shù)人,大致的發(fā)展路線應(yīng)該就是小白,初級,中級,高級程序員(更高的就不說了有點看機(jī)遇)。每到一個級別的進(jìn)階時,都是一個技術(shù)的分水嶺。所以堅持自己的選擇,拿出不放過任何一個問題的態(tài)度是我們的初衷與初心。
小白
對于小白來說,第一件事想的不是技術(shù),而是自己的方向,你是否真正想從事開發(fā)行業(yè)。如果說只為了高工資,早點退場,因為開發(fā)沒那么簡單(你完全體會不到為了解決一個線上問題熬到凌晨2點,最終以失敗告終的心情)。
我記得有一句話是這么說的:選擇比努力更重要,堅持比能力更重要?選擇對了事倍功半,選擇錯了至少要損失1-3年的青春,敢問我們有幾個3年。
很多人聽信外面?zhèn)餮?,說程序員工資高。我只想說別惦記著程序員的那點歪瓜裂棗了,一天24小時。7.30-6.30主要是上班和上班的途中。6.30-7.30陪陪女朋友。8.00-12.00大概就是技術(shù)提升了吧。自己算算時間吧!過多的就不說了。點到為止!
下面聊一下入場之后的規(guī)劃,別報培訓(xùn)班,1-2萬坑的你都不知道東南西北在哪!最好的方式就是加一堆群,經(jīng)常在里面交流,然后找一個靠得住的人,給個2000塊錢叫他帶你入門。入門之后知道該怎么學(xué)習(xí)如何學(xué)習(xí)了一切就都好辦了,剩下的就是看你自己的學(xué)習(xí)方法毅力了!
初級
對于初級程序員來說,主要負(fù)責(zé)的工作就是CURD,別天天想著微服務(wù),多線程,MQ消息隊列有點不切實際,做事一步一個腳印把基本功走實了。
對于初級來說,主要發(fā)力點應(yīng)該是
- 每一個SQL要邏輯清晰,知道量大了之后的弊端。也可以理解成養(yǎng)成?SQL調(diào)優(yōu)的習(xí)慣。
- 多了解一些項目的配置問題。也可以理解成環(huán)境的部署,一定要理解?整個項目的的部署流程
- 計算機(jī)網(wǎng)絡(luò),計算機(jī)基礎(chǔ)的一些相關(guān)知識。只有知道原理,才能更快的定位相應(yīng)的問題*(就好比誰寫的程序,改BUG好改一樣。就是因為你知道了這個功能是如何實現(xiàn)的,所以你才知道問題點與排查思路)*
- 基礎(chǔ)的算法要有相應(yīng)的了解,算法是開拓邏輯思維與提升性能的開端!
- 了解一些設(shè)計模式的設(shè)計思路,可以提供我們系統(tǒng)開發(fā)中的處理方法!
- 熟悉springboot,mybatis,docker重要知識點的原理分析。了解這些可以更高效的開發(fā)出高效系統(tǒng)。
- 最后補(bǔ)充一下Java基礎(chǔ)知識。多看多寫多嘗試。沒捷徑可走
差不多的時候,再進(jìn)階消息隊列MQ,多線程,微服務(wù)這些?;A(chǔ)扎實了,這些其實萬變不離其宗。之前認(rèn)識一個網(wǎng)友,Java基本都不會,上來就要搞docker,elasticsearch,分布式。全程問我,真有點無語。欲速則不達(dá)
中級
對于中級程序員來說,主要負(fù)責(zé)的工作雖然也是CURD,但是不要僅限于CURD了。多做一些技術(shù)突破的事情,為公司團(tuán)隊的項目開發(fā)提出自己的一些見解。
上面說到了見解,其實所有的見解都是在于自己對當(dāng)前技術(shù)棧有了一個足夠的認(rèn)知。那么就要了解其原理了。目前我的技術(shù)應(yīng)該說是快到了中級水平。我現(xiàn)在可以一個人獨立開發(fā)一個項目,從需求分析,前端設(shè)計,后端接口開發(fā),環(huán)境的部署等都可以獨當(dāng)一面。有任何問題可以私聊我一起討論。
對于中級的發(fā)力點是:
- 跳出CURD的業(yè)務(wù)SQL,多嘗試整個模塊的開發(fā),或者說整個系統(tǒng)的開發(fā)
- 對技術(shù)棧的原理要有很深的理解,比如MySQL刷臟頁機(jī)制,兩階段提交,innodb寫入策略,Redis五大常用類型的底層技術(shù)實現(xiàn),RDB+AOF搭配后的方案原理等等。
- 鍛煉自己的交流溝通能力,不要埋頭只知道寫代碼。除非你是研發(fā)人員(開創(chuàng)者)
- 進(jìn)行微服務(wù)的進(jìn)階學(xué)習(xí),要了解服務(wù)與服務(wù)之間的整體架構(gòu),假如方案不好,要可以有換方案的那種知識儲備
- 除了微服務(wù),MQ,分布式,多線程,JVM都要與更深次的學(xué)習(xí)。
- 必須要具備系統(tǒng)緩存設(shè)計,秒殺設(shè)計方案,分庫分表方案,ELK方案,異常方案的能力
- 熟悉掌握對第三方接口,服務(wù)文檔開發(fā)。(比如短信驗證碼,OCR識別,支付接口,快捷登錄)
高級
高級我寫的不多,我也不是這個水平的人,這里大概就說一下我的目標(biāo),方向。高級程序員一般的技術(shù)棧的選型應(yīng)該是了如指掌了,MySQL,Redis,mongodb,nosql,RabbitMQ,微服務(wù),多線程,JVM可以說都是精通了。要有帶團(tuán)隊的能力,有大型項目的方案設(shè)計經(jīng)驗。
人生感慨
人生應(yīng)該堅持不斷學(xué)習(xí),扛得住涅槃之痛,才配得上重生之美。牛逼人的光鮮亮麗,你確看不到背后發(fā)了瘋學(xué)習(xí)的痛苦。
我們努力是為了什么?
我的想法是:大海不缺一滴水,森林不缺一棵樹,單位不缺一個人,但是你的家族缺少一個揚(yáng)眉吐氣的人,缺少一個讓家人過上好日子的人,缺少一個為了夢想而努力持續(xù)奮斗的人,之前是誰不重要,重要的是今后你會成為什么樣的人。
回想過往
還有4個月,就是已經(jīng)畢業(yè)1年了。時間好快,回想自己這一年也是非常的充實!
- 呆了4個月了全棧開發(fā),讓我掌握了一個人獨立開發(fā)一個項目的能力,因為公眾號無法IP鏈接,無法分析!
- 后續(xù)就是目前在職的Java后端開發(fā),不斷強(qiáng)化自己未來發(fā)展的技術(shù)棧,下述是技術(shù)強(qiáng)化成果!
對比去年,已經(jīng)完成了MySQL。接下來將用2個月結(jié)束Redis的底層學(xué)習(xí),2個月結(jié)束SpringBoot和Mybatis底層學(xué)習(xí)
2022展望
- 熟悉掌握微服務(wù)底層的相關(guān)技術(shù)
- 。。。。。
- 復(fù)習(xí)以往技術(shù)
寫完第一條,我就不敢寫第二條了,因為涉及的東西太多的,第三條還是留給復(fù)習(xí)吧。
公眾號展望
接下來一周,會更新一篇 3萬字聊聊什么是MySQL的修訂版一,在原基礎(chǔ)上繼續(xù)深入與加餐
接下來兩周,會更新一篇 Redis數(shù)據(jù)結(jié)構(gòu)的實現(xiàn),AOF,RDB的實現(xiàn),Redis是單線程還是多線程
兩個月,輸出完對Redis的理解
兩個月,輸出完對SpringBoot和Mybatis的理解
過年送書,送服務(wù)器,發(fā)紅包
關(guān)注我領(lǐng)取書籍

