1. 程式人生 > >如何成為編程開發技術大牛 ?

如何成為編程開發技術大牛 ?

Java 編程開發 技術大牛


經常有人在公眾號裏問我,《第一行代碼》看完了,想再找一本進階的書來學習學習,問我應該看什麽好,我的回答總是《Android開發藝術探索》。這是一本質量很高的進階書,作者是任玉剛,在圈子裏我們都稱他任主席。

主席是Android界的大大牛,不僅是名校出身,而且工作也都是大廠履歷,先後在百度滴滴工作,滴滴的插件化開源框架VirtualAPK就是出自他之手。而作為大大牛的他,今天和我們分享了如何才能成功技術大牛的經驗,相信會對不少朋友有所幫助。

背景

  • 提問1

提問: 剛哥,我有一個困擾,我看你的藝術大概七八遍了,從剛開始的止步於binder,到後來的三天全部看完了,但是有一個事就是平時用到的少,自定義view倒是挺多的,我在這個公司主要是做證券行情模塊,就是各種繪制K線,指標等等,做同花順那種app基本沒問題,繪制,手勢,都是信手拈來,但是僅僅就是這一塊,書上所說的內容有很大一部分用不到,然後就忘掉了,請問對於我這樣的人,怎麽才能成長為剛哥你這樣的人?

  • 提問2

提問: 剛哥,因為聽到看到一些事,讓我覺得幾百幾千對於真正需要的人來說,真的是太少了!覺得自己有心無力! 我決心在接下來的兩年好好學技術,我想努力進美團(因為我之前沒接觸過計算機語言,可能滴滴進不去),拿更多的工資!一步一步提高自己!!!所以,我想麻煩剛哥能給我指導一下,美團的面試有沒有啥稍微明確或者大概的方向呢?或者我該學哪些方面的東西?剛哥,千言萬語難以表達我的想法,懇請剛哥能像諸葛亮教導姜維那樣,給我一些指點!再難我也學!我問得跟之前的學習路線的有點區別,剛哥,你可以等理順了再回復我。詞不達意,謝謝剛哥!真的謝謝!麻煩剛哥了!

上面是我的公眾號兩位小夥伴的提問,總結下就是:

  • 問題1:公司用到的技術比較簡單,如何成長為大牛?

  • 問題2:如何有針對性地進入一家大公司?

這兩個問題,應該非常具有代表性。我相信有類似疑問的同學還非常多,為了能幫助更多的人,所以我將這篇文章分享了出來。

對於問題2,我可以肯定地說:不存在某種方式使其可以簡單進入某家公司。面試過程具有不確定性,哪怕是同一家公司,不同的面試官所問的問題和側重點都是不一樣的,因此我們沒法有針對性地去學習部分內容而通過面試,唯有全面的學習才足以應對任何公司和任何面試官。

凡事不能絕對,既然有同學問了,那我就透露一下:

如果你有足夠的人脈,能夠提前知道目標崗位的要求,以及目標面試官的技術喜好,那將會有捷徑出現。

大家想想,上述捷徑可操作的空間很小,我們很難做到這一點。

雖然我曾經幫助3位公眾號的同學進行了內推並幫助他們拿到了offer,但是我也做不到上述那樣。我所做的只是合適的引薦:幫有實力的候選者通過簡歷篩選、向面試官推薦候選者並讓候選者有機會展示自己的技術能力。

可能有同學會疑問了:我有能力還需要你推薦嗎?這話不假,但是很多同學學歷和工作經歷不佳,簡歷投遞到大公司直接就被pass了,因為篩選簡歷的hr可沒那麽多時間去了解你的技術,他們主要看三點:

  • 工作年限,是不是3年+

  • 畢業院校,是不是名校

  • 工作經歷,是不是一線公司

不滿足上述三個條件,pass。

言歸正傳,我們很難有針對性地去準備一家公司的面試,那我們只能全方位地去學習。這樣一來,問題1和問題2本質上就是一個問題啦,即:

公司用到的技術比較簡單,如何成長為大牛?

如何成為技術大牛?

想成為技術大牛,我認為需要經過下述幾個階段,任何一門技術,不管是Android、iOS、前後端還是人工智能啥的,都可以歸結為以下幾點:

  • 理論基礎階段

  • 實踐階段

  • 思考階段

  • 理論升華階段

理論基礎階段

這個時候對應剛開始學習的階段,我們會看入門書、官方文檔和網上博客,能夠寫出 hello world,實際上這個時候我們學到的都是一個個零碎的知識點,不能形成大的戰鬥力。

實踐階段

光學習不實踐是沒有用的,尤其對於編程來說,擼碼的意義就更重要了。有時候會有這種感覺:“看書都能看懂,輪到自己寫功能的時候就有點不知所措”,這其實就是缺乏實踐的表現。

很多時候,光靠上班是不夠的,尤其是很多公司所做的事情比較簡單,涉及的技術也少,那就更需要我們業余時間投入更多時間了。業余時間的學習需要明確的方向和學習路線,這個時候需要有一本好書或者好的博客,這其實是很難得的,最終要把一個技術領域常用的技術都學會。

換言之,平時工作較簡單,那就需要從看書、技術博客、開源中獲取實踐經驗。為了更好地實踐,你必須敲代碼,學習一個知識點的時候,看完書和博客文章,你必須親手敲一個例子來驗證才行,避免復制粘貼。

思考階段

如果說大量的實踐可以讓你輕松掌握各種技能,那麽思考則能讓你對技術的理解較旁人更勝一籌。那麽如何思考呢?這裏可以舉幾個例子。

比如,一個效果通過某種方式實現,要思考下:“還有更好的方式嗎?沒種方式的優缺點是什麽呢?”

再比如,一種常用的API,也可以思考下:“這個系統是怎麽實現的呢?能不能讀一讀它的源碼呢?”

理論升華階段

在經歷了理論->實踐->思考以後,經過幾年的歷練,那你就破繭成蝶了,你會對一個技術領域有整體的理解和全局的把控。再談起這個技術領域,你可以輕易說出一條又一條的道理,這種理論是經過大量實踐和思考得出的,和最開始那種基礎理論有著顯著的不同。

所以我說,其實技術最終也是理論,你們認可嗎?還有就是方法論再好,不投入大量時間也是不行的,我所知道的一些技術大牛,都是投入了大量業余時間來學習和思考,最終成為了技術大牛。

如果你在Java開發工作中遇到困難,或者學習遇到瓶頸,歡迎加入我們Java總群:309603235, 解決各種坑爹的Java問題,群內有Java技術大牛,為您解決Java工作、學習中遇到的問題,歡 迎菜鳥,老鳥入坑。


如何成為編程開發技術大牛 ?