40歲開始學習Android開發(fā)的我成了一名技術主管
點擊關注下方公眾號,Java資料都在這里
【編者按】在程序員群體中,有關35歲危機的討論幾乎從未暫停。大齡程序員似乎是一個特別的存在,其實在CSDN平臺,有不少40、50歲依然在寫代碼、寫博客的程序員,例如《一個老程序員的計算機視覺蹣跚學習之路》的作者LaoYuanPython今年已經51歲了。而本文作者則跟LaoYuanPython一樣,早期也是一名C++程序員,可在擔任管理職務后,每天打交道的只有PPT跟Excel了,而編程技術慢慢就落下了……
作者 | Elye 譯者 | 彎月
出品 | CSDN(ID:CSDNnews)
離開管理的工作
第一步:做準備
既然不再熱衷于C++開發(fā),那么今后我該做些什么呢?
當時,移動開發(fā)非常流行,尤其是iOS。但要學習iOS,首先需要一臺MacBook和iPhone。這兩樣設備我都沒有。在沒有下定決心之前,我不想浪費如此大的一筆投資。
當時,我有一臺Windows筆記本電腦和一部三星S2手機。我看到了Android開發(fā)的增長趨勢。雖然在當時Android的使用并非最流行,但使用安卓手機的人越來越多,包括我自己。
于是,我選擇了Android,并明確了自己的方向。
接下來,我需要獲取相關資源:
感謝Google,開發(fā)工具包Android Studio是免費的!而且注冊Google應用商店只需要25美元!
我買了幾本書,由于Android 的開發(fā)技術在當時還很新,因此實質性的內容很少。
最后,我從網(wǎng)上找到了很多學
習資源和代碼參考。此外,我還通過訂閱郵件獲取了一些最新的信息。我發(fā)現(xiàn),如今學習新技術比過去更容易了,任何人都可以獲取最新的資料!
下一步是什么?當然是開始動手編程!
我開發(fā)了一些小應用,并發(fā)布到了應用商店。在這個過程中,我嘗試了端到端的開發(fā)體驗,即從設計、開發(fā)、測試到公開發(fā)布。
了解自己想學什么,然后去學!
第二步:重新開始
雖然我可以自學,但我知道如果想加快學習的速度,最佳方式就是與其他 Android 開發(fā)人員一起工作。我希望加入一家從事 Android 開發(fā)的公司。
我通過自己發(fā)布的應用,獲得了一家移動開發(fā)公司的面試機會。這確實是一個千載難逢的機會。
我知道自己的技術力還達不到高級開發(fā)人員,所以我會接受任何職位,只要能得到工作和學習的機會。我愿意從事初級開發(fā)的工作,因為我可以獲得充足的學習機會。
不幸的是,我在最后一輪面試中失利了,深受打擊。
那么,之后我做了什么呢?我發(fā)了一封電子郵件,感謝公司提供的面試機會。
此外,我還懇求他們是否愿意考慮讓我作為實習生加入公司。我告訴他們,我甚至愿意無償工作,只要有機會學習提高自己的技術力。
最后,他們終于答應了,只不過不是實習生的崗位,而是一個移動應用QA測試的職位。
我非常高興!雖然不能從事寫代碼的工作,但我可以測試代碼,我可以與專家交流并向他們學習。作為獎勵,我的測試工作還有報酬,總好過無薪實習。
環(huán)境是最佳學習動力。
第三步:學習
進入一家移動開發(fā)公司工作,成為 Android 開發(fā)人員的目標已實現(xiàn)了一半。為了實現(xiàn)剩下的一半,我必須提高自己的開發(fā)技術,做好準備,在機會出現(xiàn)時牢牢抓住。
不幸的是,作為QA測試人員,每天我都需要工作8個小時,因此感覺自己的時間有點不夠用。我非常羨慕公司里的開發(fā)人員,因為他們能夠一邊工作一邊學習,但我就沒有這么奢侈的待遇了。
盡管如此,加入移動開發(fā)公司本身就擁有很大的優(yōu)勢。我可以訪問公司的學習資源,這可以幫助我探索自己的學習方向,我很感激。
最重要的是,我認識了該領域的一些專家。其中很多人都比我年輕。但年齡不是問題,重要的是他們在這個領域的經驗。我非常羨慕他們的技術和知識,也很感謝他們愿意與我分享。
在工作時間之外自學編程非常不容易,但我感到很充實。學習一點一滴的知識,朝著正確的方向慢慢前進。我的目標就是成為一名安卓開發(fā)。
在這個階段,我需要的是不斷地展示自己的學習成果,同時兢兢業(yè)業(yè)地履行QA的職責。我會定期向 Android 開發(fā)組長展示我取得的成果,并在有 Android 開發(fā)人員職位空缺時考察我是否做好了準備。
6個月后,我轉到了開發(fā)崗位,正式成為了一名 Android 開發(fā)!雖然只是一名初級開發(fā),但畢竟是開發(fā)人員!
實際工作是最好的學習方式。
第四步:分享
在正式成為Android開發(fā)時,我已經40歲了。但這不是故事的結尾,只是一個開始。
我非常高興,因為我終于可以在工作時間寫代碼了。我的工作就是寫代碼。我可以在工作中學習了。我必須與專家結對編程,并向他們學習。我必須閱讀他們的代碼,而他們必須審查我的代碼。這樣,我對Android的理解速度就會更快。
雖然我可以滿足于現(xiàn)狀,但我深知歲月不饒人,我沒有其他人那么多的時間。我需要做的不僅僅是學習。
在技術負責人的鼓勵下,我開始寫博客。我花了很長一段時間做準備,因為我一直在想,誰愿意讀我的文章?我又不是技術專家。如果我寫的文章不達標怎么辦?如果我寫錯了,該怎么辦?
盡管如此,我發(fā)現(xiàn)自己的記憶力已不如往昔,前面學到的知識,過幾天就忘了。所以,我的初衷很簡單,為自己寫博客,其實就是學習筆記。即便沒有人閱讀也沒關系,因為至少我可以通過閱讀自己的文章復習學過的知識。
于是,我開始記錄下自己的學習成果,盡可能簡單地記錄,幫助我回憶。每次我都會畫圖表,并附上了一段示例代碼。一切都是為了確保我能輕松回憶起自己學到的知識。
令我驚訝的是,真的有人讀這些文章,還有人留言表示感謝。他們極大地鼓勵了我繼續(xù)寫博客。更重要的是,有人坦言不同意我的觀點。誠然,有時我也會受打擊,但這些留言讓我意識到眼前的問題還有不同的想法。
有時真的是我錯了。有時,雖然我沒有錯,但我誤解了對方的觀點。這些都是學習的機會,是成為更好的 Android 開發(fā)必然需要經歷的階段。
只要愿意敞開心扉,在分享時,自己也能學習到更多。
第五步:走出舒適區(qū)
經過4年多不懈的努力,我逐漸適應了Android開發(fā)。我成長為了一名高級Android開發(fā)。除了從事開發(fā)的工作,我還需要負責指導其他初級開發(fā)人員。
當然我并沒有掌握Android的一切,我需要不斷了解如何獲取和查找信息,并更好地判斷對錯。Android開發(fā)也在不斷發(fā)展,因此需要學習的東西很多。我很享受。
我可以就此止步,安安穩(wěn)穩(wěn)地生活和工作。我熱愛我的工作,我喜歡編程。但目前我的影響力非常有限。我問自己,這就是自己接下來10年的生活嗎?
所以我決定等待時機,并持續(xù)前進。我申請了負責iOS和Android的首席開發(fā)人員職位,但我明白自己并不擅長iOS。
知道自己無法勝任的感覺會讓我很不舒服,但正是這種不舒服的感覺可以鞭策自己不斷學習和擴展知識。所以,我開始花時間學習iOS。
我認為,我對iOS的掌握無法達到Android的水平,但學習iOS可以幫助我開拓看待移動開發(fā)的眼界。讓我了解Android擅長什么,以及什么地方落后。
無法分辨優(yōu)點和缺點,表明我們學習的知識還不夠。繼續(xù)努力。
重新接觸管理的工作
時至今日,距離我第一次涉足Android開發(fā)已經過去7年多了,這期間發(fā)生了很多變化。
如今的我是一名移動技術主管,負責跨移動團隊的協(xié)作和架構工作。除了技術之外,我還需要負責部分管理工作。
我又一次面臨沒有太多時間寫代碼和學習的狀況。但我仍然喜歡我的工作,因為從本質上來看,這依舊是個技術崗位,只是在更高的技術水平。
如果想做出更高級別的技術決策,就必須建立扎實的技術底子。我不能吃老本,必須不斷學習,不能重蹈覆轍。
以上就是我的小故事。40歲開始學習軟件開發(fā)也不算晚。
參考鏈接:
https://levelup.gitconnected.com/i-started-android-development-at-40-6591c1e8bc38
熱門推薦:

PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發(fā)、在看。

