“Android第一書”作者郭霖:用心做事,結果自然水到渠成(圖靈訪談)

劉敏ituring發表於2016-12-21

訪談嘉賓:

郭霖,Android軟體開發工程師。從事Android開發工作6年,有著豐富的專案實戰經驗,負責及參與開發過多款移動應用與遊戲,同時還是LitePal開源框架的作者,對Android系統架構及應用層開發有著深入的理解。

“Android第一書”作者郭霖:用心做事,結果自然水到渠成(圖靈訪談)

2013年3月開始,在CSDN上發表Android技術相關博文,很快獲得了大量網友的好評。目前部落格訪問量已超過500萬次,評論超過10000條。榮獲CSDN認證專家,並被連續評選為CSDN 2013、2014、2015年度部落格之星。

部落格: http://guolin.tech

訪談內容:

非常有幸,再次請到“Android第一書”的作者郭霖來到圖靈訪談做分享!我知道《第一行程式碼》在技術書界可謂是“叫好又叫賣”,非常成功。當時寫書的時候,沒有擔心過自己的辛苦付出,可能根本得不到應有的回報嗎?

其實,在準備開始寫書之前,我就瞭解到技術圖書由於受眾面窄等方面的原因,通常不太好賣。因此,準確來講,當時我並沒有考慮過這本書會不會賣不出去等方面的問題。我決定去寫《第一行程式碼》純粹是因為自己一直是一個很愛書的人。知道有機會寫一本書的時候,我當然也是毫不猶豫地想要抓住這個機會。能出版一本我自己寫的書,對我來說,是具有相當大的意義的,至於它到底會不會大賣,其實並不是我當時考慮的首要問題。

最近新出的《第一行程式碼(第2版)》也將上市。預售的2000本簽名書不到半天就被搶完。《第一行程式碼》這麼受歡迎,它的成功對你產生了哪些生活和技術上的改變? “Android第一書”作者郭霖:用心做事,結果自然水到渠成(圖靈訪談)

正如剛才所說,我其實並沒有刻意期望過《第一行程式碼》能夠有多麼多麼成功,對於我而言,我只想單純地當一個好作者,寫一本好書。因此,對於《第一行程式碼》的每一處細節我都非常用心地去把控,我也希望讀者們在閱讀這本書的時候可以看得出我的用心。至於它後來的大賣,我覺得是水到渠成的事情,因為當你真正用心去做了這件事,自然而然也就會得到大家的認可。《第一行程式碼》的成功並沒有對我產生特別的改變(我覺得暫時還沒有),我依舊按照過去的工作規律繼續工作,仍然堅持著寫部落格的習慣,總體而言,我還是那個我吧。

《第一行程式碼》的成功離不開堅持寫技術部落格的習慣,包括堅持更新你的微信公眾賬號。我真的很佩服你的這份堅持。這份堅持為你帶來了哪些人生上的收穫?

確實,堅持真的是一件非常不容易的事情。從2013年開始,堅持寫到現在,差不多有快四年的時間了,雖然現在由於工作繁忙的原因,更新頻率比以前低了很多,但我還是一直堅持在寫。微信公眾號大概是從今年五月份開始正式運營的,一直維持著每個工作日推送一篇技術文章的頻率。其實,大家對這種堅持分享的精神都是看在眼裡的,我也收穫了廣大程式設計師們的支援,這對我來說應該是最大的收穫吧。

當然,除了堅持分享的精神以外,文章的質量也是非常重要的,不管是寫部落格也好、寫書也好,我對於自己所寫內容的質量要求都非常高,不會用低質量的文章來濫竽充數,久而久之,也贏得了大家的信任吧。所以,這次《第一行程式碼(第2版)》剛開始預售的第一天就被搶購一空,我覺得主要還是要感謝大家對我的支援和信任。

除了知識的系統全面和科學佈局外,我相信語言的趣味性也是本書的一大特色。生活中你應該也是個很有趣的人?

我覺得可能不是。現實生活中的我更像是一個“工作狂”,喜歡把大量的時間花在工作上。我不太喜歡線下活動,能避免的活動和聚會其實我都會盡量推掉。但如果真是要參加一些聚會的話,我覺得我還算是一個比較健談的人,在聚會上我從來不會和別人聊技術,更多的是一些天南海北的事情,因為我平時還喜歡看很多非技術類的書,瞭解各種技術圈以外的事情。如果要說我是一個很有趣的人,我覺得還差得有點遠。

能把枯燥、陌生的知識闡述得清晰、有趣,跟紮實的知識功底分不開。平時,你是如何學習新知識,並加以內化的?

確實,我認為學習能力是衡量一個人綜合能力時非常非常重要的一點,尤其是在科技研發這個行業。因為技術的更新換代實在是太快了,你能學會什麼要比你現在會什麼更加重要,這也是很多大公司喜歡招985、211學生的原因,名牌大學的學生,學習能力通常都會比較強。

對於我自己而言,很多時候都要研究比較前沿的技術知識,因此,閱讀國外的技術資料對我來說就是一件很重要的事情。好在我從小英語就比較好,這方面給了我很大的幫助。只看資料還不夠,如果想要很好地消化,還必須自己親手多做試驗才行,試得多了自然也就理解得深刻了,這個時候知識才成了自己的東西。這句話也是我想要對所有看《第一行程式碼》的讀者們說的,如果只是將書中所有的內容看上了一遍就覺得自己都學會了,我覺得還是有些膚淺。只有真正將書中的例子全都自己敲上一遍,並嘗試著思考如果我不這樣寫,換一種寫法會是什麼效果?我覺得這樣才能理解得更加深刻。

短短兩年內,Android作業系統經歷了5.0、6.0、7.0的飛速升級。你怎麼看待這一現象?

其實,我覺得這是Google的一種策略。5.0系統確實有了非常巨大的升級,可以說是Android系統根本性的改變,因為執行環境從Dalvik變成了ART,同時還支援了手表、汽車、電視等系統。但是6.0和7.0系統都只是在5.0系統上進行了小幅度升級而已,並沒有什麼革命性的變化,我覺得將6.0和7.0系統命名為5.2、5.3系統也並不為過,因為之前的2.x、4.x系統也都是這樣命名的。但是小版本號的升級可能不會讓人有那麼大的升級慾望,而Android最讓人頭疼的詬病就是碎片化過於嚴重。因此,我覺得Google使用這種大版本號升級的方式,一定程度上是為了解決Android碎片化的問題,這樣還在用4.x手機的人就會覺得自己的系統很老了。事實證明,Google的這種策略也確實是有了不錯的成效,目前5.0以上系統的佔有率已經超過了50%,算是在一定程度上緩解了不少碎片化的問題。

當然,以上只是我個人的一些見解,Google使用這種大版本升級的方式可能還有更多更深遠的意義,這我就不得而知了。

Android未來的發展趨勢是什麼?是否會考慮再出第3版?

一切都不好說,因為科技的發展真的是日新月異,你永遠都無法預測明天會出現什麼新的技術。從長遠的角度來看,未來的熱點技術會集中在VR(虛擬現實)和AI(人工智慧)上面。Android 7.0系統中已經宣稱加入了VR功能,AI技術則不知會在哪一天引入到Android系統中。但是這些技術都有些過於前沿和早期了,離進入到千家萬戶可能還有很長一段時間。也許當《第2版》中所講的技術已經遠遠落後於當前科技的時候,我會考慮再出第3版吧,但至少目前第2版中的技術還是非常領先的。

有哪些圖書和學習資源推薦給Android開發者?

其實學習的途徑有很多種,看書只是其中的一種而已。當然,好的圖書可以幫助學習者少走很多彎路,因此,能夠挑到一本好書對於很多人來說也是挺重要的。在Android領域中,除了《第一行程式碼》之外,還有像《Android開發藝術探索》《Android群英傳》《Android 原始碼設計模式》等都是非常不錯的,對於已經入門的開發者們,可以嘗試看看這些書來尋求進一步的技能提升。

除了看書之外,閱讀部落格也是一種學習的途徑,不過部落格比起書的話,內容就比較雜亂,很少有誰可以將部落格的內容寫得像書一樣有條理,包括我自己。因此,部落格更加適合於去學習一些零散的知識點,或者學習一些特定問題的解決方案,而不是很適合進行系統地學習。

現在還流行了一些新興的學習方式,比如說看視訊教程。像極客學院、慕課網、CSDN都有邀請講師錄製了各種各樣的技術類視訊教程,比起書和部落格,視訊的方式可能更加直觀。包括我自己之前也錄製過一個系列的視訊教程,叫《見證Android訊息推送時刻》,大家感興趣的話可以自己去搜尋一下。

最後我再分享一下我自己平時的學習方式,因為我每天也在不斷學習新的知識。可能我所學的東西涉及的面並不廣,但是一般會盡可能研究得深入一些。通常我都會盡量去閱讀英文原文資料,包括Android官方文件、StackOverflow等,這個時候Google就是我最好的幫手。我還會在GitHub上挑一些感興趣的開源專案來進行研究,其實我用過的開源專案真的很少很少,但是一旦開始研究它,就不會僅僅停留在使用的層面上,而是研究原始碼,瞭解它具體是如何實現的。其實多看一些開源專案的程式碼,對於自己的程式設計思路以及程式設計能力都是有挺大提升的,這也是我現在提升自己的一種方式吧。


——更多訪談


更多精彩,加入圖靈訪談微信!

相關文章