畢業三年,從事前端到後端、硬件到軟件、市場到研發、跑腿到決策,基本一個互聯網公司運做須要的各類事都在不一樣程度上參與,生活不易,一把心酸淚~前端
高一的時候花了三百五十大洋買了臺文曲星PC1010,上面自帶一種叫作「GV-BASIC」類BASIC編程語言能夠用來編程,尼瑪,我居然能夠按照本身的想法在160*80的黑白液晶屏上面輸出文字和圖形,今後一發不可收拾的喜歡上編程,也奠基了寫代碼的命。因而從GV-BASIC開始寫代碼,一段時間後面感受BASIC的效率不夠,又翹課到網吧上網找資料學習了6502處理器的彙編,真的效率上來了,但也由於操做的太底層了致使文曲星也報廢了幾回,整個高中報廢了三臺PC1010,一臺PC800以及一臺NC1020。PC1010都是本身的(後兩臺是淘寶買的二手貨),另外兩個型號的是同窗的,到如今我都不知道怎麼面對那兩位同窗。git
由於有GV-BASIC的基礎,高中的時候還順便學習了Visual Basic 6.0。整個高中是一個程序高產的時代,還記得的本身寫的文曲星程序有文字版的NBA遊戲、簡單的搜索引擎(用從事先錄入的詞條中查詢數據)、算命程序、解方程程序以及一個用於編譯彙編語句的彙編程序(我確信我如今無法寫出那麼高效的程序了)。VB寫的PC程序也很多,基本都是工具類的,好比倒計時軟件、日期計算器、剪貼板工具等等。程序員
大學選了通訊工程,源於本身對硬件和通訊技術也感興趣,雖然老師講授的課程裏面只有C語言和數據結構能算軟件方面的知識,但整個大學時期我有了更多的時間和資源來學習軟件方面的知識。大學四年基本把常見的編程語言都學習了,如C、C++、PHP、Java、C#、JS、SQL(若是SQL算編程語言的話)……github
大一學習C語言的時候開始接觸NES開發(對,就是小霸王遊戲機),並經過這種方式來訓練C能力。這段時間收集了不少C語言開發NES程序的資料,最後把本身的研究結果寫了幾篇CC65(寫NES的一種C語言編譯器)方面的文章,如今網路上的CC65中文教程很大一部分是我貢獻出去。總的寫過一個電子詞典、推箱子游戲以及後面的憤怒的小鳥以及一些經常使用的類庫封裝。如今熱情減退很多,但NES開發的圈子裏面還能看到有人時不時在研究NES的軟硬件內容,看到也至關讓人興奮。數據庫
大二的時候作過幾個MTK的IAVA半成品遊戲,也寫過Nokia的J2ME程序,數據庫等等也這段時間學習的。
大三開始接觸Linux(Debian 6)以後就開始時不時使用Linux,所以有了些基本的Linux操做能力,如今的不少產品也跑着Linux系統上。編程
大四學習了Android和iOS開發,在實習的公司作過幾個app產品。大四在朋友的介紹下開始接觸Python,今後便一發不可收拾的喜歡上Python(若是Python是個妹子的話)。vim
因爲專業的緣由,大學裏還順便學習了電子電路、單片機、嵌入式已經計算機網絡方面的東西,如今偶爾也玩玩硬件,但像模像樣的產品說實話沒有作過,固然,這不表明之後也沒有。segmentfault
大學階段的學習很雜,基本上是感興趣的都去碰一下,時間精力有限基本都是淺嘗輒止,最後沉澱下來的語言就只剩下C、C#、Java和JS了(大量使用ORM的緣故,除非對數據庫進行操做,不然不多有機會去手寫SQL了),以及硬件上的ADC、IO、串口、I2C、SPI、CAN等等東西了。後端
大學四年翻了不少學校圖書館的計算機類書籍,但基本都還停留在如何使用的層面上,這四年裏代碼也沒少寫,好比能夠刷暴學校選課系統的軟件、好比能夠給本身班級無限投票的軟件,固然還有一堆課程實訓的XX管理系統和參加比賽時候寫得一堆單片機程序和PC程序。設計模式
有幸這四年裏也遇到幾個能夠在計算機編程方面相互交流的夥伴,時不時聊天總能碰出一些火花。
工做之後逐漸對設計模式、敏捷、TDD等軟件工程方法留意和思考,也開始看相關書籍來彌補這塊理論知識的空白。編程語言方面也開始逐漸傾向於Python,酷愛Python的短平快,公司的大部分產品也均部分或者所有使用Python、框架方面傾向於Django。在團隊建設上面也基本全盤Python化(固然,只是在互聯網這塊使用Python,桌面和Windows Phone仍是C#、Android仍是Java、iOS仍是Objactive C(沒錯,不是Swift))。
出於對Python的喜歡,也逐漸向周圍的朋友推薦Python,時至今日已成功安利了好幾位,這樣一來朋友聚一塊兒可以交流的東西也就更多了。
也並不是只在工做的時候寫代碼,業餘的時間出過幾個Windows Phone的應用,如今還在維護着。硬件開發板也是買了不少,但大部分都是跑了例程就丟一邊了,頂多也只是偶爾玩玩,對於如今開發板的性價比也着實歎服,各類派都可以毫無壓力的跑Python了,這某種側面上又加深了我對Python的喜好。
從讀書的時候到如今爲止,一直想寫一個開發NES用的類C編譯器,雖然也在斷斷續續的進行中,但進度太慢,用了幾年的時間才把初步的彙編器,並且估計後面會徹底推倒重來(這種狀況不止一次了)。
一直都像塊海綿同樣在吸取學習,還沒到這個階段....
Sublime Text、Chrome(插件:JSON View、REST Client、EditThisCookie)、Firefox、Eclipse、Android Studio、VS、Guika
其實在這裏我很想寫vim、emacs的,可是無奈我對這兩個東西一直學習不來,而我也逐漸接受了這一現實:並不是全部人都使得來這些神器的,好比我。
另外用Python的推薦pip和virtuaenv。
樹莓派、香橙派、Smart Link 768八、Arduino,可玩性都比較高。哦,還有PL2303HXA串口線。
若是喜歡閱讀的話比較推薦亞馬遜的Kindle,出差攜帶也比較方便,添加幾個訂閱,比較方便。
白開水、雙顯示屏
大三的時候寫過一個給班級投票的程序,把本身班級投到第一,還有一個選課軟件,把學習服務器選爆了,唉,怎麼都是些爲非做歹的工具。
前久寫了個叫作EditOnline的Python工具,不算黑科技,但感受作簡單的在線編輯很方便,特別是和上面提到的樹莓派之類的神奇結合起來。
最近偏心村上,不知道這樣說會不會被打臉。
哈哈,迴歸正題,好比《IT通史》、《浪潮之巔》、《數學之美》、《代碼之美》、《人月神話》,學習Python的話建議收藏《Python Cookbook》。
還有,東野圭吾的《白夜行》估計寫代碼的人會喜歡。
若是高中在文曲星上面敲代碼也算進去的話我已經有10年的碼齡(操,居然這麼老了),前久朋友問還打算敲多少年,我隨口回答「一直敲啊」,朋友說「程序員吃青春飯,你不可能一直敲下去」。
但咱們都沒有敲到老過,因此誰有資格說不能一直敲下去了?
本文參與了 SegmentFault「個人編程之路」計劃,歡迎正在閱讀的你也加入,一塊兒分享。