畢業入職2個月小感悟

  • 2019 年 10 月 3 日
  • 筆記

零. 廢話打頭

  好快啊,不知不覺,畢業了2個月,這也就意味著入職2個月了,4年前,從西南跑到東北,此時又從東北轉移到帝都,哈哈,總是異鄉人。

  寫這篇部落格,主要是總結一下入職2個月的感悟,要說感悟吧,還真沒多少,倒是有挺多牢騷的,莫怪!!!

 

一. 身份轉換挺重要的  

  我之前在一家公司實習將近一年,畢業時,我就在想,就算反射弧再長,也應該完成身份轉換了吧。真是這樣嗎?NoNoNo,實習生能接觸的項目什麼樣的?重要性如何?出了問題誰負責?總之一句話,一般來說:實習生不會接觸比較重要的工作,不重要的工作,即使出問題,也不會有多大問題,而且出問題後,一般是導師承擔責任,而實習生一般只是被開除而已。

  這個身份轉換吧,還是挺重要的,畢業前是學生,畢業後就是“社會人兒”了,也就意味著,需要對承擔自己所做事情的後果,當然,學生也是需要承擔的,只不過後果是不同的。

  畢業前,大家可能會因為你是“學生”而對你有所包容,但是畢業後,就沒有人有義務去包容你(除了你家人)。

  所以,畢業了,需要明白自己的職責,需要完成什麼工作,如果完不成會怎麼樣,如果出現事故,又會怎麼樣,要對這些都有一個清晰的認識(可能有點嚴肅了,但這就是職場啊)

 

二. 不要妄自菲薄,也不要自以為是

  因為我是本科畢業就工作了,學校可能大家也沒聽過,就不提了(排名200開外)。

  去年秋招運氣比較好,有幸進入某互聯網公司(非BAT),員工很多北航、北郵、中科、清、北、電科大、武大…的員工,當然,也還是有和我一樣的。入職培訓的時候,發現大部分,大部分都是研究生,額,能想像嗎?比如,我打聽了一下旁邊的人力資源(HR)和運營,我靠,居然是北理的碩士,我當時內心就在罵人:SB啊,一個HR要什麼碩士學歷,招一個本科,教一教,不也能做得挺好啊,招一個碩士得多花多少錢啊!!!但是後來也想通了,還是自己太年輕。

  其實當時我就挺自卑,感覺我騙了我的面試官,覺得能力不夠,沒法和這麼一大幫牛人競爭。我自己想了好久,還是找了好多理由讓自己平靜下來:

  1、既然面試官給你了過,證明能力沒問題或者說,身上有某些點吸引到了面試官;

  2、好學校畢業的不一定都是牛人,也有進外包的,也有找不到工作的,當然這是少數;

  3、學歷的確是個問題,但是和工作並沒有太多的關係,頂多在晉陞的時候有幫助(會嗎?),還得看能不能出活兒;

  4、既然身邊很多牛人,嗯,根據近朱者赤,近墨者黑的原理,多向牛人學習,我也會越來越優秀。

  

 

三. 踏踏實實,莫好高騖遠

  “高並發”,“高可用”,“高擴展”,“分散式”…這些詞,對於做開發的來說,掛在嘴邊,感覺挺高大上的,畢業前上B站,還有各大培訓機構找了好多關於這些名稱聽上去就高大上的課程,看了一點之後,感嘆,哇,好高深啊。

  但是,這些高大上的東西跟我這種初入職場,大項目沒接觸過,小項目不值一提的小白來說,只有幾毛錢的關係,這幾毛錢關係幾乎可以忽略,因為,根本沒我什麼事,我只需要安安靜靜的寫程式碼,練好基礎語法,即使是很簡單的功能,很low的頁面,都要用心去做,打好基礎,夯實基礎,基礎很重要,時機到了,自然會有一些現在覺得高大上,日後覺得平淡無奇的工作需要你去完成。

  為什麼說基礎很重要呢?這裡我想說一下語言之爭,比如“PHP是世界上最好的語言”,“所有的語言都差不多”,“Python實現一個功能只要5行”……….太多了,就不細數了,鄙人主要想說的是:

  1、某個語言是否好,與你無關,你也無權選擇程式語言,因為你們的架構師會決定,如果不想用這種語言,可以選擇跳槽,不過這個跳槽理由你的下家能接受嗎??

  2、雖然很多語言在語法上很相似,但是他們的開發思路,編程思想是不同的啊,這個很重要!!!

  3、每一種語言都有自己的語言特點,比如Java8新增的Lambda表達式,你可以不使用這些特殊語法也能完成工作,但是,既然選擇這種語言了,為什麼不使用它的特性呢?為什麼不用最適合的方式進行開發,達到最高效率呢?

 

四. 做事要靠譜

  凡事有交代,件件有著落,事事有迴音。——真乃聖經

  當leader或者其他人交代了一個任務,一定要及時同步進展,有問題就提問題,不能解決就不能解決,一定要有一個答覆。不要自己一鼓作氣,蒙頭苦幹,遇到問題不回饋,總是自我激勵說能解決,最終拖了工期,誤了大事。

  有問題(不是白痴問的那種問題),如果真的解決不了(或者半個小時都沒有思緒),一定要主動去問,不要怕同事會討厭自己,如果不耐煩了,就換一個同事問(雨露均沾),如果同事真的表現出不耐煩,表現出來也沒啥,前輩有義務幫助新人儘快接手掌握工作(原諒我滿嘴胡言),但是一定要記得,問題問完後,一定要說謝謝!!!

  以我自己為例吧,之前實習的時候,有個同事讓我幫忙做一個東西,我花了大概一周才做好,他對我做出的成果有點驚訝,隔了兩三天,他就找我導師,說要把我調到他那邊去(雖然我沒去)。這個例子可能沒多大說服力,但是讓別人覺得你是靠譜的,別人可能就會多關注你一點,哪怕只是一點點。

  

五. 深度適可而止

  入職一個月的時候,leader讓我們小組的新人看JDK源碼,比如ThreadLocal,ConcurrentHashMap的源碼,然後做分享(感覺挺費事的)。

  對於“深度”這個東西,額,我目前的態度:先會用,再根據需要,有選擇性的看源碼。

  閱讀源碼是一個很好的學習方式,幾乎每一個開源項目的程式碼量都挺多,幾乎不可能看完一個開源項目的所有程式碼,所以有目的性地讀源碼,比如說Spring的IoC、AOP,而不是說,我要讀完Spring的每一行程式碼。

  另外,有些問題的確是需要查看源碼才能發現根源所在,才能解決問題。

  

五. 要有沉澱

  入職2個月,即使我是做開發的,每天也會寫很多的文檔:

  1、學了某個技術,需要寫學習筆記(即使到處都能搜到,但還是需要自己寫);

  2、今天做了什麼,需要發日報、周報郵件,寫文檔;

  3、工作主要的流程,問題,解決方案,每一項都需要單獨輸出文檔

  4、開發過程有新想法,需要記錄一下,寫文檔;

  我問導師,為什麼要寫這麼多只有自己看,也許自己都沒心思看的東西呢?導師給我說,大公司有個毛病,繁文縟節比較嚴重,習慣就好。還讓我仔細記,因為你幹了什麼事情,口說無憑,沒人去看你的程式碼,你唯一能拿出的就是文檔,如果有人質疑你的工作時,可以將文檔發給他;另外,多梳理文檔,對於個人的寫作也有鍛煉,晉陞的時候,也需要很多文檔佐證,總不能晉陞的時候再加班補文檔吧!!!

 

六. 學習新技術

  這個學習新技術並不是說利用空閑時間學一門技術,然後轉到那個技術,而是說,目的是了解,而不是深入學習:

  1、比如了解一個現有技術的可替代方案,比如大家都已經見怪不怪的Restful,有興趣可以了解一下GraphQL;

  2、比如開發人員也可以了解深度學習,跑一下demo程式碼,不需要了解底層,只需要了解大概原理。

  並不是說只有深入探究才叫學習,淺嘗輒止也可以是學習,當了解一些新技術的時候,如果未來剛好碰到一個場景,可以用到之前了解的新技術,那時候在深入了解,豈不美哉。

 

七. 一定要早睡

  大家都知道的道理,“前半生用生命換錢,後半生用金錢換命”,現實是,一旦出意外,可能就沒後半生了,哈哈哈,一定要注意身體啊。

 

總結

  沒啥好說的,“傻人有傻福”,現階段,leader讓我幹啥,我就搞啥,老老實實寫程式碼,靜靜耕耘,期待更出色的自己。

  如果大家有什麼看法,歡迎評論^_^  ^_^