流行的就是最好的:Android开发者的职场规划
CSDN社區(qū)之星任玉剛:Android開發(fā)者的職場(chǎng)規(guī)劃
掙錢才是王道!?
簡(jiǎn)介:任玉剛,Android高級(jí)工程師,先后在騰訊、創(chuàng)新工場(chǎng)和百度從事Android開發(fā)的工作,目前在百度公司參與百度手機(jī)衛(wèi)士的開發(fā)工作;碩士畢業(yè)于中國(guó)科學(xué)技術(shù)大學(xué)。他還是CSDN博客專家,2014十大博客之星,其在CSDN發(fā)表的博客多篇訪問(wèn)量達(dá)3萬(wàn)+,好評(píng)無(wú)數(shù),并多次在GitHub上提交開源項(xiàng)目。
日前,CSDN采訪了任玉剛請(qǐng)他分享Android開發(fā)的經(jīng)驗(yàn)之道以及如何成為高級(jí)工程師。
任玉剛,百度Android高級(jí)工程師
CSDN:你是從什么時(shí)候開始接觸CSDN的?它對(duì)你的學(xué)習(xí)和工作都帶來(lái)哪些影響?
任玉剛:說(shuō)起CSDN,早在大學(xué)時(shí)期我就注冊(cè)了賬號(hào),但是當(dāng)時(shí)更多的是把CSDN當(dāng)做一種獲取技術(shù)知識(shí)的平臺(tái),會(huì)去看一些技術(shù)文章和技術(shù)帖子,也會(huì)去下載自己所需的一些工具。真正發(fā)生轉(zhuǎn)變其實(shí)是從工作開始的,在工作初期,由于我有了一些工作經(jīng)驗(yàn),所以就開始嘗試著寫一些技術(shù)文章。我剛畢業(yè)時(shí)做了大半年的C++開發(fā),然后就轉(zhuǎn)去做Android開發(fā),正是這個(gè)時(shí)候我開始在CSDN上寫一些Android相關(guān)的博客。我的早期博客還是比較簡(jiǎn)單的,更多是一種嘗試的心態(tài),但是我覺得我需要寫一些有點(diǎn)深度的技術(shù)博客,這不僅僅可以加強(qiáng)我對(duì)一些疑難知識(shí)點(diǎn)的理解,也可以幫助廣大開發(fā)者,這種對(duì)別人對(duì)自己都有利的事情是很值得去做的。
寫博客對(duì)學(xué)習(xí)和工作很多時(shí)候會(huì)產(chǎn)生一些微妙的積極的影響,當(dāng)然前提是博客要寫得好。要想寫好博客,首先要選擇博客平臺(tái),這里我的看法是早期的時(shí)候盡量選擇一些訪問(wèn)量大的博客平臺(tái),在訪問(wèn)量上面CSDN是最大的。之所以選擇訪問(wèn)量大的博客平臺(tái),是因?yàn)檫@可以極大地增加我們的博客曝光率,一篇博客有大量的人來(lái)訪問(wèn),這會(huì)在一定程度上鼓勵(lì)作者繼續(xù)寫下去,畢竟寫博客也是一件辛苦的事情。當(dāng)然部分人也會(huì)選擇在個(gè)人主頁(yè)以及GitHub上寫博客,這也可以,但是前期由于缺乏一些人氣,就會(huì)導(dǎo)致自己寫的博客很少有人去看,如果這個(gè)不影響你寫博客的積極性和滿足感,那么也可以選擇個(gè)人主頁(yè)以及GitHub。對(duì)于我來(lái)說(shuō),我一直在CSDN上寫博客,同時(shí)也在GitHub上提交一些開源項(xiàng)目。如果博客寫的好并且得到了大家的認(rèn)可,這時(shí)作者其實(shí)是會(huì)有成就感的,同時(shí)通過(guò)寫博客也可以提升作者的技術(shù)水平和知識(shí)的體系化,這都會(huì)為自己的工作加分。
CSDN: CSDN新推出了Markdown編輯器,有用過(guò)嗎?如果有,在你看來(lái),與其他編輯器相比,它有哪些優(yōu)缺點(diǎn)?
任玉剛: Markdown之前在GitHub上我就有用過(guò),后來(lái)發(fā)現(xiàn)CSDN也提供了Markdown編輯器,我的最近幾篇博客也都是通過(guò)Markdown編輯器來(lái)完成的。在我看來(lái),Markdown編輯器是一種比較新潮的編輯器,它具有很好的移植性,比如通過(guò)Markdown在CSDN上發(fā)表的博客就可以很輕松地搬到GitHub上,而傳統(tǒng)的編輯器則不好做到這一點(diǎn)。另一點(diǎn)就是Markdown語(yǔ)法支持繪制圖表,這也是傳統(tǒng)編輯器所不能做到的。當(dāng)然,Markdown編輯器的一個(gè)缺點(diǎn)就是有學(xué)習(xí)成本,不過(guò)這個(gè)成本并不大,基本上熟悉下Markdown的語(yǔ)法然后嘗試著寫一篇博客就可以掌握了。
CSDN:?在你的博文中大多數(shù)是關(guān)于Android開發(fā)的,大多數(shù)博文PV都很高,多篇訪問(wèn)量達(dá)3萬(wàn)+,好評(píng)無(wú)數(shù),你是怎么做到的?在日常生活中你會(huì)通過(guò)哪些方式來(lái)提升自己的開發(fā)技能?
任玉剛:由于我一直是做Android開發(fā)的,所以我的博客也基本都是Android相關(guān)的。在我眼里,只要是對(duì)讀者有用的文章其PV都不會(huì)低。因?yàn)槲覍懖┛蜁r(shí)會(huì)盡量把博客寫好,這樣能夠?qū)ψx者產(chǎn)生更大的價(jià)值,同時(shí)會(huì)站在讀者的角度盡量把文章寫得通俗易懂,不然就有可能寫出自己很好理解但是讀者卻難以理解的文章。在我的博客中有若干個(gè)主題,其中動(dòng)畫、插件化以及View原理這三個(gè)系列的文章其PV都很高,另外關(guān)于Android學(xué)習(xí)路線的文章PV也很高,這說(shuō)明開發(fā)者還是對(duì)學(xué)習(xí)路線比較感興趣的。
在日常工作中,除了完成開發(fā)任務(wù)以外還要多多學(xué)習(xí)和總結(jié)才可以。很多時(shí)候?yàn)榱送瓿砷_發(fā)任務(wù),可能我們并不會(huì)去把一個(gè)問(wèn)題搞的很清楚,但是開發(fā)完成以后一定要抽時(shí)間去研究,去把這個(gè)問(wèn)題研究清楚,同時(shí)平時(shí)還要養(yǎng)成總結(jié)的習(xí)慣,善于總結(jié)可以讓知識(shí)體系化,即融會(huì)貫通,當(dāng)知識(shí)體系化以后,面對(duì)一個(gè)技術(shù)問(wèn)題,我們能夠快速地找出最優(yōu)的解決方法,一個(gè)優(yōu)秀的軟件工程師并不能僅僅停留在解決問(wèn)題的層面上,還要關(guān)注解決問(wèn)題的方式以及為什么要選擇這種方式來(lái)解決問(wèn)題。工作過(guò)程絕對(duì)是提高個(gè)人技術(shù)水平很關(guān)鍵的一點(diǎn),因?yàn)楣ぷ鞑攀菍?shí)踐,除了工作以外,業(yè)余時(shí)間也是需要適當(dāng)學(xué)習(xí)的,有一點(diǎn)很重要,我們不能僅僅學(xué)習(xí)工作中用到的技術(shù)點(diǎn),拿Android開發(fā)來(lái)說(shuō),Android的細(xì)節(jié)知識(shí)點(diǎn)非常多,很多情況下在工作過(guò)程中只能涉及到部分知識(shí)點(diǎn),對(duì)于剩下的知識(shí)點(diǎn)來(lái)說(shuō)就需要業(yè)余時(shí)間來(lái)學(xué)習(xí),不然知識(shí)體系就不完成,知識(shí)體系不完整的話就更不用說(shuō)融會(huì)貫通了。
CSDN:你對(duì)Android有著怎樣的情結(jié)?在你看來(lái),Android開發(fā)工程師的職場(chǎng)規(guī)劃是怎樣的?
任玉剛:我對(duì)Android是有情節(jié)的,因?yàn)樽铋_始我并不是做Android開發(fā)的,但是正式接觸到Android以后我就深深地喜歡上了Android開發(fā),在那段時(shí)間我甚至都覺得能開發(fā)Android是一件很開心的事,到現(xiàn)在為止,我對(duì)Android開發(fā)仍然是十分熱愛。
目前移動(dòng)端開發(fā)是非常火的,Android開發(fā)當(dāng)然也不例外。Android作為一種開源的移動(dòng)操作系統(tǒng),有很多值得開發(fā)人員學(xué)習(xí)的內(nèi)容。但是有時(shí)候一些開發(fā)人員可能并沒有意識(shí)到這一點(diǎn),這樣工作了幾年以后就會(huì)覺得Android開發(fā)特別簡(jiǎn)單然后已經(jīng)達(dá)到技術(shù)瓶頸了,而實(shí)際上Android開發(fā)達(dá)到技術(shù)瓶頸是很不容易的,只要繼續(xù)向系統(tǒng)的內(nèi)部實(shí)現(xiàn)深挖下去,我們就會(huì)發(fā)現(xiàn)還有很多東西我們不曾理解。
從個(gè)人角度來(lái)說(shuō),Android開發(fā)工程師的職業(yè)規(guī)劃也不應(yīng)該是僅僅停留在應(yīng)用開發(fā)上,而要同時(shí)深入地研究Android的內(nèi)部實(shí)現(xiàn),這樣一來(lái)就可以提高自己的編程功底,有利于開發(fā)人員向更高級(jí)別的技術(shù)崗位邁進(jìn),就算日后從事其他開發(fā)工作,深入理解Android的內(nèi)部實(shí)現(xiàn)也是很有幫助的。
CSDN: Android逆向工程是什么?對(duì)于Android開發(fā)者而言如何學(xué)習(xí)?
任玉剛:Android逆向工程主要是指反編譯和二次打包,通過(guò)反編譯可以破解一些有用信息,而通過(guò)二次打包則可以產(chǎn)生一些山寨應(yīng)用。Android逆向工程是一個(gè)很有意思的話題,礙于工作內(nèi)容的限制,我本身對(duì)其研究的并不是很深入,如果開發(fā)者對(duì)其感興趣的話,推薦大家閱讀下逆向相關(guān)的書籍,比如《Android軟件安全與逆向分析》。
CSDN: 你在GitHub上開源了許多項(xiàng)目,是你一個(gè)人在維護(hù)嗎?活躍度如何?你設(shè)計(jì)這些項(xiàng)目的初衷是什么?你怎么看待開源社區(qū)的演進(jìn)?
任玉剛:我在GitHub上發(fā)起并參與了一些開源項(xiàng)目,最眾所周知的應(yīng)該屬插件化框架 DL(dynamic-load-apk)。 DL最初由我發(fā)起并得到了若干位同學(xué)的支持,在插件化知識(shí)的普及上發(fā)揮了一定的作用。我之所以會(huì)發(fā)起一些開源項(xiàng)目,是覺得開源是一件很有意義的事情,不僅能夠?yàn)槠渌_發(fā)者產(chǎn)生價(jià)值,還可以體現(xiàn)個(gè)人的價(jià)值。但是,如果大家都不去做開源,都想著去采用現(xiàn)成的開源,那么將再無(wú)開源項(xiàng)目可用,因此開源是所有開發(fā)者的事情,只有每個(gè)開發(fā)者都有開源意識(shí),開源社區(qū)才會(huì)得到持久的發(fā)展。我個(gè)人很看好開源,也許在未來(lái)的一天,開源軟件將會(huì)占據(jù)整個(gè)市場(chǎng),Android的開源就是一個(gè)典型的例子。
CSDN:你在百度公司參與百度手機(jī)衛(wèi)士的開發(fā),可否談?wù)劙俣仁謾C(jī)衛(wèi)士下一步的規(guī)劃是什么?有哪些亮點(diǎn)?
任玉剛:百度手機(jī)衛(wèi)士是一款手機(jī)安全軟件,分為Android和iOS兩個(gè)版本,其中Android版本的功能最為豐富,而iOS版本由于受iOS封閉性的影響在功能上并不能得到最大的發(fā)揮。我目前參與的是百度手機(jī)衛(wèi)士Android版本的開發(fā),百度手機(jī)衛(wèi)士Android版有手機(jī)加速、垃圾清理、病毒查殺、安全支付等許多有用的功能,大家可以體驗(yàn)下。關(guān)于百度手機(jī)衛(wèi)士的下一步規(guī)劃,這個(gè)問(wèn)題并不好回答,但是我們的核心宗旨一直未曾改變,那就是:“全新簡(jiǎn)約極致體驗(yàn),高效解決手機(jī)問(wèn)題”。
CSDN:如何成長(zhǎng)為高級(jí)工程師?請(qǐng)分享下經(jīng)驗(yàn)。
任玉剛:這個(gè)問(wèn)題相信不少開發(fā)者都會(huì)感興趣,我之前在CSDN上寫過(guò)一篇名為《 Android學(xué)習(xí)路線:如何成長(zhǎng)為高級(jí)工程師 》的博文,大家可以去閱讀下,這里我再簡(jiǎn)單介紹下:
- 首先是自我定位的問(wèn)題,即要有技術(shù)追求,要朝著高級(jí)工程師的方向去努力,對(duì)于架構(gòu)師乃至更高級(jí)的職位也是同樣的道理;
- 然后就是需要足夠的技術(shù)積累才能很好地把握技術(shù) ,比如寫博客、做開源這都是很好的技術(shù)積累方式,技術(shù)積累的過(guò)程中還要注意融會(huì)貫通,盡量讓自己的知識(shí)體系化;
- 除此之外,還要通過(guò)閱讀源碼來(lái)研究Android的內(nèi)部實(shí)現(xiàn) ,所有這些都將有助于一個(gè)開發(fā)者成為高級(jí)工程師和架構(gòu)師。
CSDN:你的下一步規(guī)劃是什么?有想過(guò)要出書嗎?
任玉剛:我的下一步規(guī)劃是進(jìn)一步加強(qiáng)自己的技術(shù)深度并逐漸實(shí)現(xiàn)技術(shù)的沉淀,具體來(lái)說(shuō)我需要進(jìn)一步地研究Android kernel層的實(shí)現(xiàn)思想、Linux的內(nèi)核實(shí)現(xiàn)、編譯工具的環(huán)境搭建,iOS我也打算入門下,這不是因?yàn)槲倚枰獙W(xué)習(xí)iOS,而是因?yàn)榱私鈏OS可以讓我更好地理解Android。
關(guān)于出書這個(gè)問(wèn)題的確有想過(guò),并且目前已經(jīng)寫了一本Android的進(jìn)階類書籍《Android開發(fā)藝術(shù)探索》,書中包含了我精心挑選的Android進(jìn)階內(nèi)容,其特色是理論和實(shí)踐相結(jié)合,注重知識(shí)的體系化,并通過(guò)理解Android源碼來(lái)更好地支撐上層應(yīng)用的開發(fā),此書目前即將出版,大家可以先保持關(guān)
總結(jié)
以上是生活随笔為你收集整理的流行的就是最好的:Android开发者的职场规划的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Deep Learning Face R
- 下一篇: 人脸识别技术大总结—Face Detec