先簡單交代一下背景吧,某不知名985的本碩,17年畢業加入滴滴,當時找工做時候也是在牛客這裏跟你們一塊兒奮戰的。今年下半年跳槽到了頭條,一直從過後端研發相關的工做。以前沒有實習經歷,算是兩年半的工做經驗吧。這兩年半之間完成了一次晉升,換了一家公司,有過開心知足的時光,也有過迷茫掙扎的日子,不過還算順利地從一隻職場小菜鳥轉變爲了一名資深划水員。在這個過程當中,總結出了一些還算實用的划水經驗,有些是本身領悟到的,有些是跟別人交流學到的,在這裏跟你們分享一下。java
我想說的第一條就是要學會深刻思考,總結沉澱,這是我以爲最重要也是最有意義的一件事。 linux
先來講深刻思考。在程序員這個圈子裏,常能聽到一些言論:我這個工做一點技術含量都沒有,天天就CRUD,再寫寫if-else,這TM能讓我學到什麼東西?拋開一部分調侃和戲謔的論調不談,這可能確實是一部分同窗的真實想法,至少曾經的我,就這麼認爲過。後來隨着工做經驗的積累,加上和一些高level的同窗交流探討以後,我發現這個想法實際上是很是錯誤的。之因此出現沒什麼可學的這樣的見解,基本上是思惟懶惰的結果。任何一件看起來很不起眼的小事,只要進行深刻思考,稍微縱向挖深或者橫向拓寬一下,都是足以讓人沉溺的知識海洋。 程序員
舉一個例子。某次有個同窗跟我說,這周有個服務OOM了,查了一週發現有個地方defer寫的有問題,改了幾行代碼上線修復了,週報都無法寫。可能你們也遇到過這樣的場景,還算是有必定的表明性。其實就查bug這件事來講,是一個發現問題,排查問題,解決問題的過程,包含了觸發、定位、復現、根因、修復、覆盤等諸多步驟,花了一週來作這件事,必定有不斷嘗試與糾錯的過程,這裏面其實就有不少思考的空間。好比說定位,如何縮小範圍的?走了哪些彎路?用了哪些分析工具?好比說根因,能夠研究的點起碼有linux的OOM,k8s的OOM,go的內存管理,defer機制,函數閉包的原理等等。若是這些真的都不涉及,仍然花了一週時間作這件事,那覆盤應該會有不少思考,提出來幾十個WHY沒問題吧... 面試
再來講下總結沉澱。這個我以爲也是大多數程序員比較欠缺的地方,只顧埋頭幹活,能夠把一件事作的很好。可是幾乎歷來不作抽象總結,以致於工做好幾年了,所掌握的知識仍是零星的幾點,不成體系,不只容易遺忘,並且形成本身視野比較窄,看問題比較侷限。適時地作一些總結沉澱是很重要的,這是一個從術到道的過程,會讓本身看問題的角度更廣,層次更高。遇到同類型的問題,能夠按照總結好的方法論,系統化、層次化地推動和解決。 spring
仍是舉一個例子。作後臺服務,今天優化了1G內存,明天優化了50%的讀寫耗時,是否是能夠作一下性能優化的總結?好比說在應用層,能夠管理服務對接的應用方,梳理他們訪問的合理性;在架構層,能夠作緩存、預處理、讀寫分離、異步、並行等等;在代碼層,能夠作的事情更多了,資源池化、對象複用、無鎖化設計、大key拆分、延遲處理、編碼壓縮、gc調優還有各類語言相關的高性能實踐...等下次再遇到須要性能優化的場景,一整套思路立馬就能套用過來了,剩下的就是工具和實操的事兒了。 後端
還有的同窗說了,我就天天跟PM撕撕逼,作作需求,也不作性能優化啊。先不討論是否能夠搞性能優化,單就作業務需求來說,也有能夠總結的地方。好比說,如何作系統建設?系統核心能力,系統邊界,系統瓶頸,服務分層拆分,服務治理這些問題有思考過嗎?天天跟PM討論需求,那做爲技術同窗該如何培養產品思惟,引導產品走向,如何作到架構先行於業務,這些問題也是能夠思考和總結的吧。就想一下,鏈接手維護別人爛代碼這種蛋疼的事情,都能讓Martin Fowler整出來一套重構理論,還顯得那麼高大上,咱們確實也沒啥必要對本身的工做妄自菲薄... 設計模式
因此說學習和成長是一個自驅的過程,若是以爲沒什麼可學的,大機率並非真的沒什麼可學的,而是由於本身太懶了,不只是行動上太懶了,思惟上也太懶了。 緩存
能夠多寫技術文章,多分享,強迫本身去思考和總結,畢竟若是文章深度不夠,你們也很差意思公開分享。 性能優化
最近兩年在互聯網圈裏普遍傳播的一種焦慮論叫作35歲程序員現象,大意是說程序員這個行業幹到35歲就基本等着被裁人了。不能否認,互聯網行業在這一點上確實不如公務員等體制內職業。可是這個問題裏35歲程序員並非絕對生理意義上的35歲,應該是指那些工做十幾年和工做兩三年沒什麼太大區別的程序員。後面的工做基本是在吃老本,沒有主動學習與充電,35歲和25歲差很少,並且沒有了25歲時對學習成長的渴望,反而添了家庭生活的諸多雜事,薪資要求每每也較高,在企業看來這確實是沒什麼競爭力。 微信
而若是咱們積極學習,保持技術能力、知識儲備與工做年限成正比,這到了35歲哪還有什麼焦慮呢,這樣的大牛我以爲應該也是各大公司搶着要吧?可是學習這件事,實際上是一個反人類的過程,這就須要咱們強迫本身跳出本身的安逸區,主動學習,保持技術熱情。在滴滴時有一句話大概是,主動跳出本身的溫馨區,感到掙扎與壓力的時候,每每是黎明前的黑暗,那纔是成長最快的時候。相反若是感受本身天天都過得很安逸,工做只是在混時長,那可能真的是溫水煮青蛙了。
剛畢業的這段時間,每每空閒時間還比較多,正是努力學習技術的好時候。藉助這段時間夯實基礎,培養出良好的學習習慣,保持積極的學習態度,應該是受益終身的。至於如何高效率學習,網上有不少大牛寫這樣的帖子,到了公司後內網也能找到不少這樣的分享,我就很少談了。
能夠加入學習小組和技術社區,公司內和公司外的均可以,關注前沿技術。
前兩條仍是從我的的角度出發來講的,但願你們能夠提高我的能力,保持核心競爭力,但從公司角度來說,公司招聘員工入職,最重要的是讓員工創造出業務價值,爲公司服務。雖然對於校招生通常都會有必定的培養體系,但實際上公司確實沒有幫助咱們成長的義務。而在能爲公司辦成事,創造價值這一點上,我以爲最重要的兩個字就是主動,主動承擔任務,主動溝通交流,主動推進項目進展,主動協調資源,主動向上反饋,主動創造影響力等等。我當初剛入職的時候,基本就是leader給分配什麼任務就把本職工做作好,而後就幹本身的事了,幾乎歷來不主動去跟別人交流或者主動去思考些能幫助項目發展的點子。自覺得把本職工做保質保量完成就好了,後來發現這麼作實際上是很是不夠的,這只是最基本的要求。而有些同窗的作法則是leader只須要同步一下最近要作什麼方向,下面的一系列事情基本不須要leader操心了 ,這樣的同窗我是leader我也喜歡啊。入職後常常會聽到的一個詞叫owner意識,大概就是這個意思吧。
在這個過程當中,另外很重要的一點就是及時向上溝通反饋。項目進展不順利,遇到什麼問題,及時跟leader同步,技術方案拿捏不許能夠跟leader探討,一些資源協調不了能夠找leader幫忙,不要有太多顧忌,認爲這些會太麻煩,leader其實就是幹這個事的。。若是項目進展比較順利,確實也不須要leader介入,那也須要及時把項目的進度,取得的收益及時反饋,本身有什麼想法也提出來探討,問問leader對當前進展的建議,還有哪些地方須要改進,消除信息偏差。作這些事一方面是合理利用leader的各類資源,另外一方面也可讓leader瞭解到本身的工做量,對項目總體有所把控,畢竟leader也有leader,也是要彙報的。可能算是你們比較反感的向上管理吧,有內味了,這個其實我也作得很差。可是最基本的一點,不要接了一個任務悶着頭幹活甚至與世隔絕了,一個月了也沒跟leader同步過,想着憋個大招之類的,那基本涼涼。
必定要主動,能夠先從強迫本身在各類公開場合發言開始,有問題或想法及時one-one。
不管是校招仍是社招,剛入職的第一件事是很是重要的,直接決定了leader和同事對本身的第一印象。入職後要作的第一件事必定要作好,最起碼的要順利完成並且不能出線上事故。這件事的目的就是爲了創建信任,讓團隊以爲本身起碼是靠譜的。若是這件事作得比較好,後面一路都會比較順利。若是這件事就搞雜了,可能有的leader還會給第二次機會,再搞很差,後面就很難了,這一條對於社招來講更爲重要。
而剛入職,公司技術棧不熟練,業務繁雜很難理清什麼頭緒,壓力確實比較大。這時候一方面須要本身投入更多的精力,另外一方面要多跟組內的同窗交流,不懂就問。最有效率的學習方式,我以爲不是什麼看書啊學習視頻啊,而是直接去找對應的人聊,讓別人講一遍本身基本就全懂了,這效率比看文檔看代碼快多了,不只省去了過濾無用信息的過程,還了解到了業務的演變歷史。固然,這須要必定的溝通技巧,畢竟同事們也都很忙。
臉皮要厚一點,多找人聊,快速融入,最忌諱有問題也不說,本身把本身孤立起來。
超出預期這個詞的外延範圍很廣,好比leader讓去作個值周,解答用戶羣裏你們的問題,結果不只解答了你們的問題,還收集了這些問題進行分類,進而作了一個智能問答機器人解放了值周的人力,這能夠算超出預期。好比leader讓給運營作一個小工具,結果建設了一系列的工具甚至發展成了一個平臺,成爲了一個完整的項目,這也算超出預期。超出預期要求咱們有把事情作大的能力,也就是想到了leader沒想到的地方,而且創造了實際價值,拿到了業務收益。這個能力其實也比較重要,在工做中發現,有的人能把一個小盤子越作越大,而有的人剛好反之,那麼那些有創新能力,常常超出預期的同窗發展空間顯然就更大一點。
這塊其實比較看我的能力,暫時沒想到什麼太好的捷徑,多想一步吧。
這句話是晉升時候總結出來的,大意就是作系統建設要有全局視野,不要侷限於某一個小點,應該有良好的規劃能力和清晰的演進藍圖。好比,今天加了一個監控,明天加一個報警,這些事不該該成爲一個個孤島,而是屬於穩定性建設一期其中的一小步。這一期穩定性建設要作的工做是報警配置和監控梳理,包括機器監控、系統監控、業務監控、數據監控等,預期能拿到XXX的收益。這個工做還有後續的roadmap,穩定性建設二期要作容量規劃,接入壓測,三期要作降級演練,多活容災,四期要作...給人的感受就是這我的思考很是全面,辦事有體系有規劃。
平時積極總結沉澱,多跟別人交流,造成方法論。
這裏的軟素質能力其實想說的就是PPT、溝通、表達、時間管理、設計、文檔等方面的能力。說實話,我以爲我當時能晉升就是由於PPT作的好了一點...可能你們平時對這些能力都不怎麼關注,之前我也不重視,以爲比較簡單,用時候直接上就好了,但事實可能並不像想象得那樣簡單。好比晉升時候PPT+演講+答辯這個工做,其實有不少細節的思考在裏面,內容如何選取,排版怎麼設計,怎樣引導聽衆的情緒,如何回答評委的問題等等。晉升時候我見過不少同窗PPT內容編排雜亂無章,演講過程也不流暢天然,雖然確實作了不少實際工做,但在表達上欠缺了不少,屬於會作不會說,若是再遇到不了解實際狀況的外部門評委,吃虧是能夠預見的。
公司內網通常都會有一些軟素質培訓課程,能夠找一些場合刻意訓練。
拍馬屁這東西入職前我是很反感的,我最初想加入互聯網公司的緣由就是以爲互聯網公司的人情世故沒那麼多,事實證實,我錯了...入職前幾天,部門羣裏大leader發了一條消息,後面幾十條帶着大拇指的消息立馬跟上,學習了,點贊,真不錯,優秀,那場面,說是紅旗招展鑼鼓喧天鞭炮齊鳴一點也不過度。除了驚歎你們超強的信息接收能力和處理速度外,更進一步我還發現,連拍馬屁都是有隊形的,一級部門leader發消息,幾個二級部門leader跟上,後面各組長跟上,最後是你們的狂歡,讓我一度懷疑拍馬屁的速度就決定了職業生涯的發展前景(沒錯,如今我已經不懷疑了)。
坦誠地說,我到如今也沒習慣在羣裏拍馬屁,但也不反感了,能夠說把這個事當成一樂了。倒不是說我沒有那個口才和能力(事實上也不須要什麼口才,你們都簡單直接),在某些場合,爲活躍氣氛的須要,我也能小嘴兒抹了蜜,甚至能把古詩文彩虹屁給leader安排上。而是我發現個人直屬leader也不怎麼在羣裏拍馬屁,因此我表面上不公開拍馬屁其實屬於暗地裏事實上迎合了leader的喜愛...
可是拍馬屁這個事只要掌握好度,總體來講仍是香的,最可能是沒用,至少不會有什麼壞處嘛。你們能力都差很少,每一次在羣裏拍馬屁的機會就是一次露臉的機會,按某個同事的說法,這就叫打造我的技術影響力...
想舔就舔,不想舔也不必酸別人,Respect Greatness。
有人的地方,就有江湖。雖然搞技術的大多城府也不深,但撕逼甩鍋邀功搶活這些鬧心的事兒基本也不會缺席,甚至我還見到過公開羣發郵件撕逼的...這部分話題涉及到一些敏感信息就很少說了,並且咱們低職級的遇到這些事兒的機會也不會太多。只是給你們提個醒,在工做的時候早晚都會吃到這方面的瓜,到時候留個心眼。
稍微注意一下,咱不會去欺負別人,但也不能輕易讓別人給欺負了。
說實話,我我的是比較反感灌雞湯、打雞血、談夢想、講奮鬥這一類行爲的,9102年都快過完了,這一套***治還在大行其道,真不知道是該好笑仍是可悲。固然,這些詞自己並無什麼問題,可是這些東西應該是自驅的,而不該該成爲外界的一種強push。『我必須努力奮鬥』這個句式我以爲是正常的,可是『你必須努力奮鬥』這種話多少感受有點詭異,努力奮鬥因此讓公司的股東們發家致富?尤爲在錢沒給夠的狀況下,這些行爲無異於耍流氓。咱們須要對leader的這些畫餅操做保持清醒的認知,理性分析,做出決策。好比感受錢沒給夠(或者職級過低,同理)的時候,可能有如下幾種狀況:
leader並無注意到你薪資較低這一事實
leader知道這個事實,可是不知道你有多強烈的漲薪需求
leader知道你有漲薪的需求,但他以爲你能力還不夠
leader知道你有漲薪的需求,能力也夠,可是他不想給你漲
leader想給你漲,也向上反饋和爭取了,可是沒有資源
這時候咱們須要作的是向上反饋,跟leader溝通確認。若是是1和2,那麼經過溝通能夠消除信息偏差。若是是3,須要分狀況討論。若是是4和5,已經能夠考慮撤退了。對於這些事兒,也不必抱怨,抱怨解決不了任何問題。咱們要作的就是努力提高好我的能力,保持我的競爭力,等一個合適的時機,跳槽就完事了。
時刻準備着,技術在手就沒什麼可怕的,哪天干得不爽了直接跳槽。
這一條說白了就是,要會吹。忘了從哪兒看到的了,能說、會寫、善作是對職場人的三大要求。能說是很重要的,能說才能要來項目,拉來資源,招來人。一樣一件事,不一樣的人能說出來徹底不同的效果。好比我作了個小工具上線了,我就只能說出來基本事實,而讓leader描述一下,這就成了,打造了XXX的工具抓手,改進了XXX的完整生態,造成了XXX的業務閉環。老哥,我服了,硬幣全給你還不行嘛。據個人觀察,每一個互聯網公司都有這麼幾個詞,抓手、生態、閉環、拉齊、梳理、迭代、owner意識等等等等,咱們須要作的就是熟讀並背誦全文,啊不,是牢記並熟練使用。
這是對事情的包裝,對人的包裝也是同樣的,尤爲是在晉升和麪試這樣的應試型場合,特色是流程短一錘子買賣,包裝顯得尤其重要。晉升和麪試這裏就不展開說了,這裏面的道和術太多了。。下面的場景提煉自面試過程當中和某公司面試官的談話,你們能夠感覺一下:
咱們背後是一個四五百億美金的市場...
我負責過天天千億級別訪問量的系統...
工做兩年能達到這個程度挺不錯的...
貴司技術氛圍挺好的,業務發展前景也很廣闊...
啊,彼此彼此...
嗯,久仰久仰...
人生如戲,全靠演技。
能夠多看leader的PPT,多聽老闆的向上彙報和宣講會。
這還用問麼,固然是選擇。在完美的選擇面前,努力顯得一文不值,我有個多年沒聯繫的高中同窗今年已經在時代廣場敲鐘了...可是這樣的案例太少了,作出完美選擇的隨機成本過高,不肯定性太大。對於大多數剛畢業的同窗,對行業的判斷力還不夠成熟,對自身能力和創業難度把握得也不夠精準,此時拉幾我的去創業,顯得風險過高。我以爲更爲穩妥的一條路是,先加入規模稍大一點的公司,找一個好leader,抱好大腿,提高本身的我的能力。好平臺加上大腿,再加上我的努力,這個起飛速度已經能夠了。等後面積累了必定人脈和資金,深入理解了市場和需求,對本身有信心了,能夠再去考慮創業的事。
若是對本身沒太大自信的話,那就來頭條一塊兒抱團取暖吧,記住找我內推。
原本還想分享一些生活方面的故事,發現已經這麼長了,那就先這樣叭。上面寫的一些總結和建議我本身作的也不是很好,還須要繼續加油,和你們共勉。另外,其中某些觀點,因爲我的視角的侷限性也不保證是普適和正確的,可能再工做幾年這些觀點也會發生改變,歡迎你們跟我交流~(甩鍋成功)
最後祝你們都能找到心儀的工做,快樂工做,幸福生活,廣闊天地,大有做爲。
有完整的Java初級,高級對應的學習路線和資料!專一於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分佈式及面試資料、開源項目,助力開發者成長!
歡迎關注微信公衆號:碼邦主
做者:syntax_error
連接:https://www.nowcoder.com/discuss/351805
來源:牛客網