此次我決定不耍流氓的寫一篇雞湯,這篇是以過程到結果的文章——之前總是寫結果,總感受很差~~。git
Blabla,羣聊的時候,看到一個網站有一個Most active GitHub users的排名,發現我在裏面的位置是20——在我前面還有一個臺灣的同窗。雖然我如今已經超過他了,可是這個榜單沒有更新。???github
而實際上成爲最活躍的中國大陸用戶,只是有意圖的練習的結果。。。編程
在我找到大四找到工做後,默默製做了一個計劃。這個計劃大概分爲三步,而每一步大概會花一年時間去實踐:設計模式
用更好的方法來實現功能微信
Better Code & Architecture架構
運營(Growth Hacker)ide
因此,其實這也算這篇文章的三個小節。在你跟着這篇文章走以前,你須要具有一個根本的能力:能作到你想作的。工具
雖然這看上去是一件很難的事,可是也不是一件很難的事。這也不依賴於你是否對某一個技術棧的理解,這隻實際上只是學習能力的一種體現。學習
在扯這些廢話以前,先讓咱們來看看咱們是如何實現一個功能、應用的。這也是在Growth裏提到的Tasking:測試
有一個明確的實現目標。
評估目標並將其拆解成任務(TODO)。
規劃任務的步驟(TODO)
學習相關技能
執行Task,遇到難題就跳到第二步。
以本文的寫做爲例,細分上面的過程就是:
我有了一箇中心思想——在某種意義上來講就是標題。
依據中心思考我將這篇文章分紅了四小節。
而後我開始寫四小節的內容。
直到完成。
而若是將其劃分到一個編程任務,那麼也是同樣的:
咱們想到作一個xxx的idea。
爲了這個idea咱們須要分紅幾步,或者幾層設計。
對於每一步,咱們應該作點什麼
咱們須要學習怎樣的技能
集成每一步的代碼,就有了咱們的系統。
因此,實際上這並非考驗你技術能力的點,而是考驗你如何劃分任務和學習能力的點。在我不斷地實現一個個系統的時候,最後我才意識到了這一點——學習能力和Tasking纔是最重要的。換句話說,你如今學會什麼並不重要,重要的是你之後有沒有學習的能力。
有了一直想着過安逸的生活,因此就會安樂的死去。不過反正人生在世,本身開心就行,不要管別人怎麼說。隨後,我發現大部分我想到的均可以實現。
那麼問題來了:
用鉛筆寫字也是寫,用鋼筆寫字也是寫,用電腦打字也是寫——到底要用哪一個工具來寫。
用楷體來顯示也是顯示,用宋體顯示也是顯示——到底要怎樣的實現。
這實際上就是:用更好的方法來實現功能。
對於這一步來講,有太多的東西值得去探索:
更好的架構
更好的工具
更好的語言
。。。
對於語言這一點上來講,Python和Ruby是兩個不一樣的極端,不過看上Ruby是繼承Perl的思想的基礎上,就很少說了。Python,一個問題只有一個方法;Ruby,一個問題有幾個方法。於是在這兩個語言來,想要快感就用Ruby,還有近年來流行的Scala。想要便捷就是Python,不容易出現別的問題。
而這些只是我獲得的結論,每一個人都會獲得不一樣聽結論的。於是,探索是一件頗有意思的事~~,如圖:
因此實際上,這一步是去探索一個更廣闊的天空。咱們須要知道不一樣的語言和技術棧的一些優點,瞭解並知道如何去應用便可。
如,之前我用的是Django的RESTful方案Tastypie管理來解決問題。後來,又發現了Django REST Framework,又用它實現了原來的邏輯。大四時,我發現PHP語言中的Laravel在RESTful這件事情上,彷佛頗有表現力,而且更容易「部署」——LNMP。接着實習時,發現Java在部署上更不錯,它只須要一個Java包。而這個過程,只是出自於部署方面來考慮問題的。
即便如今我是一個使用Node.js的人,我仍是以爲Java的打包就是優點。
在探索的過程當中,咱們就知道挖掘技術哪家強?
在實際編程的過程當中,咱們就會遇到不少代碼問題。在這時,咱們儘管有好的架構,然而並不能從根本上解決問題。只能保證從藍圖上看是對的,而不能致使質量問題。
代碼的腐爛都是源自於平時的工做習慣問題,而在不少時候是需求致使的。這些看上去就是噩夢——加班,沒有時間學習,效率低。沒有時間學習,效率低,加班。
而對於代碼質量來講,也是如此的一種循環:
而在這時能夠學的東西可多了,如Bad Smell,重構,設計模式,編寫測試等等。
最後,我只獲得了一個短句:
重構到設計模式
好的代碼是重構出來的。
再往深層次之上就是架構,而架構每每是一種不容易獲得的。儘管我看了一系列的書:
《領域驅動設計》
《企業應用架構模式》
《領域特定語言》
《恰如其份的軟件架構》
《面向模式的軟件架構》
。。。
最後,我仍是依據一本書的書名,才領悟了一本書的書名《浮現式設計》。也是一樣的話:
好的架構是演進出來的。
而這些都依賴於咱們的實踐,聽信別人說的話,並不能讓咱們學會什麼。只有本身作了,才知道什麼是好,什麼是很差。
當咱們有了一個好的Idea,一個好的架構以及一份良好的代碼,而且咱們還能將其執行下去。那麼,咱們還須要什麼?
這也是我如今正在嘗試的領域,也是過去我想作的,可是卻找不到一個好的方向。後來,想了想就有了Growth這個APP。畢竟從一個領域到一個新的領域,最好是經過現有的領域做爲過渡。
自媒體正在最近幾年內崛起,同時因爲聚合網站的存在,信息在不斷地爆炸。一個好的做品、文章要傳播起來已經愈來愈越難了。
在現有的領域裏,知乎、微博、公衆號已經開始在壟斷人們的碎片時間。一個東西可能在火了幾天以後,你就很可貴到他的信息了。
因此在適當的時候去推銷,在適當的時候持續下去。
在那以前你須要明白的一點是,你要成爲一個怎樣的人?是行業的專家?仍是領域的專家?等等!
我想的是一直能夠作一些有趣的事,單純深刻一個垂直領域對我來講太枯燥了。對於我來講,我只會在造輪子的時候去研究一個輪子。而不是深刻研究某個輪子,我會獲得造某種輪子的方法。我只會在創造一些有意思的東西的時候,纔會深刻某個領域去學習。而不是爲了深刻某個領域,再去學習這個領域的知識 。。
每一個人均可以用不一樣的方式成長,知道本身的喜歡的而後去計劃。
(PS: 歡迎關注個人微信公衆號(搜索:Phodal))