如何與大廠程式設計師 PK?你需要具備這些能力

jin廣越發表於2019-03-17

前倆天釋出了 Android 高階開發面試題以及答案整理 收到了很多同學的反饋,希望整理一些初中級的文章,經過再三思考我覺得對於初中級工程師來說面試的時候考察的不僅僅在於技術上的掌握程度,而更為重要的是一種思維方式,所以我想通過這篇文章來分享下我認為對於初中級來說最合理的思維方式,

另外我想強調當下大環境確實對於初中級工程師不那麼利好,但是大家沒有必要過於悲觀,對於初中級同學在用人單位看來更重要的是看大家的潛力,我經常聽見面試官這樣說:我們要的員工是思維開闊,基礎知識牢固,善於思考的人,即使工作經驗少但是可培養性強,我們堅決不要那些只有工作年限但是隻有一年工作經驗的人!可見用人單位要的是匹配工作年限的能力。

我之前在月薪一萬的時候寫過這樣一篇文章:我是如何從零開始自學Android到一萬月薪的 詳細總結了我是如何一步一步到達一萬月薪的,到現在在看之前寫的方法依然實用,有幾個非常重要的習慣我一直堅持到現在:

堅持寫部落格

我從2015年開始到現在一直堅持寫部落格從未間斷,這裡也推薦大家多看 郭霖 鴻洋 的CSDN部落格,其他的技術部落格我看的少,但是這倆個的我看的挺多,有的文章看過不止一遍,書籍上我推薦郭神的 第一行程式碼 以及 任玉剛的 安卓開發藝術探索,我都看過幾遍 所以我才敢推薦給大家,相比他們來說我的部落格質量真的不行,我想強調的是定期總結不論是技術還是想法都非常重要,這不僅僅是技術能力的總結和提升,通過寫出來無形之中提升了自己的抽象能力,對問題得表達以及總結能力,這些軟實力非常重要,其實大家平時做技術研發很多時候我們做的需求並不難,大家基本都能做,難一點的通過搜尋引擎搜尋一下一樣能實現,那麼是什麼區別於你做的比別人好,就是軟實力!

軟實力決定你能在職場到達什麼樣的高度,當然這裡排除一些技術天才,演算法大牛以及高併發大神,但是現實是哪有那麼多高併發給我們去實踐,我想大部分人還是在做一些需求開發,所以下意識的培養自己的軟實力非常重要,它具體包括什麼?高效的提問能力,高效的表達能力都非常關鍵,如果遇到一個問題沒有經過自己的搜尋和基本的分析就直接去問高工那顯然是最讓人不能接受的,我聽到在溝通過程中最多的一句話是 現在的問題是什麼? 很明顯這是人家在暗示你直接說問題,別浪費時間,那麼在表達能力上能用一句話說明白的千萬別用第二句話,這裡面有很多學問,這裡不展開講了,大家感興趣可以留言,我會再寫一篇文章專門講這個,其實寫作對於這些能力都是一種鍛鍊,所以推薦大家堅持寫作!

必須有自己的 Github

我覺得我能進入大廠很大程度是因為我的部落格和我的 github,我的 github Star 不太多,但是幾百個還是有的,我想很多大廠員工沒我多,很多小夥伴不知道開源什麼,覺得自己沒什麼技術可以開源出去的,其實做一個開源專案不一定很大,可以是一個知識點,比如我開源了自己的做的自定義相機程式,自定義一個可以手勢縮放單指拖動的 view,我開源了一個視訊列表等等。

那麼通過開源我獲得了什麼?一個就是我上面說的對於找工作非常有利,有大佬這樣說過,我們小公司的出來面試怎麼和大廠的人去比,我覺得 github 開源就算一個,如果你能搞到幾百個 Star,我想面試官一定會重視,我清晰的記得我的面試經理和我說,我的 github 有幾十萬行程式碼,說實話我根本不知道我的github有多少程式碼,但是他卻非常看重,這個不僅僅證明技術能力,更加是一種學習能力,大家應該聽說過有人github有1000個Star直接不用面試就發 Offer,可想而知它的魅力。

那麼除了面試還能得到什麼?通過開源積累了自己的程式碼庫,使用自己的輪子不用想有多順手了吧,並且你的輪子還能給別人使用,通過更多人的使用必然發現更多的問題,通過不斷的修復問題你的程式碼也會更強壯,你將學會的更多,你還會認識很多做技術的夥伴,會有人 Follow 你,認識更多的朋友之後找工作直接內推,這待遇可是沒誰了,所以如果沒有 Github 賬號的你立即開始建立一個自己的程式碼庫吧!

注重每一個細節

我一直強調怎麼和他人做出區別,大家做的工作內容差不多,我怎麼能比別人強呢,那就是做出細節感!把每一件小事做到最好本身就是一件非常不容易的事情,大家都完成了需求,但是有的人的程式碼就沒有效能問題,並且可擴充套件性強,我目前在公司主要的工作就是做效能優化,在做的期間發現了很多程式碼邏輯問題,導致了嚴重的耗時操作,雖然功能完成了但是卻留下了隱患,再想一個問題,為什麼說有人工作了十年還是一年的經驗呢?因為他們在做重複的事情,每天寫業務程式碼,但是從未思考過為什麼?也沒有考慮過更多的事情,比如效能,可擴充套件性等等,當然做了十年還是用的一年的技術啊!

那麼我們平時寫程式應該注意寫什麼?第一就是隨時考慮是否有更好的方式實現這個需求,第二就是這樣做會不會帶來效能問題,第三就是要考慮產品上的問題,為什麼要這樣做,不是說我們研發只完成需求就行了,好的研發也要考慮需求可行性,是不是真的有這樣的需求場景,如果你能說服產品經理並且提供了自己的產品思路,我想以後和產品人員溝通起來也會非常順暢,對於你和其他研發也會區別對待,這都是以後非常重要的能力。

我相信每一個牛人都不是生來就是牛人,都是吃過苦的,如果大家能夠做到以上幾點並且堅持下來,我想時間不用很多,只需一年,就會和現在比起來有質的變化,只要方向和目標確定好了,堅持下去,剩下的交給時間就行了,我們做技術的只需要一點點進步,急不來,只要今天的自己比昨天的你進步一點點,長此以往你就會感謝自己的堅持!

覺得我的文章分享的不錯推薦大家關注公眾號,還是那句話:我的公眾號不分享技術,而是分享如何通過自己開發的產品賺錢。

關注我的 Google Play 獨立開發公眾號 通過從零到一在 Google Play 開發出下載量 300萬 APP 的經歷,我將把很多精彩的故事分享到公眾號,掃描下方二維碼和我一起開發 APP 賺美元吧!

如何與大廠程式設計師 PK?你需要具備這些能力

相關文章