在知乎上看到一個(gè)問題,如何確定自己是否適合做程序員?
好多答主都說需要智商高,
對(duì)計(jì)算機(jī)有興趣愛好,
抽象能力要好。
……
啊呸,也不知道這些剛下飛機(jī)的答主是不是程序員。
我在 it 行業(yè)工作了三年,換了幾家公司,所以就以我三年程序員的經(jīng)歷,來說說做一名程序員需要什么。
1、喜歡運(yùn)動(dòng),保持良好的身體去扛住 996
2、極強(qiáng)的心理素質(zhì),看著每天洗臉盆里的頭發(fā)絲毫不慌
3、強(qiáng)大的邏輯思維能力,便于和產(chǎn)品撕X
4、獨(dú)到的審美,可以瞬間在優(yōu)衣庫中挑出最靚的格子衫
5、會(huì)修電腦、破解QQ密碼,不解釋!
6、忍受孤獨(dú),實(shí)力單身
7、家里有礦,過了 30 歲就要準(zhǔn)備退休的事了
如果你同時(shí)符合這七種要求,那你明天就可以來上班了。
咳咳,好了,玩歸玩,鬧歸鬧,別拿職業(yè)開玩笑,下面認(rèn)真說一說做一名程序員都需要什么。
1、自學(xué)能力 + 持續(xù)學(xué)習(xí)
自學(xué)能力對(duì)于程序員來說是非常重要了,IT 需要的知識(shí)技術(shù)太多了,你工作用到的知識(shí),大部分學(xué)校都沒有專門的課講授,更別指望工作后有誰專門教你,有的最多是技術(shù)分享,做一些介紹,想要掌握還是需要自己私下學(xué)習(xí)。
當(dāng)然了,大部分技術(shù)工作都需要自學(xué)能力,但是程序員行業(yè)尤其重要。
重要到什么程度呢?
這么說吧,我剛工作那會(huì)用的框架,三年后基本都沒人用了,如果想繼續(xù)混下去,就要跟著趨勢學(xué),否則就要被淘汰。
在工作中還會(huì)遇到非常多的問題,如果不是靠自己學(xué)習(xí)和鉆研,去解決大部分問題,那剩下的路就很難走了。
同事也都有工作,沒有人會(huì)一個(gè)一個(gè)問題給你解決,都是自己查方案,自己學(xué)習(xí),自己解決。
所以,沒有持續(xù)的自學(xué)能力,千萬別做程序員。
2、習(xí)慣總結(jié)積累 + 輸出
上面說了,程序員在工作中會(huì)遇到很多問題,所以你的經(jīng)驗(yàn)大部分來自于踩坑。
如何判斷一個(gè)程序員能力高低?
可以從他對(duì)問題的看法,解決思路,還有對(duì)一個(gè)方案可能出現(xiàn)的問題這些方面判斷。
那你問這又和總結(jié)積累有啥關(guān)系呢?
有關(guān)系,程序員能力高低不是天生的,也不是職業(yè)時(shí)間越長能力越高。主要還是在工作中的總結(jié)積累,碰到一個(gè)問題,總結(jié)下來,加深自己印象,下次遇到同樣的問題可以快速想起解決方案。
光靠大腦記憶是有限的,并且沒有記錄,印象會(huì)更淺,每天都有問題,很容易忘了以前遇到同樣的問題是怎么做的。
如果你能把積累下來的問題,總結(jié)成文章,用清晰的邏輯表達(dá)出來,再給別人講明白,那你的能力就會(huì)有很快的提高了。
一般來說,程序員稱自己”碼農(nóng)“都是自嘲,但是如果你不會(huì)總結(jié)積累,那可能就是真的碼農(nóng)了。
3、專注力好
寫代碼和寫文章一樣,也是需要狀態(tài)的,狀態(tài)好,你就會(huì)思如泉涌,狀態(tài)差,輕則寫出來的代碼質(zhì)量很差,重則 bug 成山。
當(dāng)你調(diào)試問題或者捋思路的時(shí)候,可能需要花20分鐘進(jìn)入狀態(tài),此時(shí)如果你被一些因素打斷了,那你的思路可能就斷了,需要再花一些時(shí)間重新捋邏輯。
當(dāng)你反復(fù)這個(gè)過程,等一天結(jié)束的時(shí)候你就會(huì)發(fā)現(xiàn)今天什么也沒干。不過專注力是可以訓(xùn)練的,而且上班程序員一般也不會(huì)有很多外界干擾,自己注意好就可以。
4、英語四級(jí)
也不一定非要英語四級(jí),但是至少要知道一些基本的專業(yè)詞匯,寫代碼的時(shí)候起名也能用上含義差不多的單詞,如果你工作之后還用拼音做變量,那可能就要被同事鄙視到天上去了。
四級(jí)過了,起碼能稍稍看懂英文文檔,工作之后好多地方還是需要看英文文檔的,例如 github 上面的一些文檔,stackoverflow上提問的問題,谷歌官方文檔等等。
總是指著翻譯軟件或者在線翻譯,效率很低的。
5、深入淺出的能力
你需要把專業(yè)的知識(shí)用簡單的語言解釋給非專業(yè)的人。
你的框架可能很復(fù)雜,技術(shù)很專業(yè),但是程序員不光和電腦打交道,還要和產(chǎn)品、設(shè)計(jì)、運(yùn)營同學(xué)等對(duì)技術(shù)了解不多的人打交道,在對(duì)需求的時(shí)候,就需要你用他們能理解的話,解釋你想表達(dá)的技術(shù)方案。
還有在公司內(nèi)部做技術(shù)分享的時(shí)候,雖然大部分都是做技術(shù)的同學(xué),但是技術(shù)??赡懿灰粯?,如果你一直基于自己的認(rèn)知講,那對(duì)完全不了解的人可能是折磨。
我參加過多個(gè)技術(shù)分享,絕大部分的人都是基于所有人的技術(shù)棧都一樣講的,搞得我大部分時(shí)間都在刷手機(jī)。
好了,說了五點(diǎn),也沒有提要有興趣愛好,為什么?
因?yàn)檫@不是必要條件,并且可能百分之八十的程序員都不是基于興趣愛好才選的這個(gè)行業(yè),在我身邊看到的真正對(duì)技術(shù)感興趣,是自己的興趣愛好所在的,真的是少之又少。
但這并不影響我們熱愛這個(gè)行業(yè),也正所謂,干一行愛一行。
最后說明一下,上面的段子基本都是自黑,程序員職業(yè)其實(shí)也是正常的職業(yè),就和每個(gè)職業(yè)都一樣,都有外界的一些誤解。我身邊的同事基本都沒有格子衫,大部分也都有另一半,
為啥呢?
還不是程序員是一群優(yōu)秀的人嘛!
本文首發(fā)于公眾號(hào)「后知后jue」,微信搜索關(guān)注回復(fù)「1024」,你懂的!