HenCoder:給高階 Android 工程師的進階手冊

扔物線發表於2017-07-03

是什麼?

對,標題沒寫錯,我是認真的。給高階 Android 工程師的進階手冊。

這件事的準備工作,我做了整整一年。

為什麼?

決定做這件事,源於一年前我和老婆的一次對話。

我:「又拒了個技術分享邀請。」

老婆:「為什麼?」

我:「不知道講什麼。」

老婆:「江郎才盡了?」

我:「才盡了。真的不知道講什麼好,選題太難了。關鍵是選不到對聽眾有用的題。其實說實話,讓我選一個大家關心的技術話題,上臺去逼逼幾十分鐘,讓大家聽得熱血沸騰鼓掌叫好,這一點都不難。但是這種分享大多數時候對聽的人並沒有什麼幫助,雖然他們在聽的時候會覺得受益匪淺。」

老婆:「你連粉絲都黑。」

我:「我說的是真的。他們雖然會覺得,哇塞講得好牛逼啊,我還要學習一個啊,但其實一個分享聽下來或者讀下來,他們的技術並沒有得到任何長進。我覺得技術分享這種事,應該是聽者獲取知識、講者獲取聲望的雙贏的事,而假如受益者只有我自己,聽者得不到實質性的收穫,我寧願不講。所以我不是不願分享,而是不知道分享什麼。」

老婆:「偉大。」

我:「我真這麼想的。」

老婆:「我沒諷刺你。你上次跟我說最近寫不出技術文章了也是這個原因嗎?」

我:「對。不知道寫什麼能真正幫人進步。我現在不太想寫技術熱點了。倒不是說熱點沒用,而是我覺得現在多數人最需要的不是這些前沿技術的追新,而是一些相對基礎的東西。尤其是很多高階工程師,更需要基礎。」

老婆:「高階的不會基礎?上了大學還不會 1+1=2 ?」

我:「1+1=2 可不是基礎,那叫入門知識,和基礎是兩回事。就比如你說的數學吧,小學學 1+1=2,中學學拋物線,大學學微積分,這都是必備知識,不叫基礎。但是基礎差的人,就有可能因為不知道括號裡面的應該優先計算而導致微積分算錯。括號是小學就學的東西,但它會影響到你以後的各個階段,這個就叫基礎。」

老婆:「沒聽說誰上了大學還不知道括號裡的應該先算的。」

我:「我這不是舉例嘛,你領會精神。做到了高階的,基礎確實不會太差,但很多人的基礎知識都是在工作中慢慢補起來的,不夠系統。」

老婆:「基礎知識不是大學就學過了嗎?」

我:「還真不是。這幾年中國的軟體發展太快了,學校教育跟不上。你看我當時就是我們學校第一屆軟體工程專業的,老師們都是摸索著教的,能教得多系統?」

老婆:「你連母校都黑。」

我:「其實我們學校算好的了。」

老婆:「那你為什麼不講基礎?教教高階工程師怎麼用括號。」

我:「這就是關鍵所在啊,基礎超級難講明白的。基礎的東西往往成體系,而且既晦澀又難理解,要想講得通俗易懂,我光準備就得花很長時間。」

老婆:「多長時間?」

我:「不知道。不過怎麼著也得半年到大半年吧,而且還得是全職做它的前提下。但是全職做明顯不現實啊,全職做就得辭職,辭職就沒工資了。」

老婆:「哦。」

我:「嗯。」

老婆:「你說的這個基礎,真的很有用嗎?」

我:「真的。基礎相當於武俠小說裡的內功,看起來你以為沒用,但是已經內化到骨頭裡了,基礎好的人做起事來非常穩當,而且再學別的什麼也會很快。而你基礎如果不好,工作頭兩年可能還好,慢慢你就會發現,你的技術提升不動了。其實大家做到一定水平之後,都有各自擅長的東西,你別看我在網上有點小名,真論技術他們未必就比我弱。但長期來看,基礎是每個人都需要的,如果我能把我花了很多時間學到的這些基礎給他們講出來,讓他們輕輕鬆鬆就能學會,不用和我一樣花費大量的時間在這上面,你說這事棒不棒?」

老婆意味深長地看著我:

w200
w200

然後她說:「我同意你辭職。」

我:「我沒,我沒說要辭職啊。」

老婆:「我們家又不缺你掙的那點錢。」

我:「……你這麼揭穿我考慮過我的感受嗎?」

注:出於篇幅考慮,談話內容已經過精簡。

第二天,我提了辭職。

去年 7 月 1 日,離職後的我回到鄭州,開始了自己的「高階 Android 括號裡優先計算技術分享」的準備工作。

「高階」?

說一下「高階」這個詞。同樣的一個詞,不同的人有不同的理解,不同的位置和環境有不同的定義。A 公司的「高階」,在 B 公司也許叫「中級」,到了 C 公司可能又成了「資深」。想來我最後一次換工作時,薪資漲了不少,職位卻是從 「高階 Android 工程師」「降級」成了 「Android Engineer」。所以為了理解的統一,我先明確一下我所指的「高階 Android 工程師」的具體是誰:我這裡說的「高階 Android 工程師」,主要指的就是國內大多數小型和微型公司裡的 Android 骨幹或 Android Leader。這些人在公司的職位通常叫做「高階 Android 工程師」,技術也很不錯,但和一些有技術積澱的大公司中的高階工程師相比,他們中的多數人往往(注意是「多數人」「往往」,不是全部,謝絕學我老婆抬槓)底子不夠紮實,基礎相對薄弱,所以很容易在到達一個還不算很高的技術水平之後,就感到難以繼續提升了。他們並不是不想上進,而是不知道應該怎麼上進,很多人都已經嘗試過很多學習方法,但都好像沒有剛入行時那樣進步神速,感覺每天都是一個全新的自己了。據我瞭解,現在中國的程式設計師中,這樣的人非常多。他們是每個公司的骨幹,但技術水平卻沒有達到自己期望的高度(甚至有不少人,也沒有達到公司同事以為的高度)。我在這裡所說的「高階」,指的就是這些人。

而我做這件事希望可以幫到的,也是這些人。

Talk is cheap

在做之前,只覺得這會是一件有點麻煩的事;然而做了才漸漸發現,這件事真是太太太麻煩了。原本以為半年就能做成,沒想到卻做了整整一年。這一年裡,我學了很多,做了很多,也走了很多的彎路。

還好,今天我終於能夠宣佈,我的技術分享專案「HenCoder」面世了!

從今天起,我將會持續地在我的知乎專欄掘金專欄、微信公眾號(HenCoder)、以及網站 HenCoder 同步釋出我的每一期的分享。頻率大約會是每週一更。

第一階段首先是 Android 的 UI 基礎中的自定義 View,下面這段視訊是一個對此簡要的介紹:

正式的技術內容將會從下週開始。如果感興趣,可以先來關注一波。

FAQ

在這一年裡,朋友和內測讀者們跟我提了不少問題,我把其中問得最多的幾個拿出來統一回答一下:

  • 你的目標是什麼?

    答:通過補足技術短板,幫助國內的小型和微型公司的 Android 開發主力突破技術瓶頸,讓他們的技術提升得以持續而不是停滯不前,從而讓這些小微型公司 Android 主力的技術水平整體提升一個層次。當然如果能幫到更多範圍的人群,我會更開心。

  • 你覺得你做的這件事意義大嗎?

    答:大。現在國內其實特別缺高階的 Android 開發。據我從各種渠道瞭解到的資訊,目前國內的情況是:在程式設計師方面,很多 Android 開發找不到好工作,而在公司方面,也有很多高階的 Android 職位招不來優秀的人才。因為現在國內公司對 Android 開發的要求是比程式設計師們的實際水平要整體高一些的,這中間有一道溝。而如果國內的 Android 開發能夠整體提升一個層次,這道溝就被填上了,那麼對於程式設計師們和公司們來說,都是有利的。喜大普奔啊。

  • 你打算用什麼形式來分享?

    答:錄播的視訊 + 文字 + 練習專案。視訊負責打通概念,文字負責闡述細節,練習專案負責最後一公里,讓你從「我懂了」變成「我會了」。

  • 為什麼準備工作會花了一年這麼久?

    答:因為要想做到高質量,需要學習很多之前沒有接觸過的東西。比如這一年裡,我把我打算講的那些東西全部從頭重新學了一遍,保證我講出來的東西是絕對準確無誤的;另外,為了視訊的製作,我還學了拍照、視訊拍攝、視訊製作、動畫製作、錄音、鏡頭表現。除此之外,還走了很多彎路,學了和做了很多最終沒有被我採用的技能和事情。

  • 收費嗎?

    答:不收。收費的話很多人就不看了,我希望更多的人能看到。

  • 那你的盈利模式是什麼?

    答:這個問題讓我覺得自己瞬間成了一名創業公司的 CEO。賺錢的事不是沒想過,但確實沒有太多想,我現在就是一心的想把這件事做好。

  • 你會堅持做下去嗎?

    答:只要有足夠多的人喜歡,我一定會繼續做的。

感謝

最後,感謝這一年以來給了我各種支援和幫助的各位:

讚賞

你給不給我錢,我都會認真做、全心做。所以給錢之前請慎重考慮,確定你是要讚賞,而不是購買服務。

相關文章