引言
“再也不能這樣活 再也不能那樣過 生活就得前思后想 想好了你再做”
略知一二起,從業(yè)三四年,項目五六個,加班七八點,讀書九十本,方向已茫然。
這就是我這幾年IT生涯的真實寫照,我想,也應(yīng)該是部分同行的狀態(tài)。突然聽到劉歡大哥的“再也不能這樣活 再也不能那樣過 生活就得前思后想 想好了你再做”,心里突然有很大的觸動。程序員的出路,到底是什么?
下面是我最近的思考結(jié)果。
1.1行業(yè)分析
縱觀整個IT行業(yè),這里說的是正經(jīng)的IT行業(yè)。之前通過一個哥們講的故事,說問一多年不見得同學(xué),
‘你現(xiàn)在做什么行業(yè)’
答曰‘IT!’
‘是嗎,那咱倆現(xiàn)在是一個行業(yè)的呀,你具體做什么工作?’
‘聽說過聯(lián)想嗎?’
‘聽說過!’
‘聽說過聯(lián)想的thinkpad嗎?’
‘肯定聽說過!’
‘對,thinkpad上面用的螺絲釘就是我們公司生產(chǎn)的’
‘。。。。。。’。
閑話少敘,轉(zhuǎn)入正題,IT行業(yè)可分為如下幾類:
先說最底層,就是軟件。做軟件的公司,還可分為兩類,一類做系統(tǒng),如微軟,redhat等,這里有一批的程序員,他們弄得是windows,linux內(nèi)核,這部分人一般都是‘大牛’。另外一類做應(yīng)用,adobe,oracle,其他的,沒法列舉,多如牛毛。剩下的就是嵌入式程序員,他們懂一些軟件,會一點硬件,在這之間游離,在夾縫里生活的很好。我自己,號稱是‘嵌入式軟件工程師’,其實就是這牛毛夾縫里的一個毫毛,不是妄自菲薄,實事求是而已。你呢?
然后是程序的編譯部分,如GNU組織的gcc,微軟的vc,keil等。這里有少量的程序員,他們懂得,編譯原理。知道如何把源碼,經(jīng)過詞法分析,語法分析,語義分析,代碼優(yōu)化,代碼鏈接,并轉(zhuǎn)換成目標(biāo)文件。這部分人是‘大牛中的大牛’,他們負(fù)責(zé)維護編譯器,或者自己開發(fā)編譯器,發(fā)明新的編程語言。這個行業(yè)里有為數(shù)不多的公司和產(chǎn)品,比如pclint,Testbed。這部分人主要在國外,國內(nèi)也只有像龍芯,華為,還有其他可以設(shè)計IC的公司里。
然后是模擬器部分,這部分的程序員已經(jīng)成精。他們知道如何將可執(zhí)行文件進行分析,知道程序的每一條指令是如何執(zhí)行的,他們可以虛擬出一個體系結(jié)構(gòu),讓可執(zhí)行文件執(zhí)行。并可以獲得程序執(zhí)行的情況,給IC設(shè)計人員提建議。這個階段的公司也有,比如VM,IBM,微軟等。需要特別注意的是,這就是‘虛擬技術(shù)’,而當(dāng)前‘云計算’的基礎(chǔ)就是它。
然后就是FPGA部分,他們會verilog HDL(跟C很像),他們了解硬件,并從上面的模擬器程序員那里聽取意見,然后設(shè)計IC,并進行仿真和驗證。最終,他們得到了CPU,或者其他的各類芯片,接口控制器,圖像和音視頻控制器,存儲器等等。把他們弄到一起就是SoC!這部分的公司也有,比如,intel,IBM,AMD,ARM。
1.2自己的位置
把上面的圖,左轉(zhuǎn)90°,就是金字塔。現(xiàn)在,我已經(jīng)清楚了自己的位置,也知道了自己的努力方向。
1.3小結(jié) 希望能幫到同為程序員的迷茫的你
不能這樣活
歌手:劉歡
歌詞:
東邊有山
西邊有河
前邊有車
后面有轍
究竟是先有山還是先有河
究竟你這掛老車走的是哪道轍
呦嗬嗬!
春夏秋冬忙忙活活
急急匆匆趕路搭車
一路上的好景色沒仔細(xì)琢磨
回到家里還照樣推碾子拉磨
閉上眼睛就睡呀
張開嘴巴就喝
迷迷登登上山
稀里糊涂過河
再也不能這樣活
再也不能那樣過
生活就得前思后想
想好了你再做
生活就象爬大山
生活就象趟大河
一步一個深深的腳窩
一個腳窩一首歌!