1. 程式人生 > >人生第一次離職

人生第一次離職

忙碌了很久,終於把所有事情都處理好了。今天靜下心來,回顧一下,自己從有離職的想法到找到滿意的工作,再到提出離職,交接完工作的過程,還是有些許想法想記錄下來的,算是對自己第一份工作的一個小結。也希望能給後來人一些借鑑。

畢業求職

忙碌的畢業季和很多同學一樣,奔波於企業宣講會的同時還被導師催著自己的論文。雖說學校和專業都是自己找工作的加分項,但是始終覺得自身過硬的技術才是王道。

於是在前期準備論文時間還比較充足的時候,不斷的補充一些基礎的知識,練習自己的程式設計能力。因為自己篤信CS基礎和程式設計能力是程式設計師的根基。後來證明,相對於學校和實習經歷,好的企業更青睞於有較好程式設計能力的候選人。至少對於目前所在的公司,校招第一關就是幾道有難度的線上程式設計題,沒達到要求的直接會被刷掉。據說第一輪就刷掉了大多數人。

有了前期準備,校招季很快就拿到了一些不錯大廠的offer。由於導師對於畢業論文要求較嚴格,因此和當前公司簽好兩方協議後,就結束了自己的校招求職。現在想想,這並不是一個明智的決定,因為自己沒有經歷失敗的求職經歷,而且經歷的招聘不多,失去了大好的試錯機會。總的來說,畢業找工作還算順利。

但是寫論文的時候卻經歷了一番波折的,期間壓力大到常常半夜驚醒,一度認為自己會無法按時畢業,內心很是煎熬痛苦,關鍵是還不能向家人和朋友傾述。沒有經歷過的人是體會不到的。期間不斷告訴自己一定要堅持下來,All in 論文才是解決目前所有問題的唯一方式。壓力大到坐臥不安,精神高度緊張的時候就去爬山,跑步,做運動,把自己累個半死,然後就沒精力想那些煩心事了。這樣經歷了兩三個月,最後獲得導師同意,順利按時畢業。同時也告別了自己的求學生涯。

初入職場的兩年多

 和其他人畢業後都有個畢業旅遊不同,我在畢業之後一個星期左右就入職了當前這家公司,暫且稱為W公司吧。作為一家IT大廠,新人培訓體系還是很完善的。經過一段時間的培訓,正式進入到工作室參與專案開發。到目前為止已經參與過三個專案的研發。

第一年,出生牛犢不怕虎,全身心投入工作,一心想在工作中做出一番成績,證明一下自己。

第二年,能熟練處理手上的事情,對整個工作流程也比較熟悉了,算是進入了一個工作平穩期。

目前在做第三個專案,之前做的專案上線後,看到使用者在論壇和貼吧對我們產品的討論。雖然有肯定,也有批評,但是感覺自己做的東西能夠被大眾使用,有一種很強烈的自豪感。這種感覺之前從來沒有體驗過,尤其是當用戶評論道自己做的功能模組的時候,恨不得馬上告訴他這是我做的 :-)。

 總的來說,感覺自己很幸運,入職的第一份工作能遇到這麼好的領導和同事以及良好的工作氛圍,雖然期間也有過一點抱怨,感覺付出和回報不匹配,但主要原因可能是自己不擅長表現自己吧。

離職想法

馬老師說過,離職的原因無非兩點:一,錢沒給夠,二,心受委屈了。 不反駁這個觀點,因為,一有道理,二反駁不起。但是還有一群人,是為了最求更多的成長。

在工作室裡,無論領導還是同事都是挺不錯的,但是由於自己在工作中成長空間比較有限,平時的工作內容沒有太多的挑戰。而自己本身又比較喜歡技術,期待做好工作的同時能在技術上有長足的進步。於是決定離開在自己的舒適區。雖然目前是網際網路寒冬,但是根據自己的計劃和目前的狀態恰好在當前這個節點。沒辦法,環境大勢自己左右不了,正所謂狹路相逢勇者勝,想改變,那就只有自己拼一把了。即使頭破血流,最後也可以作為飯桌上的談資,和別人吹吹牛皮。

找工作

這裡不打算寫自己找工作的流水賬,沒有太多意義。主要是聊一下感受。 

有了換工作的想法之後,接下來就是如何準備了。由於還在職,只能工作之餘抽空準備了。基礎的東西加過往專案經歷回顧是必須的。同時通過各大論壇和職場軟體瞭解一下當前行情。結果自己真的被驚出了一身冷汗,感覺現在好像完全變成了JAVA的天下,Go也有後起之秀的勢頭,熟知的C++幾乎看不到太多機會。這和兩年前的景象完全不同。當時第一想法是不是當初自己選錯了。雖然語言只是工具,但是很多個職位都有對語言限要求,而且有使用年限要求。即使自己學的很快,但是和那些使用了多年老鳥相比,初學的菜鳥幾乎沒有競爭力。

這時擺在自己面前的有三條路:

  1. 繼續當前的工作;
  2. 業餘學習目前機會比較多的技術棧;
  3. 結合目前的技術棧找喜歡方向的工作;

現在來看,這個選擇還是比較重要的,直接決定了接下來的路怎麼走。如果當初選擇的是前兩條路,那麼可能就不會有這篇文章了。第三個選擇雖然有一點優勢,但問題是可選的太少了,而且要求還比較高。於是只能精益求精,努力提高自己。接下來就是制定一個計劃,按部就班的認認真真準備了。等待合適的機會,然後一舉拿下。

最後自己拿到了T公司的offer,而且職位還是比較喜歡的。期間遇到很多人,很多事,如果不堅定,很可能就走不到現在了。過程是坎坷的,但結果是美好的。

這裡有幾點需要注意:

  • 多瞭解一下大環境,不要一味地悶頭造車;
  • 多接觸一些人,說不定在你想不到的時候,會給你一些關鍵的幫助;
  • 選擇很重要;

離職&交接工作

雖然拿到了想要的offer,但是卻怎麼也高興不起來,可能覺得拿到offer只是第一步。別人發你offer,是對你的信任,相信你入職後有能力完成工作。因此入職後要更加努力的工作了,至少要對得起別人的信任和知遇之恩,讓招你的人覺得招對了人。

同時在第一份工作接近尾聲的時候,並沒有鬆懈日常工作,反而在更加認真的把手頭工作做完。可能覺得有點愧對老東家,雖然自己這兩年多的時間也做了不少工作,但總是有一點說不出的傷感。我不斷告訴自己努力把該做的是做好,交接工作時儘量不給別人留坑。或許只有這樣才能有一點點安慰吧。

經驗之談

前面聊了一些自己的經歷和想法,最後在分享一下這兩年多自己整理的非技術方面的一些收貨吧。

專案層面

  1. 溝通;在進行多人協作的開發過程中,成員之間的良好溝通能夠提高開發的效率,尤其是在需求確認和模組的對接工作的過程中;
  2. 文件規範;專案整體介紹和各個模組或者工具和流程相關的規範和文件等,對開發流程和一些工作中的規範,包括工具的使用,模組的介紹文件等,專案各個點的開發或者規劃要有文件可依,這樣能減少重複溝通的成本,提高開發效率;
  3. 信任;組員與領導,以及組員與組員之間的信任是很重要,不僅包括技術能力,還有責任心和職業道德等。

個人技術層面

  1. 紮實的基礎和學習能力;
  2. 需求分析和程式碼設計;在進行開發編碼之前,要儘量花時間反覆就需求問題進行確認和溝通,同時要注重程式碼的靈活性和可擴充套件性,模組之間的低耦合性,以應對可能的需求變動或者迭代;程式碼中要避免硬編碼,儘可能使用一些成熟的模式和框架完成程式碼的編寫工作;
  3. 避免重複造輪子;工作之前所有功能都想自己重頭開始實現,比如通訊,序列化,儲存等;工作之後才發現有太多現成優秀的工具和底層庫可以使用,不僅穩定可靠高效,還能極大的提高開發效率,減少出錯的機會;
  4. 問題分析和定位能力;偶現bug只是沒找到觸發條件;業務層面問題定位能力;技術層面原理底層上對一些疑難問題進行分析定位;debug等工具和方法的熟練使用;
  5. 解決問題的能力(全域性性的,架構層面的);提出針對某類問題的解決方案以及牽涉到的技術;

工作和技術的思考層面

  1. 工作或者學習的目的是用技術創造好的產品和體驗,這是技術人員學習的一個標杆;
  2. 刻意的追求技術上的專研,而忽略其本質是應用和能解決實際問題是不可取的。

定期反思總結

  1. 技術上的得失
  2. 工作中的得失
  3. 長遠的計劃

無論職場中的你,處於哪個階段,有一點很重要,一定要工作的開心,努力保持身體健康,畢竟只是一份工作。

目前休年假中,休完年假,就要辦理離職手續了。轉眼間兩年多的時間過去了,第一份工作即將落下尾聲。留下此文為紀。

最後祝大家都能開開心心工作,健健康康生活。