close

點擊下方卡片,關注「新機器視覺」公眾號

視覺/圖像重磅乾貨,第一時間送達


作者 | Ely
翻譯 | 王強
策劃 | 褚杏娟
來源 | AI前線

有人曾對我說:「如果你 35 歲時還是個程序員,那就應該開始為你的下半生尋找其他出路了。年輕一代正在迎頭趕上,很快你就會被淘汰。」

的確,我到了 35 歲時開始反思自己的職業生涯,但情況有些不一樣。

不得不重新開始
知道想學什麼後,就動手去做!

在那個年齡段,我不是一個基層程序員,而是管理崗。在我職業生涯的前幾年,我確實有一段作為一名 C++ 開發者的短暫時期。然而在開始擔任管理職務後,我的編程技能就退化了。我每天的工作就是開會、做 PPT 和 Excel 表格,當然還有看大量的電子郵件。我幾乎不看代碼,幾個星期甚至幾個月都不看一回,更不用說寫代碼了。

39 歲時,我移民到一個新的國家。彼時,我的管理技能已經用不上了。這裡的公司更喜歡用有本地經驗的人來擔任管理職務。我可以選擇換個職業,從事其他不需要技術知識的臨時工作。但我的確很喜歡編程。我想回到自己起步的崗位上,因此嘗試了幾次關於 C++ 的面試。

尷尬的是,我甚至沒有通過初步的編程測試。為此,我感到心灰意冷。

我不知道再回去寫 C++ 能做些什麼。那些 C++ 的編程工作針對的是涉及硬件的嵌入式軟件開發,而不是我感興趣的主流軟件開發。既然已經不再對 C++ 感興趣了,那麼我到底想要做什麼呢?

當時,移動開發是大熱話題,尤其是 iOS。但要做 iOS 開發,我首先需要買一台 MacBook 和 iPhone,兩種設備我都沒有。問題是,如果我沒法提前知道自己能不能勝任這一工作就先花錢買設備的話,前期投資就太多了。

我當時有一台 Windows 筆記本電腦和一部三星 S2 手機。我看到 Android 正在呈現發展勢頭,雖然那時 Android 還不是使用人數最多的移動平台,但越來越多的人開始使用 Android 手機。所以我選擇了 Android 開發。

確定學習目標後,我只需要獲得相關資源即可。首先,谷歌的開發工具包 Android Studio 是免費的,我還買了一些能找到的書籍。由於 Android 系統相當新潮,所以當時的書籍並不多,但互聯網上有很多學習資源和代碼參考等,這非常重要。我還可以訂閱一些最新的學習郵件。

學習開發知識比過去方便多了,任何人都可以輕鬆上手。

為自己爭取機會
身處正確的環境中,會學得更快。

首先,我自己做了幾個小的應用,並在商店裡發布。我了解了從設計、開發、測試到向公眾發布所需要的東西,完整地體驗了 Android 的開發過程。

雖然我可以自己學習和工作,但我知道僅靠自己永遠不會達到理想的學習速度,除非我與其他 Android 開發者一起工作。這種情況下,我想加入一家做 Android 開發的公司。

我發布的應用讓我獲得了一家成長中移動開發公司的面試機會,這對我來說非常寶貴。

我知道自己沒有資格勝任高級開發人員,所以只要能夠得到工作和學習的機會就行,能夠得到任何職位都可以。對此我沒有什麼想法,因為這為我提供了充分的學習機會,我可以做一名後輩。

不幸的是,我在最後一輪面試中失敗了,這令我崩潰。

但我還是發了封電子郵件,感謝公司提供的面試機會。我並沒有就此罷休,我詢問他們是否願意考慮讓我作為實習生加入,我甚至願意不計報酬地工作和學習,以獲得提高自己技能的機會。

最後我得到了一個機會,但不是實習生,而是一個移動應用 QA 測試員的職位。

我非常願意接受這個崗位。我去做測試工作可能不會去寫代碼,但我可以和專家們打成一片,向他們學習。更棒的是,我在做測試時還能拿到報酬。這比做一個沒有報酬的實習生要好得多。

時間和年齡並不重要
要好好學習,讓它成為我們工作的一部分。

當我開始在那家移動開發公司工作時,我成為 Android 開發人員的目標已經實現了 50%,但這並不能保證我可以完成剩下的 50%。我必須提高自己的開發技能,並在機會出現時已做好準備。

作為一名 QA 測試員,我每天必須工作 8 小時。我很羨慕那些做開發的人,他們可以邊工作邊學習。邊工作邊學習是最好的,但我沒有這種機會。儘管如此,身處移動開發公司本身已經是一個很大的優勢。我有機會接觸到公司里的一些學習資源,這樣更容易發現自己應該重點學習哪些領域的知識,對此我很感激。

最重要的是,我和這個領域的專家們建立了聯繫。他們中 95% 的人年齡都比我小。年齡並不是什麼問題,重要的是他們在這個領域的經驗。我非常尊重他們擁有的技能和知識,以及他們的分享意願。從他們身上我學到了很多。

工作時間之餘學習和寫代碼,這樣的生活並不容易,但很充實。一點一滴地學習、知道自己的方向是正確的,這是很好的體驗。我的任務是,成為一名 Android 開發者。

在這個階段,我需要的是不斷展示自己的學習成果,同時堅持不懈地履行自己作為一名 QA 的使命。每隔一段時間,我就向 Android 主管展示我所取得的成績,並檢查自己是否已經準備好在有任何 Android 開發崗位空缺時拿下它。

6 個月後,我被調任到了開發崗位上,正式成為了一名 Android 開發人員!雖然只是初級崗位,但也是一名開發人員。

去分享吧,錯了也沒關係
開始分享時,學到的東西最多。

當我進入 Android 開發人員的角色時已經 40 歲了。但這不是我目標的終結,而只是一個開始。

我非常高興,因為我可以隨心所欲地寫代碼。我的工作時間就是寫代碼的時間,可以在工作中學習。我能與專家結對,向他們學習。我可以閱讀他們的代碼,他們也可以審查我的代碼。這時,我對 Android 開發的理解速度加快了很多。

我可以滿足於這一層次,但我知道,隨着年齡的增長,自己並沒有像其他人那麼多的時間。我需要做的不僅僅是學習。

在領導的鼓勵下,我開始寫博客。我花了一段時間才開始做這件事,因為我想誰願意看我寫的東西呢?我又不是專家。如果我寫的東西不符合標準怎麼辦,甚至還可能是錯的?

儘管如此,我也注意到自己很容易忘記學到的東西。所以我的目的很簡單,那就是為自己寫博客。這更像是我的學習筆記,就算沒有人看它,至少我可以通過博客很容易地回憶起我所學的東西。

之後,我花時間寫下了我的學習內容,並儘量讓文字簡單易懂,便於自己回憶。對於每項學習進度,我都會畫圖,再附上代碼實踐的案例。

讓我驚訝的是竟然有人讀了它,還有人寫下了充滿感激的評論。他們的留言給了我極大的鼓勵,讓我繼續寫下去。更重要的是,有人坦率地與我持不同意見。誠然,我有時會有牴觸心理,但正是這些回復讓我意識到外面還有各種不同的思維方式和想法。

有時我是錯的,有時我雖然沒有錯,但可以了解對方的觀點。這些都是學習的機會,讓我的學習之旅更加健康。這是一段成為更好的 Android 開發人員的旅程。

走出舒適區
在能分辨好壞之前,繼續學習吧。

經過 4 年多的 Android 開發經歷,我在這個領域已經相對自如了,我成為了一名高級 Android 開發人員。除了本身的開發工作外,我還會指導其他初級開發人員。

我不敢說自己對 Android 開發了如指掌,但我更知道如何獲取和尋找信息,對事物的對錯有更好的直覺和判斷。Android 開發行業也在不斷發展,所以有很多東西需要學習。我喜歡自己的工作。

我可以留在這個層次上安頓下來。我喜歡這份工作,因為我的工作就是寫代碼,然而我仍然只是單一的貢獻者,我的影響範圍僅限於自己能做的事情。我問自己,這就是我生命中未來 10 年想要一直做的事情嗎?

我決定在機會出現時向前邁進。我申請了首席開發人員的職位,同時負責 iOS 和 Android。最終,我得到了這個職位,儘管我並不擅長 iOS。

不了解自己所負責的領域,這種感覺讓我感到很不舒服。但正是這種不舒服的感覺促使我去學習和提升知識水平。所以,我開始花時間去學習 iOS 開發。

我不認為自己能夠像了解 Android 那樣深度掌握 iOS 開發知識,但這種學習確實可以幫我更宏觀地看待移動開發領域,它讓我知道了 Android 開發擅長什麼事情,也知道了它在哪些方面比較落後。

重回管理崗

從我第一次涉足 Android 開發已經過去了 7 年多,很多事情都發生了變化。

我現在是一名移動技術負責人,負責整個移動團隊的協作和架構工作。除了技術角色外,我還需要參與各種管理任務。我又回到了沒有太多時間在工作中寫代碼和學習的階段,但我仍然很喜歡我的工作,因為它仍然是相對技術性的,只是技術水平更高了。

要做出合理的高層次技術決策必須有紮實的底層技術理解。我們不能依靠過去的學習內容來保持所需的水平。我需要繼續學習,希望自己不會在幾年後重蹈覆轍。

這就是我的故事。40 歲才開始從事軟件開發事業,還不算太晚。

原文鏈接:

https://levelup.gitconnected.com/i-started-android-development-at-40-6591c1e8bc38


本文僅做學術分享,如有侵權,請聯繫刪文。

—THE END—
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()