2019年程序員生涯回憶錄

編碼失去樂趣

        2019年初,我已經在老東家轉正近半年,對於初級程序員應該做的編碼工作已經比較熟悉。我觀察我所寫的Java代碼,居然重複了一次又一次的增刪改查,最令我難受的是我的辦公電腦十分的卡,這無疑又會影響積極性,編碼過程痛苦又煎熬。迫於無奈,我開發出了第一版生成代碼的軟件,足以把以前兩天的編碼量縮減至十五分鐘之內,我指的是用卡到爆炸的電腦要做兩天的工作。

       當然了,沒有十全十美的事情。這個時候出現了前後端分離,有時很不幸,我被分到了前端。本身就是Java出身的我很難理解前端方面的Css、Js,還有各種各樣需要查詢API文檔的組件,比如ExtJs、BootStrap,這令我十分頭疼,以至於後來深惡痛絕。後臺的Java代碼已經是自動生成的了,幾乎已經失去了編碼樂趣。當我被分到後端的時候,每天的任務就是等下班,可想而知一天8個小時是多麼的漫長,週二週四有時還固定加班,真是令人心態爆炸。分到前端的我,又被各種各樣噁心的組件樣式折磨。這就是我當時的工作情況。

分享技術受阻

        我向同事分享我的生成代碼技術,我向他們提供了安裝包,在他們的電腦上演示如何幫助他們生成代碼。原本我以爲我能夠幫助其它同事減少開發量,幫助他們從繁重的增刪改查解脫出來,我也不否認有炫耀虛榮的成本,但是本意是好的。實際情況卻令我大失所望。現在我知道,如果一個人以爲通過顯示自己的聰明就能博取其它人的歡迎,那麼他就是不諳世故的毛頭小夥子。事實上,只有部分人欣賞此技術。項目經理知道後,質問我誰讓我開發了這個安裝包,還好心的告訴我,這會讓團隊產生惰性。我什麼話都沒說,默默的收起了自己的生成代碼的安裝包,不再向外界提供。我備受打擊,但更多的是失望。

幾乎喪失鬥志

         雖然工作方面給的樂趣不多,但是我也在積極尋找樂趣。唯一值得慶幸的是,老東家的工作節奏不快,每個項目從開頭至最後上線都有十分充足的時間。在這段時間內,我努力學習。我認爲,如果我做了一天重複的增刪改查工作,那麼對於我個人來說,相當於浪費了一天時間。如果我今天學習了更多的知識,那麼今天的我就比昨天的我有所長進,今天是很有意義的。幸運的是,我幾乎每天都過的很有意義。這期間,我掌握了例如設計模式、重構代碼、多線程等知識的皮毛,重點研究了安全系統。這當然對我有好處,但是對於公司來說沒有什麼價值,因爲他還是那老一套。即使要面臨着可能被噴的風險,當時的事實是,許多人對於我學習的東西妄加批評,說學了沒用,又用不到。我還年輕,有時也會爭論。雖然有時結果我也很生氣,但是擡頭不見低頭見,後來我就一笑了之。就這樣,隨着我掌握的東西變多,公司那一套增刪改查就越顯得枯燥無味,以致最終喪失鬥志,終日渾渾噩噩。

離職導火索

         人是一種害怕變化的動物,喜歡維持現狀,拒絕改變。因爲恐懼,很多人抗拒改變,哪怕現狀多麼令人不滿。很不幸,我也淪爲了害怕改變的受害者。雖然我已經儲備了足夠多的知識,但在最終跳槽前的一個月,我幾乎每天都睡不着,心中萬分焦慮。一方面我焦慮我的技術真的無用武之地毫無價值,另一方面又害怕如果我裸辭了又找不到工作怎麼辦、如果我找到了工作,老東家又不放我走怎麼辦、找工作過程中我身上的資金不夠了怎麼辦......種種原因,每天都在困擾我。

          終於有一天,老大找到了我。讓我出差,居然讓我獨自一個人去北京!我極力推辭,老大無奈,安排讓另外一個人去,但是出差時間從告訴我的兩天變成了一個星期。之前其它同事的先例告訴我,說是出差一個月,實際上從短膀子去,得穿棉襖回來。人的虛僞在此展露無疑。我不是有意批評,或許老大也是迫於無奈才安排人出差。

        上述理由其實還不能讓我完全說服我自己跳槽。真正打敗我的是對未知的恐懼!我從未出過遠門,我也不是那種喜歡旅遊的人,對於出差的未知恐懼徹底讓我下定決心!我一定要離開這裏!離開,別無選擇!無論說什麼,我已不再對老東家有任何留念!到此刻爲止,我才真正下定決心。我整理了手頭上的資源,主要包括我的生成代碼技術與對安全框架的理解,開始了我的找工作之路。

重獲信心

        從開始整理資源,到着手開始投遞簡歷,去異地面試。中間只用了不到一兩個星期。我投遞的公司全部都是XX城市的公司,因爲XX城市離老家很近,不到兩個小時就到。如果我找工作失敗,我也可以回老家再住一段時間。反正老東家的待遇也不是那麼吸引我,轉正後工作半年,也沒餘下可觀的本金。沒必要再爲老東家繼續賣命,我告訴自己。

        首先去了一家小公司面試,只有幾個人,面試官就是這家公司的老闆,算是創業公司吧。首先是筆試,共三道編程題。第一道是對於Java的集合框架與數組的互轉與排序,好像是把一個雜亂無章的數組按照先奇數從小到大排序,然後在最大的奇數後面追加偶數從小到大的序列。這個難不倒我。第二道題目考察了數據結構的二叉樹,需要用到遞歸才能編出來,這個只弄出來90%,程序實際運行可能還是有點BUG,但是畢竟是純手寫Java代碼,面試官還是比較滿意的。第三道是設計一套權限系統,包括設計數據庫並手寫建表語句等。所有實際場景中,我對安全系統的理解最熟悉不過了,真是天助我也,毫無壓力。筆試通過後開始聊技術,聊到我的生成代碼技術的時候,面試官十分感興趣,因爲面試官自己也寫了一整套生成代碼的技術!他非常得意的讓手下向我展示了他的整個生成代碼的過程。即是同道中人,所以他很欣賞我,當即給了offer,一年發十五個月工資。雖然整個過程十分的愉快,但是考慮到公司的規模與破產風險,我還是說我回去考慮一下。

        緊接着第二家面試。HR面試我已經記不清了,技術面的面試官年級輕輕,一直問我安全系統的東西。我能感覺到,這個人徒有其表。此話怎講?因爲我就我對安全系統的深入研究與理解,面試官提出此技術的許多相關問題,前後矛盾。我能判斷出這個人在問我這個技術的時候,自己都沒弄清楚。考慮到留個好印象,我就不便反駁了。公司規模中等,約100人。這家公司我從未考慮。讓我回去等消息,一個星期後給了offer,我沒去。

        第三家公司是亞信科技,是一家規模很大的公司,港股上市。當時去的時候,給我的印象不太好。公司居然停電了!員工從大樓裏出來,場面亂成一鍋粥。面試官把我帶到另外一棟有電的大樓裏,開始面試。面試的側重點在於微服務,主要是SpringCloud技術。面試官所在項目組在做的項目是 "咕咪視頻"。他是一個大牛,問的問題非常的多,除了微服務外,還問了數據庫原理,三範式和事務等,還有中間件的RabbitMQ。他是一個非常注意技術細節的人,居然讓我手寫git原生命令,還好我平時github用的多,手寫的次數相當多。二面的面試官居然還是側重問SpringCloud,可見這家公司對SpringCloud依賴性多麼強,當然其它的比如設計模式什麼的都有涉及。值得慶幸的是,SpringCloud技術也算是新技術,掌握的人並不是很多,因此鑑於我掌握的情況,他們還是很滿意的,所以也給了offer。出手非常闊綽,十四個月工資加年終獎!

        第四家公司也是一家上市公司,大牛雲集,在我看來,僅次於BAT。面試來了兩位面試官,我很緊張。主面試官非常友好。重點聊了安全系統與Java中間件。其中最具重量級與加分的問題是,面試官居然問我某安全框架的認證流程,說白了就是問源代碼!這一點得益於平時的積累,這是真正考察我技術深度的時候。我曾經花費無數孤獨心酸的夜晚仔細研究安全框架的部分源碼,在那一刻,值了!我自信滿滿,清晰的介紹了認證過程中的每一個類以及它們的作用,還在源代碼級別講述如何實現多賬號登錄,怎麼重寫它們,分佈式情況下,如何限制錯誤密碼重試次數。面試官指出了我技術理解上的一些偏差與錯誤。重點是,面試官居然也研究過這些源碼!這個真是令我印象深刻!!面試的結果是,面試官希望我能留下。我內心備受感動,既心疼曾經的自己,又高興找到一位值得追隨的老大。那一天,是我職業生涯裏最重要的一天!

        至此,面試了四家公司,全部面試通過。時間原因,新的面試邀請我不再參加。我已經承受了相當緊張的面試壓力,需要放鬆一段時間。這四家的待遇什麼的遠遠超過老東家。就這樣,我終於重獲信心。

多多分享

        與優秀的人爲伍,自然也會變的優秀。新公司裏面的業務算是比較複雜的,但最重要的是有機會接觸到更多的技術。在這裏,分享是整個團隊的共識。我參加了elasticsearch的分享、oauth2分享,在此之前我從未聽說過這些技術。周圍的每個人都身懷絕技,不誇張的說,三人行,二人均可爲師。當然了,技術做到底,還是越精越好。公司鼓勵分享,再也不用受到"學這個沒用"的困擾。最好的例子就是,如何掌握Linux,這個問題可能困擾了我至少一年。因爲已經脫離了Java,也脫離了Windows,真的是學起來毫無頭緒。同事非常和藹的把他的學習Linux所寫的文件給我,大大縮短了我的學習成本。每每一想到此事,就對同事非常感激。我也毫不吝嗇的分享了我的微服務技術。原來,技術分享從來就不是分享了就沒了,而是互相提升的過程。

不畏新挑戰

         同事請假時間比較長。他的工作暫由我代理。這幾天披星戴月,做夢都在想項目上線的事情。我精神緊張,備受壓力。不僅如此,項目上線的過程中,還要協調測試部門,保證測試正常進行。現場過來的大量數據,還要仔細覈對,不能出錯。爲了這些事情,需要與各個部門對接工作。具體涉及到測試人員、現場實施人員、產品人員,對自生還要求得會打包整個項目,並在Linux上部署與啓動。這幾天感受到了前所未有的工作壓力。功夫不負有心人,在19年12月31日,終於把負責的兩個子系統成功上線。很高興,現在的工作很有成就感。我乾的很漂亮,回頭再看我自己的編碼任務的時候,真的小兒科。我敢說,只寫代碼,真的很簡單。上線的過程可謂是耗費時日,有苦難言。就這樣,在我的程序員生涯裏,我把自己升高了一級。

深入骨髓的體會

        在2019年的程序員職業生涯裏,我面臨的更多的是逆境。跳槽的焦慮、面試的緊張、工作的壓力,總是來得那麼猛烈,總能讓我身心疲憊,心力憔悴。但是逆境也讓我更快的成長。今天再回頭看今年走過的路,都是值得的。有些時候,造就一個人除了自身努力外,很大程度上還要取決於個人所處的環境,以及做出的最走投無路的決定!

        另外就是,一定要相信自己!要讓關鍵性的想法“我會成功”支配我們的各種思考過程!那些安於現狀混日子的人,我不屑一顧。可以讀讀洛克菲勒留給兒子的信,我特別喜歡裏面的一句話,他激勵了在迷茫中的我。這句話我想分享給所有渴望上進的朋友:"有些人註定要成爲令人炫目的王者,因爲他們非凡的勇氣與才能"。你就是那個王者,如果你堅信自己能夠做到的話!

       上面就是我能夠回憶起來的,2019年職業生涯裏比較重要的事情。事實上,能夠立刻在我腦子裏浮現出來的那些事情,都是明確有益於我的程序員生涯的,還有幫助我認識我自己的。

        文章最後發佈於2020年1月1日。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章