天天看點

我的技術之路 ——《我的Java打怪日記》

1. 入行

       本人非計算機專業出身,大學畢業後偶然機會進入計算機教育訓練學校,從此入了行,當時課程有c,html,js,sqlserver,oracle,java以及javaweb等,學校課程枯燥且無聊,唯一比較有興趣的可能是用java swing制作小遊戲吧。後來熟悉了servlet,用ssh做了個半成品的項目就出來找工作了。工作和學校還不在一個城市,所幸還是找到了,雖然工資比較低,但還算是站穩了腳跟。

2. 工作

       工作以後,由于本身非專業,隻能努力提高自己的技術能力吧。當時自己能接觸比較多的就是增删改查,後端核心又接觸不到,是以重心在前端,jquery在當時比較流行,不過當時我們公司比較小,還沒有使用起來。為了學習jquery,不愛看書的我強啃了兩本書,一本是《鋒利的jQuery》,另外一本是jquery作者寫的《精通JavaScript》,看着書做了幾個例子,基本能正常使用jquery了,并且附帶學會了幾個js簡便方法。可惜,缺點也暴露了,不擅于交流溝通,很快就和上司鬧了沖突辭職了。

       由于不擅交流,又是非專業出身,這次找工作大約花了三個月,而且還是降薪過去的,可想而知當時有多失敗。雖然面試很失敗,但是技術實力還是讓他們有目共睹的,平下心态之後做事特别認真,之前不擅長的html,div布局也能強行搞定了,以至于後來部門上司還對我很不好意思。在這裡我學習了緩存,單點登入,開始接觸架構思想。在當時還沒有springboot這麼好用的架構,我們內建項目都是基于江南白衣大神的springside的腳手架,內建項目開發,并且開始使用maven了,依賴包終于不用去網上一個一個找了,這兩個一用起來搭建項目友善極了,雖然遇到了各種各樣的的錯誤,花費了不少時間,但是非常開心。

       再後來,換了一家創業公司,從零開始的那種,上司讓我來負責搭建項目架構,雖然之前搭建過,但是沒有放到線上去實踐過,遇到了各種問題,比如事務處理,異常處理,高并發處理等等,雖然技術不咋滴,不過還好,幾個小夥伴總算是把東西做出來了。這期間經常去逛《跟着開濤學spring》系列,資料庫連接配接池也改成了溫少的druid,再後來rpc也由rmi改成了dubbo,雖然bug時長有,但是那份解決bug後的喜悅大家都清楚。雖然這個公司行業比較領先,但由于營運決策失敗,在堅持了幾年後,還是離開了。

       過不久,換了一家新的公司,是的又是一家創業公司,不過人都是老熟人了,當時springboot和springcloud出來了,用阿裡雲的docker swarm加springboot把系統整個架構折騰出來了,确實好用,幫我們至少省了一個運維的費用。不過還是由于行業寒冬,公司還是倒閉了。不過也是在這遇到一個朋友,學到了很多。

3. 反思

       工作這麼久,是該好好想一想了,以後的路該怎麼走,技術的意義到底在哪裡。追新技術感覺不是那麼重要,公司倒閉時,技術毫無意義。公司為什麼雇傭我,因為技術嗎?不會,比我技術高的人多的是,我又憑什麼拿着現在的薪資,我能不能得到更多,最終我把它歸結為價值,對外輸出的價值。

       技術需要業務來發展,技術不一定要新,不一定要強大,合适就行。過度的設計,過度的追求多線程高并發意義并不大,能滿足業務需求,并能适當性的擴充就足夠了。業務本身可能千變萬化,但是系統做不到,能做到的是足夠簡單,能夠随着業務快速改變。畢竟大道至簡。

在公司解決問題,滿足業務需求就是對公司提供的價值,在此之外,寫blog,開源項目也是一種對外輸出價值的方式,還有很多種方式,适合自己的就行。

4. 後話

       目前混迹在一家小公司,混混日子,已經不再盲目追求新技術,新架構了,偶爾嘗試一下,但不會過分去追求去使用。不過私下跟别人開發了一個小項目,用的技術都老舊,但是比較熟悉springboot+tomcat+mysql+freemarker+jquery,沒有前後端分離,但是能在上線第一個月就已經盈利了。

       很少寫文章,但是還是希望能有點用吧。工作這麼多年,唯一比較後悔的就是想的時間晚了一點,早點想通就好了。最後還是希望大家工作中能清楚自己的目的,并多思考技術以外的東西,少走彎路吧。