好快啊,不知不覺,畢業了2個月,這也就意味着入職2個月了,4年前,從西南跑到東北,此時又從東北轉移到帝都,哈哈,老是異鄉人。面試
寫這篇博客,主要是總結一下入職2個月的感悟,要說感悟吧,還真沒多少,卻是有挺多牢騷的,莫怪!!!編程
我以前在一家公司實習將近一年,畢業時,我就在想,就算反射弧再長,也應該完成身份轉換了吧。真是這樣嗎?NoNoNo,實習生能接觸的項目什麼樣的?重要性如何?出了問題誰負責?總之一句話,通常來講:實習生不會接觸比較重要的工做,不重要的工做,即便出問題,也不會有多大問題,並且出問題後,通常是導師承擔責任,而實習生通常只是被開除而已。架構
這個身份轉換吧,仍是挺重要的,畢業前是學生,畢業後就是「社會人兒」了,也就意味着,須要對承擔本身所作事情的後果,固然,學生也是須要承擔的,只不事後果是不一樣的。併發
畢業前,你們可能會由於你是「學生」而對你有所包容,可是畢業後,就沒有人有義務去包容你(除了你家人)。編程語言
因此,畢業了,須要明白本身的職責,須要完成什麼工做,若是完不成會怎麼樣,若是出現事故,又會怎麼樣,要對這些都有一個清晰的認識(可能有點嚴肅了,但這就是職場啊)分佈式
由於我是本科畢業就工做了,學校可能你們也沒聽過,就不提了(排名200開外)。高併發
去年秋招運氣比較好,有幸進入某互聯網公司(非BAT),員工不少北航、北郵、中科、清、北、電科大、武大...的員工,固然,也仍是有和我同樣的。入職培訓的時候,發現大部分,大部分都是研究生,額,能想象嗎?好比,我打聽了一下旁邊的人力資源(HR)和運營,我靠,竟然是北理的碩士,我當時心裏就在罵人:SB啊,一個HR要什麼碩士學歷,招一個本科,教一教,不也能作得挺好啊,招一個碩士得多花多少錢啊!!!可是後來也想通了,仍是本身太年輕。學習
其實當時我就挺自卑,感受我騙了個人面試官,以爲能力不夠,無法和這麼一大幫牛人競爭。我本身想了很久,仍是找了好多理由讓本身平靜下來:blog
一、既然面試官給你了過,證實能力沒問題或者說,身上有某些點吸引到了面試官;資源
二、好學校畢業的不必定都是牛人,也有進外包的,也有找不到工做的,固然這是少數;
三、學歷的確是個問題,可是和工做並無太多的關係,頂多在晉升的時候有幫助(會嗎?),還得看能不能出活兒;
四、既然身邊不少牛人,嗯,根據近朱者赤,近墨者黑的原理,多向牛人學習,我也會愈來愈優秀。
「高併發」,「高可用」,「高擴展」,「分佈式」...這些詞,對於作開發的來講,掛在嘴邊,感受挺高大上的,畢業前上B站,還有各大培訓機構找了好多關於這些名稱聽上去就高大上的課程,看了一點以後,感嘆,哇,好高深啊。
可是,這些高大上的東西跟我這種初入職場,大項目沒接觸過,小項目不值一提的小白來講,只有幾毛錢的關係,這幾毛錢關係幾乎能夠忽略,由於,根本沒我什麼事,我只須要安安靜靜的寫代碼,練好基礎語法,即便是很簡單的功能,很low的頁面,都要用心去作,打好基礎,夯實基礎,基礎很重要,時機到了,天然會有一些如今以爲高大上,往後以爲平淡無奇的工做須要你去完成。
爲何說基礎很重要呢?這裏我想說一下語言之爭,好比「PHP是世界上最好的語言」,「全部的語言都差很少」,「Python實現一個功能只要5行」..........太多了,就不細數了,鄙人主要想說的是:
一、某個語言是否好,與你無關,你也無權選擇編程語言,由於大家的架構師會決定,若是不想用這種語言,能夠選擇跳槽,不過這個跳槽理由你的下家能接受嗎??
二、雖然不少語言在語法上很類似,可是他們的開發思路,編程思想是不一樣的啊,這個很重要!!!
三、每一種語言都有本身的語言特色,好比Java8新增的Lambda表達式,你能夠不使用這些特殊語法也能完成工做,可是,既然選擇這種語言了,爲何不使用它的特性呢?爲何不用最適合的方式進行開發,達到最高效率呢?
凡事有交代,件件有着落,事事有迴音。——真乃聖經
當leader或者其餘人交代了一個任務,必定要及時同步進展,有問題就提問題,不能解決就不能解決,必定要有一個答覆。不要本身一氣呵成,矇頭苦幹,遇到問題不反饋,老是自我激勵說能解決,最終拖了工期,誤了大事。
有問題(不是白癡問的那種問題),若是真的解決不了(或者半個小時都沒有思緒),必定要主動去問,不要怕同事會討厭本身,若是不耐煩了,就換一個同事問(雨露均沾),若是同事真的表現出不耐煩,表現出來也沒啥,前輩有義務幫助新人儘快接手掌握工做(原諒我滿嘴胡言),可是必定要記得,問題問完後,必定要說謝謝!!!
以我本身爲例吧,以前實習的時候,有個同事讓我幫忙作一個東西,我花了大概一週才作好,他對我作出的成果有點驚訝,隔了兩三天,他就找我導師,說要把我調到他那邊去(雖然我沒去)。這個例子可能沒多大說服力,可是讓別人以爲你是靠譜的,別人可能就會多關注你一點,哪怕只是一點點。
入職一個月的時候,leader讓咱們小組的新人看JDK源碼,好比ThreadLocal,ConcurrentHashMap的源碼,而後作分享(感受挺費事的)。
對於「深度」這個東西,額,我目前的態度:先會用,再根據須要,有選擇性的看源碼。
閱讀源碼是一個很好的學習方式,幾乎每個開源項目的代碼量都挺多,幾乎不可能看完一個開源項目的全部代碼,因此有目的性地讀源碼,好比說Spring的IoC、AOP,而不是說,我要讀完Spring的每一行代碼。
另外,有些問題的確是須要查看源碼才能發現根源所在,才能解決問題。
入職2個月,即便我是作開發的,天天也會寫不少的文檔:
一、學了某個技術,須要寫學習筆記(即便處處都能搜到,但仍是須要本身寫);
二、今天作了什麼,須要發日報、週報郵件,寫文檔;
三、工做主要的流程,問題,解決方案,每一項都須要單獨輸出文檔
四、開發過程有新想法,須要記錄一下,寫文檔;
我問導師,爲何要寫這麼多隻有本身看,也許本身都沒心思看的東西呢?導師給我說,大公司有個毛病,繁文縟節比較嚴重,習慣就好。還讓我仔細記,由於你幹了什麼事情,口說無憑,沒人去看你的代碼,你惟一能拿出的就是文檔,若是有人質疑你的工做時,能夠將文檔發給他;另外,多梳理文檔,對於我的的寫做也有鍛鍊,晉升的時候,也須要不少文檔佐證,總不能晉升的時候再加班補文檔吧!!!
這個學習新技術並非說利用空閒時間學一門技術,而後轉到那個技術,而是說,目的是瞭解,而不是深刻學習:
一、好比了解一個現有技術的可替代方案,好比你們都已經見怪不怪的Restful,有興趣能夠了解一下GraphQL;
二、好比開發人員也能夠了解深度學習,跑一下demo代碼,不須要了解底層,只須要了解大概原理。
並非說只有深刻探究才叫學習,淺嘗輒止也能夠是學習,當了解一些新技術的時候,若是將來恰好碰到一個場景,能夠用到以前瞭解的新技術,那時候在深刻了解,豈不美哉。
你們都知道的道理,「前半生用生命換錢,後半生用金錢換命」,現實是,一旦出意外,可能就沒後半生了,哈哈哈,必定要注意身體啊。
沒啥好說的,「傻人有傻福」,現階段,leader讓我幹啥,我就搞啥,老老實實寫代碼,靜靜耕耘,期待更出色的本身。
若是你們有什麼見解,歡迎評論^_^ ^_^