摘要:在舒伯的生涯階段里有個(gè)確立階段,歲歲。知識技術(shù)安卓程序員需要掌握編程語言應(yīng)用框架開發(fā)工具等這些具體的知識和技術(shù)。技術(shù)能力與閱歷對安卓程序員來講,知識技術(shù)是一方面,是容易習(xí)得的,是較淺的層面。
大齡程序員的界定
老早網(wǎng)上有人說,安卓開發(fā)干不過30歲,后來又有人說干不過35歲,后來又有人說干不過40歲,后來又有人說干不過45歲……各種說法很多,這里我采取通俗的說法,認(rèn)為過了30歲的安卓程序員算是大齡程序員,只是為了討論方便,不同意的請保留自己的意見。
《論語?為政》篇:
子曰:“吾十有五而志于學(xué),三十而立,四十而不惑,五十而知天命,六十而耳順,七十而從心所欲,不逾矩。”
這是至圣先師孔老夫子對人一生的發(fā)展階段的精辟概括,里面談到三十而立。所謂三十而立,是指人在三十歲之后,就應(yīng)該在穩(wěn)定在某一個(gè)職業(yè)上,有所建樹。
現(xiàn)代社會,對人生職業(yè)發(fā)展階段研究最為著名的學(xué)者是美國的舒伯(D.E.Super),他是世界職業(yè)規(guī)劃發(fā)展史上里程碑式的人物。舒伯對人的生命發(fā)展過程,提出了以成長、探索、確立、維持、衰退為中心的五個(gè)階段模型。每個(gè)階段都有不同的職業(yè)課題需要完成,當(dāng)前階段的職業(yè)課題沒有完成的話,就會影響后續(xù)的職業(yè)發(fā)展和人生生活。
對舒伯感興趣的可以問下貼心的度娘,她會微微一笑很傾城地告訴你舒伯職業(yè)生涯階段理論的細(xì)節(jié)。我這里只涉及與大齡程序員相關(guān)的階段。
在舒伯的生涯階段里有個(gè)確立階段,25歲~44歲。在這個(gè)階段,職業(yè)上的發(fā)展課題有這些:
作為程序員,請先好好理解一下這個(gè)老前輩提出的這些課題,反觀自身,自省三分鐘再往下看。
確立階段又可以細(xì)分為兩個(gè)小階段:
如你所見,我們所說的大齡程序員,就是30歲往后,即過了孔老夫子所說的三十而立階段的程序員,大齡程序員基本也是處在舒伯老前輩提出的安定期內(nèi)。你要說你超過44歲了,噢賣糕的,按孔老夫子所說,應(yīng)該不惑了。
31~44歲這個(gè)安定期,其實(shí)是人生最富有創(chuàng)造力的階段,如果能穩(wěn)定到一項(xiàng)工作上,一定可以有所成就,為將來打下保障。
30歲這個(gè)年齡,是每個(gè)人都會遇到的,不單是程序員、軟件開發(fā)工程師,它是人生的一個(gè)節(jié)點(diǎn)。所以,你不是一個(gè)人在困惑,程序員,世界上所有的人都會經(jīng)歷這個(gè)階段。而且,已經(jīng)有人經(jīng)歷過并提出了一些有效的應(yīng)對措施。
還有一點(diǎn)很重要,25~32歲是人的婚育高峰,所以,此時(shí)人會面臨工作、生活的雙重壓力,事業(yè)家庭兩頭忙,身心俱疲。假如兩頭都不定,那就基本沒法愉快地生活了。
我不想扯到太原,還是要聚焦在程序員身上來。
這節(jié)會談到對安卓程序員來講至關(guān)重要的三點(diǎn):
前文書咱說過,30歲是所有人都會面臨的人生轉(zhuǎn)折節(jié)點(diǎn),那對于程序員來講,這樣的節(jié)點(diǎn),有什么特殊的表現(xiàn)和含義呢?且來水水。
軟件現(xiàn)在已經(jīng)成為各行各業(yè)的基礎(chǔ)服務(wù),它具有非常特別的屬性:軟件本身形成了一種產(chǎn)業(yè),它又和其他產(chǎn)業(yè)結(jié)合形成了交叉領(lǐng)域。
說白點(diǎn),純粹的代碼沒有意義,解決現(xiàn)實(shí)問題是軟件存在的最大意義。而現(xiàn)實(shí)問題來自各行各業(yè),所以,大部分的軟件產(chǎn)品,是軟件技術(shù)和行業(yè)需求的有機(jī)結(jié)合。
所以,多數(shù)程序員的工作方式是這樣的:使用某種開發(fā)工具、通過編程語言來實(shí)現(xiàn)一個(gè)解決特定問題和需求的軟件。有了這樣的界定,真的可以開始水了。
安卓程序員需要掌握編程語言、應(yīng)用框架、開發(fā)工具等這些具體的知識和技術(shù)。這是第一點(diǎn),必須的。 不同的語言和技術(shù),都有特定的應(yīng)用場景,這種語言解決這種問題效率高,那種語言解決那種問題效率高。
隨著人類社會的不斷發(fā)生發(fā)展,隨著信息化和互聯(lián)網(wǎng)化的不斷深入深化,現(xiàn)實(shí)問題越來越多,越來越復(fù)雜,老的知識、技術(shù)在面對新的問題時(shí)可能力不從心或效率低下,所以不斷有新的語言和技術(shù)問世,比如Go、比如Scala、比如Swift、比如ROR,都才出現(xiàn)沒多久,都是因?yàn)樘囟I(lǐng)域問題而出現(xiàn)的。沒有最好的語言,只有最合適的語言。
面對這樣的現(xiàn)狀,程序員就需要保持學(xué)習(xí),為了更好的解決問題,可能需要掌握多種語言和技術(shù),而且會隨著社會的發(fā)展和技術(shù)的發(fā)展不斷地調(diào)整自己的知識、技術(shù)圖譜。
所以,早在幾千年前,我們的儒家經(jīng)典《大學(xué)》就預(yù)料到了將來會有程序員這種人群,對他們的生活做出了概括性的預(yù)言:“茍日新,日日新,又日新”。
OK,這就是安卓程序員面臨的知識、技術(shù)現(xiàn)狀,所以有人覺得過了30歲奔四張去的時(shí)候,家庭事業(yè)兩頭忙,身心疲憊精力不足沒時(shí)間充電沒時(shí)間學(xué)習(xí)不再適合做程序員了。
這是一種現(xiàn)狀,當(dāng)然它對某些人如此,對另外一些人則不然。其實(shí),31~44歲,正是人年富力強(qiáng)精力旺盛創(chuàng)造力爆棚學(xué)習(xí)能力煥發(fā)第二春的黃金階段啊。不信你去看看舒伯的生涯彩虹圖,一看便知。
舉個(gè)例子,王江民就是這個(gè)時(shí)候(38歲)轉(zhuǎn)做軟件開發(fā),后來(45歲)一騎獨(dú)行白衣飄飄殺進(jìn)中關(guān)村創(chuàng)造了江民殺毒的傳奇歷史,塑造了一代軟件神話。
在30歲到44歲這個(gè)階段,如果你還在做程序員,對自己的學(xué)習(xí)模式一定有所了解了,加上之前的積累,學(xué)起新東西來很快,應(yīng)該會不斷收獲舉一反三觸類旁通的愉快體驗(yàn)。
對安卓程序員來講,知識、技術(shù)是一方面,是容易習(xí)得的,是較淺的層面。那較深的層面,就是技術(shù)能力與閱歷。
技術(shù)能力是指,對具體的知識和技術(shù)的運(yùn)用水平。它在很大程度上決定了一個(gè)程序員身上的技術(shù)價(jià)值。
技術(shù)能力是在不斷地運(yùn)用知識、技書解決現(xiàn)實(shí)問題的過程中培養(yǎng)出來的。在這個(gè)過程中,有的人愛琢磨好總結(jié)能升華,技術(shù)能力提升就快,干一年可能能收獲一般人兩三年的技術(shù)經(jīng)驗(yàn);有的人可能會停留在寫段代碼寫完了事兒這種層面,那可能干三年不如人家干一年。
《天龍八部》中的神仙姐姐王語嫣,很多少年看了都很喜歡。從IT的角度看,她實(shí)際上就是一個(gè)掌握了很多知識、技術(shù)的字典型程序員,但不會實(shí)際開發(fā)。當(dāng)然,她也可以是很妙的程序員鼓勵(lì)師,既能極大激勵(lì)安卓程序員的干勁,又能在必要時(shí)提供字典式的幫助與指導(dǎo)。
與王語嫣對應(yīng)的另一個(gè)人物是掃地僧,超越了知識、技術(shù),閱歷極深,不拘泥于招式,一抬手一投足就拍“死”了慕容博和蕭遠(yuǎn)山這種超強(qiáng)高手。他是我們專業(yè)技術(shù)者的夢中夢。
扯了這么多,我想說的是,技術(shù)能力和閱歷,隨著程序員年齡和工作經(jīng)驗(yàn)的增加,其重要性和價(jià)值將超越知識、技術(shù)本身。這是我們必須意識到的,這也是老江湖的價(jià)值所在。
你可以在三兩個(gè)月學(xué)會服務(wù)端開發(fā),但如何應(yīng)對大用戶量、大業(yè)務(wù)量、大數(shù)據(jù)、大并發(fā)帶來的挑戰(zhàn),絕對不是一個(gè)小白三兩個(gè)月能搞定的,不積累個(gè)五年八年,不隨著企業(yè)的產(chǎn)品、服務(wù)的發(fā)展而經(jīng)歷技術(shù)架構(gòu)的變遷,你很難有能力去解決這些問題。
大部分軟件是技術(shù)和業(yè)務(wù)的結(jié)合,甚至有的行業(yè)軟件,開發(fā)技術(shù)只占20%,80%的都是業(yè)務(wù)層面的知識、流程。所以,對于一個(gè)程序員來講,熟悉業(yè)務(wù)也是非常重要的。做電商網(wǎng)站和測繪軟件絕對是天差地別。
業(yè)務(wù)和行業(yè)緊密相關(guān),你選擇一個(gè)行業(yè),選擇一家企業(yè),就會決定你能積累的產(chǎn)業(yè)、業(yè)務(wù)知識、經(jīng)驗(yàn)。而這部分業(yè)務(wù)積累,是程序員的重要價(jià)值所在,它和技術(shù)閱歷一樣是經(jīng)得起時(shí)間考驗(yàn)的。
有句老話,早已告訴了我們業(yè)務(wù)積累的重要性:隔行如隔山。還有一句老話也說明了同樣的道理:男怕入錯(cuò)行。
學(xué)一門編程語言容易,深刻理解業(yè)務(wù)卻沒那么簡單。而你不理解業(yè)務(wù),空有編程語言和應(yīng)用技術(shù)框架,實(shí)際上沒什么卵用。這就是我們強(qiáng)調(diào)業(yè)務(wù)積累的原因。
軟件企業(yè)的分類大致可以分為三類:
這里結(jié)合前面提到的“技術(shù)人生的三個(gè)方面”再啰嗦一下。
外包型公司,通過承接別的企業(yè)的部分或全部軟件業(yè)務(wù)來發(fā)展。這導(dǎo)致了業(yè)務(wù)不穩(wěn)定,編程語言、技術(shù)框架等技術(shù)方面也不穩(wěn)定。
外包型公司做軟件的心態(tài),是“干活、交活、拿錢、完事兒”。在這樣一種心態(tài)支配下,程序員較難有機(jī)會仔細(xì)打磨產(chǎn)品,對技術(shù)能力的積累會有一些影響。另一方面,因?yàn)闃I(yè)務(wù)隨時(shí)會變,對行業(yè)知識積累也會有較大影響。
還有,從企業(yè)角度講,考慮成本的話,更愿意用成本低的年輕人,所以,大齡程序員的將來,在這種公司不夠樂觀。你一個(gè)35歲的程序員和22歲的程序員,做同樣的App,老板不會覺得你35歲就比22歲做出來的東西好多少,他會認(rèn)為年輕人多加個(gè)班多改改就差不多了,這時(shí)候會產(chǎn)生劣幣驅(qū)逐良幣的效應(yīng)。
項(xiàng)目型公司通過承接電信、銀行、電力、政府或其他單位的軟件項(xiàng)目為生,比外包型稍強(qiáng)一些,技術(shù)上可以自己選擇,也能夠在某個(gè)行業(yè)長期積累經(jīng)驗(yàn)。如果這類公司的項(xiàng)目規(guī)模小而多、行業(yè)不集中,那就與外包型公司類似。另外,做項(xiàng)目的心態(tài)和外包有些類似,對成本的考量較多,對程序員的持續(xù)技術(shù)發(fā)展不利,比如有新技術(shù)出現(xiàn),公司不一定會用,可能為了快和規(guī)避風(fēng)險(xiǎn)而選擇較老較趁手的技術(shù)來完成項(xiàng)目,這一方面會減緩開發(fā)人員的技術(shù)更新周期,另一方面也減少了鍛煉機(jī)會降低了技術(shù)成長速度。
產(chǎn)品型公司是最好的,一個(gè)產(chǎn)品,要產(chǎn)生競爭力,要么靠對業(yè)務(wù)的深刻理解,要么靠技術(shù)上的領(lǐng)先優(yōu)勢。這類公司是對程序員的技術(shù)閱歷、業(yè)務(wù)知識都很有好處,我認(rèn)為是程序員的較好選擇。
通過前面的分析,我們知道程序員這種技術(shù)性職業(yè),價(jià)值體現(xiàn)在三點(diǎn):
用一句話來概括,程序員最大的價(jià)值就是運(yùn)用技術(shù)解決問題的能力。而這種能力的構(gòu)成里,技術(shù)能力與閱歷、業(yè)務(wù)這兩方面是具有經(jīng)久價(jià)值的,是相比語言、技術(shù)更耐得住時(shí)間考驗(yàn)的。
一般來講,有常見的四種職能取向:
管理者又分為職能管理者和全面管理者。CEO、總經(jīng)理之類的角色屬于全面管理者,開發(fā)經(jīng)理、研發(fā)部門經(jīng)理、項(xiàng)目經(jīng)理、項(xiàng)目總監(jiān)、HR經(jīng)理等屬于職能管理者。
專業(yè)技術(shù)者指靠技術(shù)吃飯的人群,比如程序員,比如測試工程師,比如UI設(shè)計(jì)師,比如會計(jì),比如律師,比如編輯……這些人的一個(gè)共同點(diǎn)就是擁有獨(dú)特手藝和技術(shù),能用自身所掌握的技術(shù)為別人解決問題創(chuàng)造價(jià)值,他們通常會依附一個(gè)組織來工作。
自由職業(yè)者首先是一個(gè)專業(yè)技術(shù)者,然后他脫離了特定組織,自己跑單幫了,自己安排自己,今天想干就今天干,老子今天不爽就明天再干。
創(chuàng)業(yè)者是特殊的一類職能取向,他們特別想擁有自己的產(chǎn)品和服務(wù),于是就拉一幫人成立一組織,協(xié)調(diào)各種資源來實(shí)現(xiàn)自己的夢想。
程序員的職能取向,多數(shù)會落在專業(yè)技術(shù)者。我個(gè)人來講,做了6、7年管理,現(xiàn)在還是回到了專業(yè)技術(shù)上來,因?yàn)樽鼍唧w技術(shù)工作會讓我更自然更自在也更快樂。每一個(gè)程序員都應(yīng)該理清自己的職能取向,只有職能取向清晰了,談將來才比較靠譜。
有人說,三十出頭的程序員,如果你混的不夠成功,面臨的壓力就會山大。話聽起來沒錯(cuò),不過也不盡然,這里面有個(gè)關(guān)鍵的問題需要澄清。那就是“成功”的定義。
世俗的成功,古時(shí)候是“十年寒窗無人問,一朝成名天下知”,是“春風(fēng)得意馬蹄疾,一日看遍長安花”。現(xiàn)在也差不多,財(cái)富更多,老婆更多,社會地位更高,不過如此吧,你看流布甚廣的“當(dāng)上CEO,迎娶白富美,走上人生巔峰”之類的說法就是這種觀念的反應(yīng)。
但我這里說的成功,是指找到適合自己的職業(yè),完成自我實(shí)現(xiàn)。簡單點(diǎn)說,就是你在干你想干的事兒,又有成就感又快樂。就這么簡單了。
我們不必活在社會統(tǒng)一的價(jià)值取向里,也不必活在別人的期望里,你的人生是你自己的,哪怕父母非要你成為一個(gè)什么樣的人,也不必去聽。
有了這樣的基本認(rèn)識,就可以繼續(xù)了。
程序員的直接發(fā)展通路如下:初級工程師–>中級–>高級–>架構(gòu)師(專家)–>技術(shù)總監(jiān)–>CTO。
技術(shù)總監(jiān)和CTO帶一些管理職能,也可以從另外一條路上來。這條路就是程序員的管理之路:工程師–>項(xiàng)目組長–>項(xiàng)目經(jīng)理–>項(xiàng)目總監(jiān)–>技術(shù)總監(jiān)–>CTO。
一條技術(shù)通道,一條管理通道。這是程序員常見的職業(yè)晉升通道。
除此之外,還有一些交叉發(fā)展的機(jī)會。比如開發(fā)轉(zhuǎn)測試,開發(fā)轉(zhuǎn)產(chǎn)品經(jīng)理,開發(fā)轉(zhuǎn)售前,開發(fā)轉(zhuǎn)售后,開發(fā)轉(zhuǎn)銷售……
最后,還有一個(gè)選擇,就是離開軟件行業(yè),到別的行業(yè)里自由自在的飛翔。啊哈,朋友再見,朋友再見,再見吧再見吧。祝你好運(yùn)。
走管理路線的人十不其一,這次不談也罷(回頭我會寫文章聊);轉(zhuǎn)做別的職業(yè)的朋友們我已經(jīng)說了再見了;那剩下的,就只能說說技術(shù)這條路的將來了。
其實(shí)這原本不是一個(gè)問題。你說,哪行哪業(yè)沒有老將?
而這之所以又成為一個(gè)問題,是因?yàn)槌绦騿T是“有知識、有技術(shù)、有理想、有焦慮”的四有新人,覺著自己已然學(xué)了那么多,付出了那么多,將來總不能停滯不前吧總不能走下坡路吧總得蒸蒸日上吧,所以就焦慮這件事兒,就擔(dān)心,就困惑,就覺得這行當(dāng)是青春飯吃不了幾年。
其實(shí)根據(jù)我前面的分析,結(jié)論已經(jīng)呼之欲出了:保持學(xué)習(xí)能力,豐富技術(shù)能力與閱歷,積累行業(yè)知識與經(jīng)驗(yàn),然后就可以持續(xù)走下去。即使會有衰退階段,那也是正常的,人生就如花兒一樣,有含苞待放,有盛放,也有枯萎的過程,我們需要自然接納。
有結(jié)論只是第一步,我們還要講清楚一個(gè)事實(shí):程序員群體中的二八定律。
先說技術(shù)路線和管理路線的選擇,基本上也是二八開(或者一九)。
小部分的人走了管理路線,剩下的大部分程序員,走技術(shù)通道。那技術(shù)通道,有多少人能成為高級軟件工程師、架構(gòu)師、技術(shù)專家、CTO?
百分之二十。
那剩下的百分之八十,在技術(shù)路上不能走得更遠(yuǎn),但還得維持自己的競爭力,保持價(jià)值不衰退,這樣才可能繼續(xù)做下去。怎么維持競爭力,前面已經(jīng)說過了。
大量的大齡程序員將面臨無法晉升和如何維持競爭力的問題,這是每個(gè)人都必須看到事實(shí)。
從晉升角度看,任何一個(gè)行業(yè)的從業(yè)人員的分布,都是金字塔型的。大鍋飯不存在,共產(chǎn)主義按需分配也還沒到來,我們必須接受、接納這個(gè)事實(shí),然后才能在此之上謀求發(fā)展。
前面已經(jīng)確認(rèn),技術(shù)路線可以走下去。現(xiàn)在我們來看,如果一個(gè)程序員的四大職能取向定位到專業(yè)技術(shù)者,到30多歲時(shí),該如何走好,如何適應(yīng)。
就做技術(shù)來講,如果想維持競爭力,在選擇企業(yè)時(shí)就應(yīng)當(dāng)做一些考量,選擇將來向好的行業(yè),選擇產(chǎn)品型、重視技術(shù)的公司,這種選擇非常重要。它會嚴(yán)重影響你將來能在技術(shù)路線上走多遠(yuǎn)。
我前陣子找工作,就根據(jù)行業(yè)、企業(yè)、產(chǎn)品,只選了三家來面試。我35歲,需要穩(wěn)定下來啦。
有人說可否選擇創(chuàng)業(yè)公司,我的觀點(diǎn)是,如果你能承受一定的風(fēng)險(xiǎn)(金錢和時(shí)間成本),創(chuàng)業(yè)公司的創(chuàng)始團(tuán)隊(duì)和產(chǎn)品又都比較靠譜,可以嘗試。小米當(dāng)時(shí)創(chuàng)立時(shí),從摩托羅拉等公司找了好大一批開發(fā)工程師哦。
根據(jù)舒伯的職業(yè)生涯階段理論,31~44歲是安定期,程序員應(yīng)該穩(wěn)定于一項(xiàng)工作,發(fā)現(xiàn)適當(dāng)?shù)臅x升通道,確立自己將來的保障。
在這個(gè)時(shí)期,頻繁的跳槽對將來的發(fā)展不利,這是毋庸置疑的,所以選擇要慎重。尤其你到了40歲還沒在哪個(gè)行業(yè)長時(shí)間待過,技術(shù)也換來換去,那再出去找工作,就會遇到比較大的困擾。
到招聘網(wǎng)站遛一遭,看看招聘信息中對年齡的要求,你就知道我所言非虛,除了技術(shù)總監(jiān)、架構(gòu)師、技術(shù)專家、高級軟件開發(fā)工程師等崗位的年齡區(qū)間落在30~45歲,其他崗位,絕大部分都要求你30以下。所以,如果你在不同行業(yè)、不同公司晃來晃去,到了三十四五歲還沒穩(wěn)定,也沒能達(dá)到高級軟件開發(fā)工程師應(yīng)有的水平,那再找工作肯定會遭遇比較尷尬的狀況。
技術(shù)路線,可以初級、中級、高級、架構(gòu)師(技術(shù)專家)……這么走下去,假如一個(gè)程序員發(fā)現(xiàn)自己到一定程度無法再走下去,就會產(chǎn)生挫折或倦怠。通常這種情況會在你穩(wěn)定一項(xiàng)工作7年左右出現(xiàn),所謂七年之癢。對本科畢業(yè)來講,這個(gè)年齡就在33~35歲左右。
此時(shí)怎么辦?這是很現(xiàn)實(shí)的問題。
這個(gè)我們就要具體問題具體分析:是你很牛X限于企業(yè)環(huán)境無法晉升?還是你自身能力到了天花板了無法晉升?
不同的原因?qū)?yīng)的行動是不一樣的,前者的話,可能應(yīng)該考慮換一下。后者的話,要調(diào)試心態(tài),建立第二生活中心,在職業(yè)之外發(fā)展其他的興趣愛好來平衡。
在這個(gè)年齡階段,有一大批程序員會因?yàn)闀x升受挫或倦怠而成為創(chuàng)業(yè)者或參與到創(chuàng)業(yè)中來。這是需要留意的現(xiàn)象。
程序員的價(jià)值和競爭力,其實(shí)是相對的。比如你在,牛人太多,無法晉升了,其實(shí)別處可能有雞頭的位置等著,比如其他行業(yè)內(nèi)的小公司的技術(shù)總監(jiān)、部門經(jīng)理,如果你看重職位和頭銜,就可以去嘗試。這也是典型的一種路線,有部分程序員在大公司鍍鍍金,回頭到其他行業(yè)的相對規(guī)模較小的公司去做管理或技術(shù)專家。
如果你很在意職位等級,很在意比別人更受尊重,那就找一個(gè)能凸顯出你價(jià)值的環(huán)境。比如乒乓球運(yùn)動員何智麗,在39屆世乒賽上因?yàn)闆]按領(lǐng)導(dǎo)指示輸球,后來被取消參奧資格,在國內(nèi)無法發(fā)展了,她移民日本,繼續(xù)在乒乓球領(lǐng)域活躍并取得了輝煌戰(zhàn)績,還曾經(jīng)戰(zhàn)勝鄧亞萍取得亞運(yùn)乒乓球女單金牌。類似的還有一些國外的業(yè)余足球運(yùn)動員或退役的足球選手到中國來,迅速成為熱門選手受到重視。這都是一個(gè)道理。
所以,對于大齡安卓程序員來講,為了發(fā)揮價(jià)值和競爭力,還有下面的路徑可選擇:
哦,親愛的,如果你有時(shí)間,也可以學(xué)習(xí)其他可以賺錢的技能,因?yàn)椋m然我們說大齡程序員可以一直做技術(shù),但能一直做到退休的,估計(jì)也只有20%。如果你是那80%,當(dāng)你不得不離開心愛的開發(fā)崗位時(shí),就能夠因?yàn)橛兴鶞?zhǔn)備而不至于忽然失重。
這點(diǎn)是我們必須要談的,程序員的人生里不只有軟件和工作,還應(yīng)當(dāng)有其他的。生活是多元中心的,要有一些其它的興趣愛好,能夠滋養(yǎng)心靈,修復(fù)純技術(shù)工作給心靈帶來的磨損。
提籠架鳥,雕刻,書法,圍棋,游戲,寫作,讀書……都挺好的,有比沒有強(qiáng)太多了。很多人(包括我)缺乏信仰,再沒有點(diǎn)興趣愛好,那就太容易內(nèi)分泌失調(diào)了。
還問啊……讓星爺來回答你吧:
“曾經(jīng),有一份真誠的愛情放在我面前,我沒有珍惜,等到我失去的時(shí)候才后悔莫及,人世間最痛苦的事莫過于此……
只要是開發(fā)者,無非就是這幾條路,逃避不了。架構(gòu)師或者管理者,這兩個(gè)崗位將來將會成為無數(shù)開發(fā)者競相爭奪的崗位,而那些連爭都沒辦法爭的人要么接受公司對你的降薪,開除,又或者跳到一個(gè)薪資待遇相對較低的公司去。
架構(gòu)師和管理者都是需要不斷學(xué)習(xí)新知識才能成長起來的,并不是一蹴而就的,就好比現(xiàn)在,架構(gòu)師需要學(xué)什么,你就只能從現(xiàn)在開始學(xué)起,一步一步,學(xué)完之后再嘗試去學(xué)習(xí)新知識
我平時(shí)在學(xué)習(xí)和開發(fā)的途中自己有意識地把學(xué)過和看過的知識都整理了下來,方便自己日后遺忘的時(shí)候查閱,對于現(xiàn)今Android開發(fā)的一些比較熱門的技術(shù),以及日后的一些學(xué)習(xí)方向,我都有屬于自己的一些看法和理解:
?獲取地址:【Android開發(fā)交流】
目前Android APP開發(fā)主流語言就是Java語言,Java語言最大的特性就是提高了軟件的交互可能性,可以說安卓手機(jī)幾乎所有應(yīng)用程序都是利用Java語言來進(jìn)行編寫的。
JAVA知識要點(diǎn):
1、 Java序列化、泛型與反射
2、虛擬機(jī)底層原理
3、Android內(nèi)存原理
4、 Java高級并發(fā)原理詳解
5、 編譯時(shí)技術(shù)掌握與實(shí)戰(zhàn)
6、JDK高級動態(tài)代理
7、高級數(shù)據(jù)結(jié)構(gòu)與算法
8、 Java IO操作
9、
。。。。
在Android中,F(xiàn)ramework泛指系統(tǒng)架構(gòu)層。Framework的中文意思是“框架”,在軟件開發(fā)中通常指開發(fā)框架,在一個(gè)系統(tǒng)中處于內(nèi)核層之上,為頂層應(yīng)用提供接口,被設(shè)計(jì)用來幫助開發(fā)者快速開發(fā)頂層應(yīng)用,而不必關(guān)心系統(tǒng)內(nèi)核運(yùn)行機(jī)制,通常Framework都會隱藏main函數(shù)等應(yīng)用程序必須的組件,開發(fā)人員只需把精力放在功能代碼的實(shí)現(xiàn)上。說簡單點(diǎn),F(xiàn)ramework具體的工作也就是為android應(yīng)用開發(fā)的開發(fā)人員提供了一系列的服務(wù)和API的接口。
UI其實(shí)并不是單純指用戶看到的效果。因?yàn)樵贏ndroid開發(fā)中,每個(gè)控件背后都有一套深層次的體系在支撐,自然而然,會UI不單純指的是會自定義控件,我們還應(yīng)該知道自定義控件背后的執(zhí)行流程,包括從Activity的創(chuàng)建,XML的解析,到每個(gè)控件的測量、布局、繪制。當(dāng)然在中間還夾雜著比如動畫、事件分發(fā)機(jī)制、嵌套滑動機(jī)制等知識點(diǎn)。還有谷歌提供的一些UI框架也使我們要掌握的對象,比如Jetpack組件庫、Material Design等。
知識要點(diǎn):
1、 FrameWork源碼解析(SDK 30)
2、Android常用組件深入解析
3、JetPack全家桶
4、Android R新特性解析
。。。。。
性能優(yōu)化是一個(gè)項(xiàng)目必須要經(jīng)歷的過程,你的應(yīng)用好與壞都是在用戶使用的過程中反映出來的,如果性能優(yōu)化沒有做好,對于你的應(yīng)用來說影響是非常大的。尤其是現(xiàn)在的Android市場競爭非常激烈,如果你的應(yīng)用體驗(yàn)沒有競品的好,那么用戶流失是必然的。
性能優(yōu)化不是一件簡單的事情,每個(gè)應(yīng)用的性能好與壞無法由一個(gè)人來決定,因?yàn)樾阅軆?yōu)化的維度有太多了,從我們項(xiàng)目的整體架構(gòu),到我們代碼的每一個(gè)細(xì)節(jié),再到應(yīng)用使用環(huán)境的測試,只有步步為營,才能做好一個(gè)項(xiàng)目的優(yōu)化。大部分開發(fā)者把性能優(yōu)化指向與不閃退就行,但是實(shí)際上性能優(yōu)化包含了很多方面,比如從簡單的啟動優(yōu)化、 UI優(yōu)化、 卡頓優(yōu)化、 崩潰優(yōu)化、 安全性優(yōu)化,到深層次的弱網(wǎng)優(yōu)化、 大圖加載優(yōu)化、 儲存優(yōu)化、 高效傳輸優(yōu)化、 極限瘦身優(yōu)化,再到實(shí)際開發(fā)過程中的OOM問題原理解析、 ANR問題解析、 Crash監(jiān)控方案。要想把這些優(yōu)化流程做好,我們不僅從項(xiàng)目架構(gòu)、代碼規(guī)范等方面入手,還用學(xué)會利用第三方的檢測工具來檢測項(xiàng)目性能,最主要是,我們需要一套完整的性能優(yōu)化方案,這正是我們所缺少的,所以我們必須要把缺少的補(bǔ)上, 打造一套真正的完整的性能優(yōu)化體系,把性能優(yōu)化流程化,常態(tài)化。
1、 APP基礎(chǔ)優(yōu)化
2、APP深度優(yōu)化
3、開發(fā)焦點(diǎn)問題優(yōu)化
4、編程效率優(yōu)化
5、項(xiàng)目實(shí)戰(zhàn)
抖音在APK包大小資源優(yōu)化的實(shí)踐
優(yōu)酷響應(yīng)式布局技術(shù)全解析
網(wǎng)絡(luò)優(yōu)化
手機(jī)淘寶雙十一性能優(yōu)化項(xiàng)目揭秘
高德APP全鏈路源碼依賴分析
徹底干掉OOM的實(shí)戰(zhàn)經(jīng)驗(yàn)分享
微信Android終端內(nèi)存優(yōu)化實(shí)踐
Android框架體系架構(gòu)(高級UI+FrameWork源碼) 這塊知識是現(xiàn)今使用者最多的,我們稱之Android2013~2016年的技術(shù)。
Android開發(fā)者也往往因?yàn)榫W(wǎng)上Copy代碼習(xí)慣了而導(dǎo)致對這塊經(jīng)常“使用”的代碼熟悉而又陌生:熟悉的是幾乎天天在和它們打交道, 天天在復(fù)制這些代碼 ;陌生的是雖然天天和這些代碼打交道,但是并沒有深入研究過這些代碼的原理,代碼深處的內(nèi)涵。
本篇知識要點(diǎn):
1、架構(gòu)師設(shè)計(jì)思想篇
2、 手淘全套架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
3、 開源框架
4、OKHttp網(wǎng)絡(luò)框架
5、一線大廠核心框架剖析與實(shí)現(xiàn)
NDK(Native Development Kit縮寫)一種基于原生程序接口的軟件開發(fā)工具包,可以讓您在 Android 應(yīng)用中利用 C 和 C++ 代碼的工具。通過此工具開發(fā)的程序直接在本地運(yùn)行,而不是虛擬機(jī)。
在Android中,NDK是一系列工具的集合,主要用于擴(kuò)展Android SDK。NDK提供了一系列的工具可以幫助開發(fā)者快速的開發(fā)C或C++的動態(tài)庫,并能自動將so和Java應(yīng)用一起打包成apk。
本篇知識要點(diǎn):
1、NDK開發(fā)之C/C++入門
2、JNI模塊開發(fā)
3、Linux編程
4、底層圖片處理
5、音視頻開發(fā)
6、機(jī)器學(xué)習(xí)
2021 年無疑是 Flutter 技術(shù)如火如荼發(fā)展的一年。
每一個(gè)移動開發(fā)者都在為 Flutter 帶來的“快速開發(fā)、富有表現(xiàn)力和靈活的 UI、原生性能”的特色和理念而癡狂,從超級 App 到獨(dú)立應(yīng)用,從純 Flutter 到混合棧,開發(fā)者們在不同的場景下樂此不疲的探索和應(yīng)用著 Flutter 技術(shù),也在面臨著各種各樣不同的挑戰(zhàn)。
本篇知識要點(diǎn):
1、Flutter跨平臺開發(fā)概述
2、Windows中Flutter開發(fā)環(huán)境搭建
3、編寫你的第一個(gè)Flutter APP
4、Flutter Dart語言系統(tǒng)入門
…
微信小程序作為現(xiàn)在比較火的編程開發(fā)應(yīng)用場景之一,深受市場的青睞,這讓不少開發(fā)者眼饞不已。但是對于初學(xué)者來說,就完全摸不著頭腦了,不知道微信小程序開發(fā)制作需要學(xué)習(xí)那些知識,有需要的朋友可以參考本篇。
本篇知識要點(diǎn):
1、小程序概述及入門
2、小程序UI開發(fā)
3、API操作
4、購物商場項(xiàng)目實(shí)戰(zhàn)
?獲取地址:【Android開發(fā)交流】?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/125334.html
摘要:劉易斯拐點(diǎn)的結(jié)果是從低端生產(chǎn)轉(zhuǎn)向高端制造,互聯(lián)網(wǎng)的下半場會如何呢早就有人給出了答案,甚至可以歸納為四個(gè)出路挖掘線下紅利,從電商到新零售電商平臺的感知可能是最明顯的,用戶掏腰包意愿的強(qiáng)烈與否,直接決定了電商的增速。再看2018,料峭且難忘。近二十年里,還沒有這樣一個(gè)年份讓互聯(lián)網(wǎng)從業(yè)者如此糾結(jié)。從年初到年尾,一個(gè)又一個(gè)風(fēng)暴掠過,巨頭們盡可能地保持克制,資本收緊了口袋,創(chuàng)業(yè)者也不再性感。幾乎所有人...
摘要:有幾次,人工智能死在人工神經(jīng)網(wǎng)絡(luò)上。在過去十年中,他一直在舉辦為期一周的有關(guān)神經(jīng)網(wǎng)絡(luò)的暑期學(xué)校,我曾經(jīng)拜訪過。神經(jīng)網(wǎng)絡(luò)壓縮信息之后,這些信息無法復(fù)原。 魔法已經(jīng)進(jìn)入這個(gè)世界。如今,許多美國人口袋里裝著薄薄的黑色平板,這些機(jī)器接入遙遠(yuǎn)的數(shù)字云和衛(wèi)星,它們解碼語言、通過攝像頭觀察并標(biāo)記現(xiàn)實(shí),挖掘個(gè)人數(shù)據(jù),它們以某種方式理解、預(yù)測著我們的心愿。傾聽、幫助著人類。因?yàn)榕c多倫多大學(xué)有個(gè)約會,這個(gè)夏天,...
摘要:為了更好地順應(yīng)時(shí)代發(fā)展形式,運(yùn)用技術(shù)改善生活,有平臺對中國程序員薪資和生活現(xiàn)狀做了一些調(diào)查,對北京上海廣東和浙江等全國個(gè)省直轄市及特別行政區(qū)的近萬優(yōu)秀程序員進(jìn)行了一次詳細(xì)的調(diào)查。而歲及以上的程序員占比僅為。浙江的程序員主要集中在杭州。 ...
摘要:年的深度學(xué)習(xí)研討會,壓軸大戲是關(guān)于深度學(xué)習(xí)未來的討論。他認(rèn)為,有潛力成為深度學(xué)習(xí)的下一個(gè)重點(diǎn)。認(rèn)為這樣的人工智能恐懼和奇點(diǎn)的討論是一個(gè)巨大的牽引。 2015年ICML的深度學(xué)習(xí)研討會,壓軸大戲是關(guān)于深度學(xué)習(xí)未來的討論。基于平衡考慮,組織方分別邀請了來自工業(yè)界和學(xué)術(shù)界的六位專家開展這次圓桌討論。組織者之一Kyunghyun Cho(Bengio的博士后)在飛機(jī)上憑記憶寫下本文總結(jié)了討論的內(nèi)容,...
閱讀 3733·2023-01-11 11:02
閱讀 4243·2023-01-11 11:02
閱讀 3050·2023-01-11 11:02
閱讀 5180·2023-01-11 11:02
閱讀 4733·2023-01-11 11:02
閱讀 5533·2023-01-11 11:02
閱讀 5312·2023-01-11 11:02
閱讀 3986·2023-01-11 11:02