時光荏苒,歲月匆匆,不知不覺間2012年又到了尾聲,這一年的時間不知道有多少人最後是興奮,是懊惱、是平淡,仍是悔恨。不知道瑪雅人的末日預言是否是靠譜,我選擇在「末日」以前將這一年記錄下來,算是對本身的一個總結,不管有沒有末日,普通人無論怎樣仍是要生活的,生活還得繼續,飯仍是要吃,日子還得照過。12月22日若是本身一覺醒來還活着,咱們仍是得保持劫後餘生的慶幸對不對?程序員
相對於大可能是的程序員,我不知道本身能不能算得上這個羣體的一員,若是我算着羣體的一員,那麼我相比大多數人是一個年輕而又年長的程序員。先說說年長,我是2003年進入大學的,那一年我18歲,可是個人專業和計算機毫無關係,也不算全無關係,至少仍是須要計算機畫圖的,個人專業是機械類的專業,之後打交道的是容器、壓力容器、各類大中型的器械,我天天面對的是各類力學,壓應力、拉應力、熱力傳導,很是幸運個人學校很不錯,工做在2007年畢業的時候很好找,不但如此我在畢業前的10個月就已經簽定了就業合同,很不錯的單位,央企、國有超大型企業。若是不出意外個人人生就已經肯定了,行政之路或者技術之路,職員-科級職員-副科-科-副處……,助理工程師-工程師-副高-高……,可是……,人生有不少可是,2010年底我辭職了,呵呵,算是比《北京青年》提早了了吧,用如今流行的話說就是「裸辭」了。我裸辭了。那一年我要到副科了。數據庫
2011年是混亂的一年,我不斷的徘徊在本身的心門以外,幹過很多工做,賣過保險,也幹過老本行。不說也罷。2011年底我終於決定走上程序員這條路了。編程
時間到了2012年,通過艱難的尋找,我終於以一個機械工程師的身份當了一個程序員,這一步的艱辛不足爲外人道,可是我想說的不是這個,這個坎已通過去了,至少我如今能夠用寫程序賺點工資了。雖然不多,當初我爲何選擇這條路,能夠與個人繽紛的想法有關,這是一個迷人的世界,一個由一行行的代碼組成的世界,個人任何想法,無論多麼離奇,都能實現。我沒有參加社會上任何計算機的培訓班,就靠着這股子銳氣,走上了這條路,有些時候我就想:有些時候你不走到一個位置,永遠不知道在這個位置上的難處。安全
等到真正走到這個位置才發現,事實遠比本身想的殘酷,表面下的光鮮掩飾不住內裏的艱辛,我不知道什麼是數據結構,更別提什麼是樹?什麼是圖?大學裏學的那點C語言,通過時間的洗禮,基本都還給老師了,好在個人職位並非急着當即寫程序,畢竟當時就任時也答應作部分機械設計方面的東西,也就是那個時候,我急切須要一門可以養活個人語言,而後就是了解、比較和選擇,因爲個人基礎不好,也能夠說是根本沒有基礎,我就本着簡單易用好上手的原則選擇個人第一門語言,C/C++固然強大,可是它太強大了,捨棄;Java很火,可是IDE並非特別順手,做爲徹底的零基礎確實勉強了,捨棄;VB很容易上手,可是它老了,雖然如今依舊發揮着餘熱,畢竟老了,捨棄;後來我看到了C#,看到了MicroSoft的.Net平臺計劃,我決定選擇它做爲個人工做語言,既然有了方向就開始學習。數據結構
笨拙的安裝IDE,秉承Windows軟件的一向風格,只是一次次的下一步而已,比JDK的配置簡單一點,簡單的界面設計,拖拖控件,再來點簡單的點擊事件,就算一個軟件了,當時感受真傻瓜,至今還記得當時第一個Button的MessageBox.Show()的興奮感受,萬幸我所在的公司是一個小公司,也並非專門作軟件的公司,軟件只是其餘產品的附屬產品,同事也很平易近人,因此日子也不算難過,就這樣我成了一個只會拖拖控件的「僞程序員」。編程語言
曾經我覺得這就是程序員的一切,由於我在這行連菜鳥都算不上,還記得上大學時,老師說的那個「認知圓」的事情,說的是:爲何越無知的人越認爲本身水平較高,知識領域或者知識範圍,就像一個圓,只有本身懂得和了解的越多,這個圓接觸到的未知領域才能越大,才能越能知道本身什麼不知道。我把本身的認知分爲,不知道本身不知道——》知道本身知道——》不知道本身知道——》知道本身不知道;當時的我充其量只能算是這個知識領域裏的一個點,不知道本身不知道,無知者無畏而已。分佈式
我所在的公司仍是偏向於傳統行業多一點,不算是純粹的軟件公司,因此工做的氣氛與純正的軟件公司相比仍是有點差異的,如今也看到好多IT行業的程序員一直在抱怨工做忙、加班多,生活不規律,如今也出現了很多IT從業人員的猝死事件,因此各位仍是要多多的注意身體。我上班一年以來,只在一次週末加過班,加班一天,這一次仍是因爲本身水平不行形成工做沒有及時完成。雖然加班不會有兩倍或者三倍的加班費,可是仍是有正常的加班費。只能說我進了一個相對比較不錯的公司。閒話不說了,仍是說說本身的心路吧!學習
看到院子裏好多人的鼓勵,那麼我就多寫寫本身的一些思想上的認識和感覺吧!或者是本身的一些感想,分享給你們,但願你們多多指點,我算是這個領域裏的新人,多指導批評哈,算是拋磚引玉,但願看到更加精彩的2012年終總結。人工智能
繼續,作了一段時間的拖控件的工做,我就開始不知足了,程序員應該不是這樣的,他應該是神同樣的存在,我決定開始普遍瞭解這個行業,由於只有你瞭解了才能作出比較合理的選擇,知己知彼才能百戰不殆。提早聲明我只是淺顯的如走馬觀花的瞭解了一下,有什麼不對的請給位大牛多多指點,修正我本身的知識體系。操作系統
我首先了解的是嵌入式行業,由於這個職位咱們公司有人在從事,我簡單把這個行業分爲帶系統的ARM系列和不帶系統的單片機。先說說單片機吧,單片機的功能比較單一,運算能力稍差,適用於低成本的控制領域,能夠作到很低功耗,適合一些控制比較簡單,PC機沒法深刻的一些領域,好比簡單的數據採集、傳輸等等,目前單片機家族主要分爲兩大致繫結構,馮諾依曼,表明爲51系列;哈佛指令結構,表明PIC系列;我曾經花了幾個星期的時間來學習PIC系列的PIC16F877單片機,感受入門比較簡單,可是想深刻學習必須有很紮實的電子電路知識和計算機基本原理知識,這正是我所欠缺的,想深刻學習阻力很大,因此瞭解了基本以後就放下了。再就是ARM了,功能強大,能夠方便的移植Linux系統,完成更爲強大功能,相應的知識要求更高,因此果斷沒有浪費時間。
通過這短暫的一段時間學習,雖然不能開發作項目,可是確實開拓了個人眼界,也讓我瞭解了更多的東西,目前IT行業的窘境和從業人員的迷茫,我認爲應該是瞭解的不夠多的緣由(本身的淺見,你們莫噴,呵呵),在如今這我的人皆山寨的時代,軟件方面本身的創意,極可能被山寨,不是有個笑話嘛,比爾蓋茨若是在中國,如今仍是個裝機工。可是硬件方面的東西仍是比較難破解的,有些從成本上來講仍是不可能的任務,目前比較熱的物聯網,我理解的就是,一種軟硬結合的新型行業,目前我比較看好這個行業,能夠適當拓展這方面的知識,想象一個每個東西都能主動報告本身狀態的世界,你放到冰箱裏的東西主動大喊本身要到期了,讓你抓緊吃掉,呵呵,誇張了!這只是物聯網一個簡單的應用,更廣闊的應用你們能夠展開想象哈!
可能我是一個喜歡想象的人,我一直認爲思想決定高度,眼界決定世界,因此我本身構造出一個叫作「車聯網」的東東,爲何這麼說呢?由於目前汽車山的電子設備愈來愈強大,功能也愈來愈多,以傳統的方式和方法來製造和開發汽車電子愈來愈困難,我感受應該引入IT產業的思想和方法,最好能有國內的大牛可以開發出汽車專用的操做系統,能方便的擴展使用,那麼恭喜你,你將成爲比爾蓋茨第二了,或者比爾蓋茨成爲第二。因爲個人薄弱的基礎,這個只能存在於想法的階段,想幹卻心有力而力不足。唉!一聲嘆息呀!!!順便說一下汽車電子使用富士通的芯片比較多,有人想進入能夠關注下。
繼續個人計算機世界漫遊,我原來很糾結於一我的究竟是擁有廣博的知識比較好,仍是擁有深刻的知識比較好,這是一個廣度和深度的問題,由於知識是無限的,而咱們的時間是有限的,後來我才明白,這不該該是一個相對立的問題而是能夠相互結合的,本身總結了一下:深度決定了咱們的生存,而廣度決定了咱們的發展。其實也很好理解,因爲咱們具備某一方面的才能,因此別人才能僱傭咱們工做,才能養活本身;等你走到必定的高度,廣度纔是決定你將來的東西。因此我說思想決定高度,眼界決定世界。又扯遠了!繼續工做,等個人工做達到必定的規模,我感受目前的工做到了一個瓶頸,重複的工做開始變多,需求的改變幾乎能完全摧毀我原來的努力。我是一個懶人,不喜歡複雜的東西,不喜歡重複,雖然我很當心的劃分了工做的模塊,可是,仍是可是,效果不理想,雖然知道有OOP的方法,可能水平不行我感受使用起來很是的生澀,不一樣的控件相互糾結在一塊兒,讓代碼的修改很是困難,經常是牽一髮而動全身,修改代碼成了一項挑戰。雖然我頗有耐心,可是很不幸耐心用完了,因此我用了本身的小聰明,根據數據庫軟件的三層結構,在本身的軟件裏構造了一個三層結構,界面層、中間層(更新界面)、邏輯層。界面層就是界面,邏輯層表示程序的執行邏輯,而中間層是把邏輯層修改更新的數據顯示出來或者將界面操做傳遞給邏輯層執行。雖而後來我發現這種方法只是取巧,可是因爲個人OOP實在太差,只能勉強用這種方法混日子,那位大牛若是看小弟可憐,請多多批評指點,提攜一下,書也不能一時半會啃完,要走的路還很長,要學的東西也不少。
編程語言不是萬能的,可是不會編程語言倒是萬萬不能的。因爲是一招鮮(只會C#,還不是精通,勉強算馬馬虎虎),內心多少有些恐懼,因此打算再學點什麼東西,傳說Python很火看了幾天;又說Ruby很優美,也瀏覽了一下;說Lisp是黑客必備,懷着對黑客的崇拜,也啃了幾天;想一想回顧一下C吧,又看了幾天C。效果嘛,從學習方面來講,幾乎沒有,如今讓我用這幾種寫一個最簡單的Hello World,我如今都寫不出來(C還能寫),可是,仍是可是,我怎麼用了這麼多可是,有些意想不到的收穫。IT界是個百家爭鳴、百花齊放的領域,當年的選擇語言也着實費了很多腦力,可是從傳統行業轉型而來的我,總認爲應該有種東西應該是超脫語言之外的存在,經過上面對幾種語言的淺嘗輒止,我發現這種東西就是一種思想,一種「軟件思想」(我本身的命名),我如今還不能表達出來,由於我只是意識到了它的存在,可是我尚未看清它,我想這應該就是IT人所追求的終極目標,我一直認爲程序員是一個藝術家,產品其實是藝術品,我想我本身若是能朝着「藝術家」的目標努力,終究可以實現個人夢想。唉!又煽情了,你們見笑了。
結束了短暫的語言之旅,我又對圖形技術產生了比較大的興趣,說實話讓我拿一條腿去換成爲一個圖形技術方面的大牛,我會大聲說願意(呵呵,估計很多人會說,我實際上是賺了,我也是這樣認爲的)。因爲前面說過的緣由,我只能浮光掠影般的看看,連蜻蜓點水都算不上,我的淺見圖形技術會是將來的一個發展方向,固然了我不知道真正圖形技術的定義是什麼,可是在我這裏它的定義是一種針對全部感官的一種技術,不只僅只有視覺,我認爲的將來畫面會直接在人腦造成,直接刺激感官,你就在這個環境裏的感受。因此虛擬現實技術,光線追蹤等等,有能力仍是上吧,我是不行了。谷歌眼鏡、微軟眼鏡就是很好的證實。原本這段想多寫寫,瞭解有限,水平不行,詞盡思窮了。
安全,嗯是安全。安全是永遠的熱點。隨着互聯的進一步深刻,安全問題更加的突出,想一想陳老師吧(雖然這個和我說的彷佛沒關)!嘿嘿!如今各類數據都在主機上掛着,主機又幾乎所有連通,人心又是八卦的,因此你懂的,因爲不是很懂,只是認爲這個比較好,只能翻來覆去只能說這麼幾句弱智話了,請不要見怪!
異構計算、人工智能、分佈式計算、並行計算。真心喜歡異構計算,C++一點不會,只能門外看看。人工智能,我認爲像人同樣幾乎不可能,可是能夠製做某一領域的人工智能,如真正的電腦醫療診斷,就在剛剛看到IBM的(沃森),正被應用在癌症診斷上面,IBM果真強大,對於我來講這個只能想一想,更但願中國的IT界可以出現這樣的成就。
寫到這裏的時候,我忽然想起了屬於咱們IT人的悲哀,不知道沒日沒夜的加班是否是與這個產業同時出生,可是我認爲這不是常態,這是錯誤的!曾幾什麼時候加班成了程序員的代名詞,彷佛不加班都很差意思說本身是程序員。失敗的項目比比皆是,雖然這並非我這樣一個剛入行的菜鳥級程序員考慮的問題,我仍是思考了這個問題,說說淺見,你們提提意見。單打獨鬥靠技術,雙劍合璧靠合做,三人成行靠管理。大型項目的失敗一般是因爲管理和溝通的緣由,需求和描述的南轅北轍,形成無用功和大量的返工,工期的迫近,又形成趕工。精確的需求定義顯得很重要,搞定需求,開始設計,軟件的設計相當重要,我認爲準確的定義+合理的設計,項目就成功了八成了。而如今我還在苦苦學習各類設計方法,說出來丟人呀!!!沒領導過項目的人,居然也談項目,呵呵。
任什麼時候候都要給本身留出思考的時間,不要只急着趕路,放緩腳步,欣賞一下週遭的風景,也許會發現別樣的美麗。不要由於加班而放棄本身的追求和進修的機會,也不要讓別人一提到程序員就想到宅男和屌絲,咱們雖然改變不了整個行業和社會,可是咱們能夠改變本身。努力作到「Follow my heart!Inner peace!」。
2013年我想認真學點東西,各位大牛有什麼推薦的?我本身目光比較短淺,看的不夠長遠。給點意見吧!
謹以此文,獻給逝去的2012年和那些默默無聞的IT程序員!!!
流年似水,落花飄零;年華再也不,往事如煙;追憶往昔,共饗思緒;展望將來,你我同行;九天十地,共同遨遊。
若是22日太陽正常升起,那麼2013年咱們共同向前,兄弟。
2012-12-17夜