程序員應(yīng)該會(huì)哪些內(nèi)容

以下文章轉(zhuǎn)載自知乎,暗滅-京華九月秋近寒,浮沉半生影長(zhǎng)單.

暗滅

京華九月秋近寒,浮沉半生影長(zhǎng)單

156 人贊同了該回答

題外話:我實(shí)在看不下去陽(yáng)陽(yáng)和柯基這兩個(gè)菜雞,代碼寫的一塌糊涂了,所以找了個(gè)時(shí)間,請(qǐng)他們吃了頓燒烤,給他們講了講數(shù)據(jù)結(jié)構(gòu)的知識(shí),講的興起就順手就說(shuō)了一下,一個(gè)程序員應(yīng)該會(huì)哪些內(nèi)容。

后來(lái)想了想,家里還有一堆菜雞,干脆還是再整理出一張比較簡(jiǎn)陋的圖好了。

前言:

這是IT修真院自問(wèn)自答系列第五篇篇,同樣是干貨和硬廣混雜。IT修真院系列 - 收藏夾,順手推薦一下修真院的專欄,各種IT行業(yè)的真實(shí)小故事。IT修真院 - 知乎專欄

我想了想,解釋這些問(wèn)題,其實(shí)比不上講一下我朋友“暗滅大人”的成長(zhǎng)經(jīng)歷,這樣新人們就會(huì)對(duì)自己未來(lái)幾年內(nèi)的大致走向有了一個(gè)對(duì)比和期待,方向有了,路也明確了,就看你想在什么地方停下來(lái)了。

PS:本文依然是不對(duì)任何人負(fù)責(zé),觀點(diǎn)依然偏激而且絕不客觀。

程序員的級(jí)別:程序員只需要分成三個(gè)級(jí)別。初級(jí)程序員:能夠獨(dú)立完成一個(gè)項(xiàng)目。中級(jí)程序員:能夠了解一些框架的原理,做出一些改進(jìn)和優(yōu)化。高級(jí)程序員:能夠?qū)懸恍┛蚣?,或者是一個(gè)新的語(yǔ)言。

不管是算法搜索還是網(wǎng)絡(luò)安全或者是某種新的語(yǔ)言原理,可以自由把框架兩個(gè)字替換。

這里很多定義都不嚴(yán)謹(jǐn),但是沒(méi)關(guān)系了。比如說(shuō),項(xiàng)目的代碼質(zhì)量有好有壞,效率有高有低。

但是,大致這么分,是沒(méi)錯(cuò)的。

所以,根據(jù)這三個(gè)級(jí)別,我畫出來(lái)了以上的幾個(gè)圖,希望能夠給新入門的小菜鳥們指一條路。最少也得知道自己究竟還有多菜。

不入流的程序員:本來(lái)一點(diǎn)都不想把這個(gè)級(jí)別加上的,但是有太多轉(zhuǎn)行過(guò)來(lái)的人,或者是正統(tǒng)院校的科班生會(huì)以為自己學(xué)了點(diǎn)多態(tài)多線程就已經(jīng)是一個(gè)程序員了。。

其實(shí)數(shù)據(jù)結(jié)構(gòu),算法理論,數(shù)據(jù)庫(kù),計(jì)算機(jī)網(wǎng)絡(luò)這幾門課非常非常非常重要。重要到什么程度呢,這是程序員對(duì)于一個(gè)世界認(rèn)知的開始,也是基礎(chǔ),底蘊(yùn)積累的越好,以后的成就越高。

然后就是所謂的面向?qū)ο?,或者是函?shù)式編程的語(yǔ)法什么的。

這些東西真的不算啥,會(huì)點(diǎn)語(yǔ)法跟會(huì)寫代碼完全是兩個(gè)概念。

初級(jí)程序員:初級(jí)程序員的定義是可以獨(dú)立完成項(xiàng)目。這一個(gè)定義就秒殺了大概無(wú)數(shù)個(gè)工程師,很多人工作三年到五年也就是一個(gè)初級(jí)程序員而已。

能獨(dú)立完成項(xiàng)目,就需要懂好多東西了。從業(yè)務(wù)的角度來(lái)說(shuō),要懂很多業(yè)務(wù)邏輯,能夠理解并且抽象成模型轉(zhuǎn)換成代碼,要會(huì)測(cè)試,要會(huì)發(fā)布,要會(huì)改Bug,要懂版本管理,要知道代碼規(guī)范。

還需要懂一些框架和簡(jiǎn)單的基本原理。

以及團(tuán)隊(duì)規(guī)范和協(xié)作的內(nèi)容。這些東西是很多培訓(xùn)機(jī)構(gòu)教不了你的,七八流的公司不但教不了你反而會(huì)讓你誤入歧途的。

中級(jí)程序員:中級(jí)程序員就是一個(gè)公司里的骨干了。小組Leader或者是架構(gòu)師或者是老油條。眼里冒著精光頭頂禿了一半的樣子。

他們項(xiàng)目經(jīng)驗(yàn)豐富,也需要帶Team,所以需要制訂一些編碼規(guī)范,開發(fā)流程。有時(shí)候嫌棄哪個(gè)框架不好用了,還需要自己改一些源碼。

通過(guò)對(duì)這些框架的原理都要了解的比較深入,各種算法和原理了如指掌。不同的框架選型和應(yīng)用場(chǎng)景應(yīng)該是心知肚明。

當(dāng)然有一些人并不是這樣,喜歡總牛角尖,永遠(yuǎn)不知道什么時(shí)候該用什么事,往往是為了解決一個(gè)簡(jiǎn)單的問(wèn)題引入了一堆復(fù)雜的技術(shù)最后反而成了專家。

設(shè)計(jì)模式和架構(gòu)的東西是必須要懂的,很多時(shí)候都已經(jīng)在考慮的是擴(kuò)展性和兼容性。怎么樣把程序和架構(gòu)做好。

高級(jí)程序員:這是比較稀少的物種。世界頂級(jí)的程序員才稱得上,眾多開源框架的造物者才配得上高級(jí)程序員的名號(hào)。

他們對(duì)各種底層的協(xié)議和原理都比較了解,甚至本身就是某種協(xié)議的起草者或發(fā)起人。

我甚至都沒(méi)見(jiàn)過(guò)這些人。

所以也不用關(guān)心這些人怎么樣了,基本上都不會(huì)輪到你。

后記:我沒(méi)怎么分前端后端。想了想大部分都是相通的。其實(shí)每一個(gè)職業(yè)需要掌握的技術(shù),我都有整理過(guò)初級(jí)工程師的技能表。

不過(guò)還需要慢慢完善。

另外對(duì)于大部分轉(zhuǎn)行的人來(lái)說(shuō),找機(jī)會(huì)把自己的基礎(chǔ)知識(shí)補(bǔ)齊,邊工作邊補(bǔ)基礎(chǔ)知識(shí),真心很重要。


今天的分享就到這里啦,歡迎大家點(diǎn)贊、轉(zhuǎn)發(fā)、留言、拍磚~

????????技能樹.IT修真院

????????“我們相信人人都可以成為一個(gè)工程師,現(xiàn)在開始,找個(gè)師兄,帶你入門,掌控自己學(xué)習(xí)的節(jié)奏,學(xué)習(xí)的路上不再迷?!薄?/p>

????????這里是技能樹.IT修真院,成千上萬(wàn)的師兄在這里找到了自己的學(xué)習(xí)路線,學(xué)習(xí)透明化,成長(zhǎng)可見(jiàn)化,師兄1對(duì)1免費(fèi)指導(dǎo)。快來(lái)與我一起學(xué)習(xí)吧~

我的邀請(qǐng)碼:17742750,或者你可以直接點(diǎn)擊此鏈接:http://www.jnshu.com/login/1/17742750

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容