0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一名Android開(kāi)發(fā)工程師的學(xué)習(xí)之路

工程師人生 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-08-03 09:37 ? 次閱讀

最近因?yàn)樵趯W(xué)習(xí)一些新的東西,所以Android的東西沒(méi)有怎么更新。趁著有些閑工夫,簡(jiǎn)單說(shuō)說(shuō)技術(shù)上的學(xué)習(xí),也算是自己對(duì)這幾年工作來(lái)的一個(gè)小結(jié)和經(jīng)驗(yàn)吧。

希望這篇文章可以給那些在校的,亦或是才踏入工作沒(méi)多久的程序員同伴們一些幫助。畢竟我自己也曾經(jīng)止步不前,不知所措迷茫過(guò)。

英語(yǔ)

老實(shí)說(shuō),沒(méi)有比英語(yǔ)性?xún)r(jià)比更高的,需要學(xué)習(xí)的東西了??恐鴦e人的翻譯,或者機(jī)翻,終究不是辦法的。筆者自己日語(yǔ)英語(yǔ)姑且算是熟練掌握的地步,但在初期直接看那些全英文的書(shū)籍,仍然會(huì)覺(jué)得頭痛(謝謝HKUST虐我),但堅(jiān)持下來(lái)就會(huì)發(fā)現(xiàn)其實(shí)計(jì)算機(jī)的英語(yǔ)還是有一個(gè)范圍的,多看看熟悉起來(lái),就會(huì)覺(jué)得并沒(méi)有什么難,甚至比起很多翻譯來(lái)說(shuō)更容易看懂。

混跡GitHub就會(huì)發(fā)現(xiàn)國(guó)內(nèi)的很多開(kāi)發(fā)者英語(yǔ)上欠缺還是很大的,尤其是一些description和readme直接就上中文的。即便你英語(yǔ)渣,機(jī)翻也行啊。畢竟是計(jì)算機(jī)社區(qū),英語(yǔ)才是通用語(yǔ)言。用中文去一些國(guó)外開(kāi)發(fā)者的倉(cāng)庫(kù)里提issue或者回復(fù)也是一種很粗魯?shù)男袨椤?/p>

如果讓我說(shuō)一種對(duì)技術(shù)幫助做大的語(yǔ)言,那必然就是英語(yǔ)。有了英語(yǔ),才能真正地獨(dú)立學(xué)習(xí)。

Google

問(wèn)小白問(wèn)題之前,你Google過(guò)嗎?如果讓我看到一個(gè)開(kāi)發(fā)動(dòng)不動(dòng)去搜百度,那我估計(jì)會(huì)武斷地認(rèn)定他很菜。其實(shí)Google是我們最好的老師,只要能正確把握問(wèn)題的關(guān)鍵字,幾乎沒(méi)有找不到的答案,大部分會(huì)在StackOverflow上,其他散落在GitHub、博客等等地方。

如果你要找的知識(shí)實(shí)在冷門(mén),比如react native的一些深入用法,android上的視頻so閹割這種,那恐怕只能找找做這塊的朋友或者自己研究了,國(guó)內(nèi)有一些好心的開(kāi)發(fā)者或許會(huì)分享在自己的博客。

至于科學(xué)上網(wǎng),這個(gè)話(huà)題相關(guān)的技術(shù)太多了,請(qǐng)自行找方法,VPN也好,SS也好,都很簡(jiǎn)單,相對(duì)的投入和產(chǎn)出對(duì)程序員來(lái)說(shuō)性?xún)r(jià)比是很高的。實(shí)在不想花錢(qián)的去用AWS的免費(fèi)云服務(wù)器搭SS也行。

實(shí)踐

看是沒(méi)有用的。比如看一篇關(guān)于Hybrid App原理的文章,或許它寫(xiě)得很好,但其實(shí)就算看完了,讓我自己去寫(xiě)一個(gè),或者講講怎么去做一個(gè)我們應(yīng)用的版本,Android/iOS端通用的方案,最后也是支支吾吾說(shuō)的不知所以。最后還是要去實(shí)踐做一些Hybrid頁(yè)面才能真正掌握,能說(shuō)清楚這里面的原理和應(yīng)用場(chǎng)景。

紙上談兵終覺(jué)淺。

警惕體力勞動(dòng)

當(dāng)你的工作成為一種體力勞動(dòng),而自己無(wú)法從中獲得新的體驗(yàn)和知識(shí)的時(shí)候,需要警惕究竟發(fā)生了什么。

想得太少

對(duì)做的內(nèi)容停留在完成的階段,而不對(duì)更好的方案,實(shí)現(xiàn)細(xì)節(jié)去思考更多,比如用了某個(gè)API,會(huì)不會(huì)去仔細(xì)看看其究竟是怎么做的?;蛟S你知道Handler,Looper,那你知不知道主線(xiàn)程的一切,四大組件的生命周期,各種View的觸摸事件都是消息驅(qū)動(dòng),在mainLooper里面進(jìn)行處理的呢?

工作內(nèi)容重復(fù)

當(dāng)Focus在一塊上太久之后,難免會(huì)碰到這種瓶頸,這時(shí)候可以看看是不是能換一塊做,比如做做緩存、Hybrid、啟動(dòng)優(yōu)化、視頻等等??梢宰龅念I(lǐng)域很多,實(shí)在發(fā)現(xiàn)興趣不在此,換著做后臺(tái)或者前端也行。倘若因?yàn)閭€(gè)人原因,比如公司不讓換或者可能工資會(huì)低很多,擠一擠時(shí)間在side project里面搞搞也可以,只是有沒(méi)有心的問(wèn)題罷了。

我面試過(guò)一些做Android 5-6年的程序員,但大部分真的連一些優(yōu)秀的2-3年經(jīng)驗(yàn)的開(kāi)發(fā)者都遠(yuǎn)遠(yuǎn)不如,問(wèn)設(shè)計(jì)不懂設(shè)計(jì),問(wèn)流行的開(kāi)源項(xiàng)目回答就是“好像聽(tīng)說(shuō)過(guò)”。我不希望我認(rèn)識(shí)的開(kāi)發(fā)者以后變成這樣的人。但你若是總是重復(fù)勞動(dòng),難免像這樣1年的工作經(jīng)驗(yàn)重復(fù)了5年。

在額外學(xué)習(xí)的時(shí)候,更多關(guān)注的應(yīng)該是不同的地方,而不是說(shuō)這個(gè)學(xué)Python,下個(gè)月去學(xué)Go,想想語(yǔ)言的差異性在哪里,自己試試看做一些項(xiàng)目,培養(yǎng)全棧工程師的底子。還在念大學(xué)的時(shí)候,我學(xué)了C、C++Java、Node.js、Python、Ruby、PHP、HTML、Perl、SQL/Redis/HBase等等等等,但對(duì)每個(gè)的理解都不夠深刻,現(xiàn)在想來(lái)那時(shí)候是做錯(cuò)了的,思考的都不夠深刻,也直到這一兩年,我才足夠明白這個(gè)錯(cuò)誤。

你應(yīng)該有自己的專(zhuān)長(zhǎng),但也要能從全局的角度思考問(wèn)題,一個(gè)不懂前端的后端老大會(huì)導(dǎo)致前端過(guò)重不靈活,反正只要自己這兒的模塊清晰就好,一個(gè)不懂前端的前端老大也會(huì)讓下面的人不要抱怨,做出來(lái)就好。

公司問(wèn)題

發(fā)生在一些項(xiàng)目經(jīng)理逼得特別緊,老大又比較無(wú)能的地方。項(xiàng)目經(jīng)理為了向上面交待,對(duì)工程師說(shuō)“這個(gè)進(jìn)度能不能再壓一下呀”,或者干脆直接不聽(tīng)工程師的意見(jiàn)強(qiáng)行縮短工期,導(dǎo)致沒(méi)有時(shí)間去深入學(xué)習(xí)。老大明知這種情況,卻睜一只眼閉一只眼。這種公司,還是離開(kāi)為妙。

一個(gè)合格的leader,或者說(shuō)mentor應(yīng)該做些什么?至少?gòu)奈业慕嵌葋?lái)看,盡管對(duì)公司他需要對(duì)項(xiàng)目負(fù)責(zé),但對(duì)團(tuán)隊(duì)內(nèi)的開(kāi)發(fā)者,他更應(yīng)該做的是觀(guān)察和指導(dǎo),看清楚那些團(tuán)隊(duì)毒瘤(不做正經(jīng)事,得過(guò)且過(guò),假加班,搶功勞推脫責(zé)任,等等),營(yíng)造團(tuán)隊(duì)氛圍,而不是一味Push催進(jìn)度和表現(xiàn)自己。

記錄和總結(jié)

寫(xiě)博客是為了什么?

至少對(duì)我來(lái)說(shuō),寫(xiě)下的東西更多是對(duì)自己的一個(gè)總結(jié)和交待。如果我能寫(xiě)下來(lái),至少能證明我有信心自己確實(shí)是這么去理解的,沒(méi)有去坑人。另外,姑且也算是一種成長(zhǎng)的足跡吧,偶爾自己還會(huì)去看看筆記。

分享也是目的之一,希望大家能互相進(jìn)步,這樣才能促進(jìn)發(fā)展。

寫(xiě)博客也好,寫(xiě)一些筆記也好,點(diǎn)點(diǎn)滴滴也是對(duì)自己的一種整理。

問(wèn)自己

想清楚自己要的究竟是什么。

做全還是鉆?想做一個(gè)超強(qiáng)并發(fā)量的后臺(tái)?想黑別人的系統(tǒng)?想做出精準(zhǔn)有效的推薦算法?還是想做別人能實(shí)際用到的產(chǎn)品?

筆者正是因?yàn)橄胍氖呛笳?,所以成為了Android開(kāi)發(fā)(為什么沒(méi)有選iOS,大約是Android的開(kāi)放性吸引了我)。而現(xiàn)在,因?yàn)榘l(fā)現(xiàn)自己欠缺的(對(duì)前端駕輕就熟,大部分的事情對(duì)我來(lái)說(shuō)只是體力活,而自己想承擔(dān)一個(gè)完整的項(xiàng)目卻又不行),所以又重新拾起了Node.js,看起了ES6,思考設(shè)計(jì)和產(chǎn)品的問(wèn)題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3940

    瀏覽量

    127656
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1769

    瀏覽量

    57662
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68574
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    為什么嵌入式驅(qū)動(dòng)開(kāi)發(fā)工程師可以拿高薪?

    技術(shù)領(lǐng)域具有不可替代的地位。 成為一名優(yōu)秀的嵌入式驅(qū)動(dòng)工程師只需要深耕以下幾點(diǎn): 1)堅(jiān)實(shí)的技術(shù)基礎(chǔ): 首先,需要有堅(jiān)實(shí)的基礎(chǔ),包括計(jì)算機(jī)組成原理、微處理器與微控制器架構(gòu)以及電路設(shè)計(jì)與硬件接口知識(shí)
    發(fā)表于 01-07 16:56

    OpenAI從谷歌DeepMind挖角三高級(jí)工程師

    近日,據(jù)Wired最新報(bào)道,OpenAI在人才爭(zhēng)奪戰(zhàn)中取得了顯著成果,成功從競(jìng)爭(zhēng)對(duì)手谷歌DeepMind“挖角”了三高級(jí)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)領(lǐng)域的專(zhuān)家。 據(jù)悉,這三工程師分別是Lu
    的頭像 發(fā)表于 12-04 14:13 ?328次閱讀

    嵌入式軟件工程師如何提升自己?

    相關(guān)的實(shí)驗(yàn)室項(xiàng)目或參加開(kāi)源項(xiàng)目以積累寶貴的項(xiàng)目經(jīng)驗(yàn)。 4.不斷學(xué)習(xí)與成長(zhǎng) 嵌入式軟件領(lǐng)域的技術(shù)更新速度非???,因此,作為一名嵌入式軟件工程師,需要不斷學(xué)習(xí)與成長(zhǎng),保持對(duì)新技術(shù)的敏感性和
    發(fā)表于 06-12 11:20

    索尼誠(chéng)邀軟件工程師參與PS免費(fèi)手游平臺(tái)設(shè)計(jì)

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動(dòng)娛樂(lè)正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負(fù)責(zé)設(shè)計(jì)PlayStation的免費(fèi)手機(jī)游戲平臺(tái)。
    的頭像 發(fā)表于 05-23 17:08 ?749次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開(kāi)發(fā)領(lǐng)域中的種專(zhuān)
    發(fā)表于 05-16 11:00

    如何成為一名嵌入式C語(yǔ)言高手?

    如何成為一名嵌入式C語(yǔ)言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語(yǔ)言則是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言之。成為一名嵌入式C語(yǔ)言高手需要長(zhǎng)時(shí)間的
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語(yǔ)言高手?

    如何成為一名嵌入式C語(yǔ)言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語(yǔ)言則是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言之。成為一名嵌入式C語(yǔ)言高手需要長(zhǎng)時(shí)間的
    發(fā)表于 03-25 14:12

    如何入門(mén)硬件工程師

    想跨行業(yè)做硬件設(shè)計(jì)工程師,應(yīng)該如何學(xué)習(xí)規(guī)劃呢
    發(fā)表于 03-17 21:49

    位硬件工程師的歷練之路:從入門(mén)學(xué)習(xí)理論到... #搞笑 #硬件工程師 #電子工程師 #揚(yáng)興科技

    硬件工程師揚(yáng)興科技
    揚(yáng)興科技
    發(fā)布于 :2024年03月13日 17:50:21

    單片機(jī)如何通過(guò)代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機(jī)是怎樣通過(guò)代碼來(lái)操控硬件的。作為一名單片機(jī)工程師,我們平時(shí)的工作就像是給單片機(jī)編寫(xiě)“指令集”,讓它按照我們的意圖去驅(qū)動(dòng)各種硬件設(shè)備。
    的頭像 發(fā)表于 03-06 14:46 ?1577次閱讀
    單片機(jī)如何通過(guò)代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

    次平臺(tái)開(kāi)發(fā)工程師的“熱辣滾燙”:愛(ài)星物聯(lián)使用流程

    hello,我是一名平臺(tái)開(kāi)發(fā)工程師小王,近期了解到愛(ài)星物聯(lián)平臺(tái)的開(kāi)源版即將發(fā)布,有點(diǎn)小期待,不過(guò)平時(shí)我都是用公版平臺(tái)完成系統(tǒng)搭建和產(chǎn)品控制的,來(lái)看看我是如何進(jìn)行這“熱辣滾燙”的新流程
    的頭像 發(fā)表于 02-26 11:44 ?479次閱讀
    <b class='flag-5'>一</b>次平臺(tái)<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>工程師</b>的“熱辣滾燙”:愛(ài)星物聯(lián)使用流程

    優(yōu)秀電源工程師需要哪些必備技能?

    就帶大家細(xì)數(shù)下優(yōu)秀電源工程師具備的那些技能。、新手必備課程成為一名電源高手需要扎實(shí)的理論基礎(chǔ),涉及電路原理、語(yǔ)言編程和控制理論等多個(gè)學(xué)科領(lǐng)域。為了幫助大家更好地掌握電源
    發(fā)表于 01-29 11:29