
作者:小傅哥
部落格:https://bugstack.cn
沉澱、分享、成長,讓自己和他人都能有所收獲!😄
一、簡介
小傅哥,一線網際網路 Java 工程師、架構師,開發過交易、營銷類項目,實作過營運、活動類項目,設計過中間件,組織過系統重構,編寫過技術專利。不僅從事業務系統的開發工作,也經常做一些位元組碼插樁類的設計和實作,對架構的設計和落地有豐富的經驗。在熱衷于Java語言的同時,也喜歡研究中繼器、I/O闆卡、C#和PHP,是一個技術活躍的折騰者。
13年畢業的我和大多數同期畢業的小夥伴一樣,經曆過;
校企合作的教育訓練
、
傳統外包的求職
平米小屋的蝸居
工作跳槽的應聘
,以及逐漸在網際網路大廠中承擔起 Java 工程師、架構師的職責。這些經曆讓我在技術職業發展中不斷的積累、沉澱和成長,直至目前完成了個人第一本技術書籍的出版。
希望我接下來關于這些經曆和經驗的分享,也能幫助你在求職和職場發展中少走一些彎路,增加一些成長借鑒。
二、大學
給師弟和師妹出出招!
如果我的讀者裡有一些在校大學生,或者有你的師弟或者喜歡的師妹在校的話,那麼你或者他喜歡程式設計,但在學習的路上一直沒有找到方向,接下來的這段内容,可能會對你有一些幫助和指導。
大學階段怎麼學這突如其來的技術程式設計,看着課本上的C++已經有點戰戰兢兢,老師講的課程内容不像是傳道更像是勸退,所有别人明明已經可以運作出來的程式,隻要自己寫就會出現各種問題。我該從哪下手,怎麼下手,老師讓我問不會的,我都不知道哪不會。
可能這就是大多數同學學習程式設計的經曆,以我過來人的學習經驗來說,這個階段其實會留下一部分有興趣愛好的同學,巧妙的弄走一批學着痛苦的夥伴。這不是因為誰聰明、誰數學好、誰英語強導緻的結果,而是堅持學習和本身的興趣喜好導緻。
就像我們新買回來一個自行車,那麼是拆了看看輪子怎麼卸下來更優雅還是騎上走幾圈浪一浪呢。當然你肯定知道要走起來,讓自行車在自己的屁股下奔跑奔跑,感受下沙際春風卷物華,意行聊複到君家。
是以呢,剛接觸來的程式設計,最重要的是先把代碼跑起來,把遇到的bug、問題、異常,藍屏不算,那你得換電腦了,這些都一一解決掉。好,現在已經度過第一個階段,就是學會了怎麼Ctrl+C、Ctrl+V,把别人的代碼複制過來,運作運作。接下來就是需要大量的編寫階段,要多大量呢,以我的經驗來看,整個大學敲了不下20萬行代碼,畢業找工作真的太容易了。
20萬行代碼很多?其實在你學習的階段這些代碼量并不多,尤其是你寫的各種屬性、方法、調用、展示,以及在學習程式設計過程中需要熟練掌握的API、不同功能的方法片段,就像求個水仙花、兔子生兔子、楊輝三角等等,都是你在初學程式設計階段的下手菜。那麼這個階段就是學習程式設計的蓄力階段,主要是對程式設計技術的基礎的夯實,以及多學習與數學相關的内容,比如;資料結構、算法邏輯,這些知識對将來在技術上的提升和造詣都是非常好的基石。
當你能堅持做一件事就把一件事做好,事事,事必躬親、親力親為,想以後“為所欲為”都有可能。
三、教育訓練
你願意參加教育訓練嗎?
我參加過,參加過校企合作的就業教育訓練、參加過入職前期的崗前教育訓練,還有一次是在校期間大學聘請的外部有開發經驗的工程師教育訓練,似乎隻有最開始的這次教育訓練是讓我收獲最大的,後面的幾次教育訓練不斷的重複Java基礎,可能這樣的課程對于連續幾次都沒有入門Java的同學是有幫助的,但對于很大一部分想提升技術的同學來講,還是有些浪費時間的。
通過這樣的經曆想給大家表達的是教育訓練,不一定好或者不好,如果是在校期間就能參加一些教育訓練,那麼還是非常能提升個人學習的能力的,也能開拓對技術的認知和視野範圍。但如果因為剛一畢業就找不到工作,報名去參加Java教育訓練來說,處于這個畢業需要就業階段去參加教育訓練就會顯得非常匆忙,也會有不小的壓力。因為你需要為教育訓練還需要花家裡一筆不小的費用而感覺慚愧,也因為有同期班裡其他同學找到一份不錯的工作而失衡。
其實講道理,大學四年有足夠的時間讓你學會程式設計,也能從一個較長時間的學習中,知道自己适合不适合做程式員。就像我的同學裡雖然都是計算機或者軟體工程專業,但畢業後并沒有都從事軟體開發工作,或者從事了一段時間發現并不适合這個行業而選擇到其他領域發展。
是以如果你是真的喜歡程式設計,那麼在這個行業裡工作你會很開心,如果不是那麼往後路還長,你所要面對的
晉升
加薪
跳槽
都可能成為一道道障礙。目前可能你還是新人不了解自己是否喜歡程式設計開發,那麼可以在以後的學習中體會,自己是否願意為一個運作結果調來調去,輾轉不寐的研究分析,隻為最後那一個運作通過而激動!
那就究竟怎麼學才能在畢業就能找到一份工作,而不需要再額外教育訓練?
如果把這個“究竟”,用一個數量機關來度量的話,那就是在大學期間完成20萬行代碼的開發。20萬行多不?如果從大一開始每天完成200行代碼的開發,一個月算6000行,一年算6萬行,3年就有18萬行,在大學畢業前夕找工作時,你将成為同學眼裡的面霸。因為有這20萬行代碼的學習,基本你已經成為了一個初級研發工程師的水準。
可能有人想,都工作十幾年了也沒寫到10萬行吧!這200行代碼能寫完沒,有意義嗎?
其實對于一個在大學階段上學求識的人來說,在程式設計的學習過程中,你要嘗試開發各種書本、視訊、資料中關于Java裡API的使用,哪怕是一個現在看來很簡單的 List 使用,可能對于初學程式設計的你來說都是巨大的障礙,所有的這些基礎知識認認真真的學完,你都将要寫下龐大數量的代碼。
那些我們難以言表、不作聲響、暗自發力的日子,其實并不是我們想要的生活,而是通往我們想要的生活的路上。
四、就業
我經曆過兩家公司的實習,你呢?
12年冬,校企合作教育訓練後,我面試上了國家科技和中軟國際的管培生,最終選擇了月薪7k的中軟。也就是因為這個選擇,有意思的經曆就此發生。
面試完中軟國際,口頭offer溝通完畢後,久久不發正式錄用通知,也不能去實習。電話溝通後說是需要等到13年4月,具體時間待定。咋辦?我又不能一直在北京租着房子啃饅頭吧!沒辦法就又出去面試,找了一家中科軟進去實習,直到13年4月中旬,接到了中軟的同時,“來參加,崗前教育訓練”,好,又是一次教育訓練。
待教育訓練結束後,終于正式的到公司裡開始工作,但又出了點小狀況,我一個Java開發,入職的到公司的崗位竟然是C#,還需要倒騰中繼器、IO闆卡、PLC、攝像頭等,就這樣我增加了許多其他的技能。好在當時遇到的第一任上司,非常贊,帶着我學會了很多很多,否則可能很早就跑路了!
五、跳槽
2015年8月25日,我跳槽去大廠做Java了!
其實講到跳槽,可能是每個程式員職業發展的必經之路,你積累了多久、沉澱了多少都将會為下一份工作做好鋪墊。
對于我之是以跳槽最大的原因就是想從傳統行業去網際網路看看,也不太想寫C#了,畢竟我從大學開始到經過到幾次教育訓練都是寫Java語言,對于C#語言來說并沒有那麼大的熱情。為了不抛棄Java語言的學習,在第一家公司期間,還把很多公司裡用C#寫的項目,拿去用Java重新寫一遍,隻為了學習Java語言。
後來因為在第一家公司需要做一款資料采集的軟體,正好把 Java 和 Netty 叨叨給上司了,上司也是非常支援,去搞吧!正式因為有了這次技術實踐驗證的經曆,在後來面試網際網路大廠時,會Netty還是挺加分的。
就這樣從一個似乎是外包、傳統的行業裡,跳槽了網際網路大廠開始做Java開發,一做就是5年多。往往對于跳槽來說,選擇一個你喜歡的行業、喜歡的技術,還是會做出很多自己想做的東西的,也能得到滿足于自己那種快樂的成長。
六、副業
"副業",我是一個多能折騰的人?
開過移動售電話卡的小店、做過淘寶賣資料線、接過私活做網站、線上給人講課賺錢、也做過一段時間的技術論壇。但無一例外這些事情并沒有做的長久,有因為跳槽搬家黃的、有因為業餘時間不足沒的、有因為沒有使用者流量挂的,總歸都一一而去了!
所有這些折騰的過的事情,雖然并沒有賺多少錢,可這樣一份份的經曆卻讓我也摸索到了應該适合我的路,那就是做長期價值沉澱的事情。這需要找一個自己擅長的方向,有可持續輸出的内容,與自己的工作内容貼近,能讓自己沉澱也能幫助他人。
是以從2019年7月開始,我參與到技術号主這條路上了,用了整整将近兩年的時間積累了全平台近8萬粉絲才慢慢做的“
人盡皆知
”,說人盡皆知是誇張了,哈哈哈,但現在你去
搜小傅哥
搜重學Java設計模式
搜位元組碼程式設計
搜面經手冊
等等,都會看到的我的身影。當然并不是我的技術有多牛,隻是我希望在不斷的沉澱積累中可以把每個屬于我認知範圍的技術内容全部輸出出來,至少這樣可以提升自己也可以幫助屬于這個階段的技術同好。
但目前這個副業并沒有賺多少錢,因為沒有接任何一條廣告。當然我不反對技術号主适量的接廣告,畢竟做技術輸出也是非常耗費時間和經曆的,我用了近兩年的時間才走到這個圈子裡,也深深的知道每一個技術号主的辛苦。就像你是否想過,你要放棄幾乎全年的周末和假期,也可能需要家人承擔更多的情況下,讓你有空閑的完整時間去思考、編寫、設計、釋出你要做的文章和内容呢?你看到的每一篇長文配圖、萬字技術文,隻要是原創都至少要在3-4個小時思考、68個小時輸出、12個小時釋出,也就是說一個周末的時間就全部投放到這項熱愛的事情上了!
之是以我現在并沒有去接更大廣告收入,主要是因為我對公衆号的技術輸出主要是因為我對技術内容極大的興趣愛好,而我公衆号和部落格的營運成本,包括:域名、伺服器、圖庫VIP等,都是靠
較長假期寫一些付費的技術專欄
整理的PDF
和
贊賞收回
這些費用。不過從21年情況有所好轉,還可以少賺一些錢。早期的粉絲知道,以前小傅哥都是靠薅羊毛養活粉絲的!
是以對我來說,技術沉澱是具有長期價值的
副業
,我也更希望用技術輸出來養活自己!
七、出書
2021年4月23日,圖書節,我的第一本書
《重學Java設計模式》
正式在京東發售。
出書是我個人在技術成長路上的一次打卡,我就想
走走沒走過的路
,
爬爬沒爬過的山
看看風雨後的彩虹是否有别人說的那般絢爛
。
2020年07月12日,小傅哥的《重學Java設計模式》PDF版在公衆号首發,但沒想到那天起這本設計模式徹底火了,火成什麼個鬼樣子呢,幾乎全網的号主都不知情的情況下被廣告主投放過 “位元組跳動總結的設計模式 PDF 火了,完整版開放下載下傳!”
- 那3個月這本書我提供的連結全網下載下傳量一度突破30萬次,不能統計到的還有很多!
- 公衆号一天能漲粉600個+
- 每天都有人問小傅哥,你是不是位元組跳動的
- 百度搜小傅哥竟然給我加了熱詞“小傅哥的設計模式”
- GitHub 設計模式對應的代碼庫持續霸榜 GitHub Trending
- 可能就是從那段時間起,很多人知道了我,雖然當時不太喜歡被這樣宣傳,但也就這樣莫名其妙的火了
也是從火了那段時間開始,每天都有出版社編輯聯系,要不要出書,最開始并沒有心動,也覺得自己文筆不好,還很多錯字。
之是以後來上車了是因為遇到了宋亞東,給我介紹、給我講解、給我分析,好吧!在20年10月1日放假起,我開始重新整理設計模式稿件,重新整理文章、收集粉絲回報、繪制技術圖稿,一點點的完成所有内容并添加新的章節,于11月左右交給出版社,接下來的路漫漫長….
一本書的出版要選題、交稿、審稿、之後是一遍遍的改稿、稽核、改稿、稽核,終于感覺要完事了又開始了三審三校,說要過不了就不成功便成仁!好在是一周左右時間通過了,接下來又申請書号、出版印刷、晾幹、裝訂,嗯多久呢,從送出編輯到上架京東商城,用了7個月時間,在加上我的編輯建立時間,這本書耗時一年半出版了!
其實出版一本書并不會特别難,而且也不會膨脹。出書隻是個人成長努力路線上的一次結果印證,但不是最終的目标,我們可以用自己長期積累的個人能力完成更多自己想做的事情。
八、總結
👣
心懷天下,聲色犬“碼”。生有熱烈,藏與俗常。
有時候真的很感謝自己還能堅持做原創技術輸出,即使再忙再累也給自己一個當下的交代,在寫文章的過程中幾乎沒有過周末這樣大塊時間,也沒有過小長假期。但每當自己完成每一篇文章後,那份給自己的努力下的沉澱,也傳播給其他人知識,都能讓我樂以忘憂。
所有的努力都是因為:能力,是你前行的最大保障。哪怕你是兢兢業業的工作者,也要擁有能留下的本事和跳出去的能力,才能在相對頻繁的變化和不确定中獲利。
好,祝大家在以後的路上,都能:
所求皆如願
所行化坦途
承遇着朝霞
刻印着風華
!
九、系列推薦
- 《Java 面經手冊》PDF,全書 417 頁 11.5 萬字,完稿
- Spring Bean IOC、AOP 循環依賴解讀
- 關于 Spring 中 getBean 的全流程源碼解析
- Spring IOC 特性有哪些,不會讀不懂源碼!
- 你說,怎麼把Bean塞到Spring容器?
公衆号:bugstack蟲洞棧 | 作者小傅哥多年從事一線網際網路 Java 開發的學習曆程技術彙總,旨在為大家提供一個清晰詳細的學習教程,側重點更傾向編寫Java核心内容。如果能為您提供幫助,請給予支援(關注、點贊、分享)!