南通青鳥IT教育告訴你要想成長為一名優(yōu)秀的程序員,其過程是艱巨的,其道路是漫長的。
不經(jīng)過悉心栽培,花兒開不出鮮艷的花朵;不經(jīng)過時間的歷練,幼苗長不成參天大樹。在軟件行業(yè)更是如此。
程序員必須具備的性格特點
最基本的要求是能自主地編程。只有在經(jīng)過多年的學(xué)習(xí)實踐之后,我們才能超越寫一些簡短程序的基礎(chǔ)水平。而僅靠上課或者看書是做不成能力卓群的程序員的,不斷的練習(xí)和實踐才是*的正途。學(xué)校中那些所謂的CS程序課其實并不涉及如何編程,它主要教授的是理論,這和很多外行人的想法相悖。
作為一個程序員,還得有執(zhí)著鉆研的精神,能做到不懈地排除故障、開發(fā)軟件和修復(fù)bug。特別是某個階段經(jīng)常會有毫無進展的感覺,而這個時候唯有堅忍不拔的品質(zhì)才能支持我們排除萬難再接再厲。這也是一道門檻,將很多不具備這一品格的程序員攔之門外。
擅長數(shù)學(xué),善于解決問題。編程就是解決問題的過程。
有很棒的短期(和長期)記憶能力。這樣就能在大腦中同時處理多個事情,并且記得月前自己寫過什么代碼。
超強的理解能力。理解事物是如何相互作用的,理解為什么這么設(shè)計和架構(gòu)的原因。
關(guān)注細節(jié)。在編程中真正演繹了什么叫做細節(jié)決定成敗的真理。在某處忘寫了一個分號?程序就不會編譯!拼錯了某個函數(shù)名?那你的程序的運行結(jié)果可能就會與你原先設(shè)想的大相徑庭。
上述性格特點方面的要求就像大浪淘沙一樣會淘汰掉很多人。
程序員必備的主要技能
深刻理解數(shù)據(jù)結(jié)構(gòu)和類,知道什么情況下以及怎么運用它們。
熟悉已經(jīng)開發(fā)完成的庫,這樣就可以站在巨人的肩膀上,不必重新浪費時間了。
熟悉各種基礎(chǔ)和高級的算法,理由同上條。
了解硬件的原理,這樣就能正確管理內(nèi)存避免內(nèi)存溢出,或者正確消除無關(guān)數(shù)據(jù)以加快處理進程。
當(dāng)然還得會編程。*知道數(shù)據(jù)包格式、TCP/ IP、HTML、CSS、用戶界面設(shè)計和數(shù)據(jù)庫等,因為程序不能孤立運行。
我們需要學(xué)習(xí)很多東西,但是還有一點,你必須謹記在心,事物是在不斷變化發(fā)展的。我們只有專心致志竭盡全力地學(xué)習(xí),才有可能在這一行出人頭地大放光彩。三天打魚兩天曬網(wǎng),是行不通的。
程序員的工作和生活環(huán)境
安靜,不被打攪的環(huán)境。當(dāng)我們在編程或者學(xué)習(xí)編程的時候,一旦中斷,想要重拾思路并不是那么容易的。比方說,手機響了,然后你可能要花上15分鐘才能繼續(xù)沿著原先的思路走。但是很多工作和家庭環(huán)境都很難提供這樣的條件。
能在忙碌中權(quán)衡輕重然后做決策。當(dāng)然你也可以為每一種情況單獨寫一個程序,不過這不大現(xiàn)實,所以要有側(cè)重點。再則,當(dāng)落后于進度時,*能快速實現(xiàn)程序并運行起來。
最最重要的一點,編程語言的流行時間是5年,5年之后,你看好的語言可能就沒人用了。我們得與時俱進。
管理問題也是重中之重
很多管理人員將程序員當(dāng)做工廠工人一樣對待,很多并沒有編程天賦和商業(yè)能力的人站在了項目責(zé)任人的位置上,在他們眼中,程序員就像機器上面的齒輪一樣,干的事情毫無技術(shù)含量。一旦發(fā)現(xiàn)項目超出預(yù)算或者落后于計劃進度,就要求程序員無償加班,結(jié)果往往只能是出來設(shè)計拙劣測試不完全的產(chǎn)品。事實上,程序員是技術(shù)人員,要是你想得到關(guān)于項目的明智建議,那么請教專家級程序員才能得到最棒的結(jié)果。
由于某些管理層辨別不了程序員之間的優(yōu)劣,所以有能力的人就會發(fā)現(xiàn)他們做的貢獻更大但是得到的薪酬卻沒有更多——最重要的是,他們總是要做更多的工作以彌補拖后腿的那些家伙。而當(dāng)偉大的程序員提出建議以望改進的時候,那些管理層則會覺得這是在對自己權(quán)威的挑戰(zhàn),而會選擇“除之而后快”。
這種情況舉不勝舉。這也是為什么很多優(yōu)秀人才不愿意待在這一行業(yè)的原因——特別是在有其他就業(yè)機會的情況下。而且做程序員很能鍛煉人,哪怕是最普通的,轉(zhuǎn)行之后也能干的風(fēng)生水起。
真正優(yōu)秀的程序員不喜歡隨便跳槽
找程序員很容易,但要想發(fā)現(xiàn)優(yōu)秀人才就很難了。劣質(zhì)的程序員似乎總是在找工作,而優(yōu)秀者,只要這家公司能發(fā)現(xiàn)他們,肯定會不惜一切代價留住他們,所以他們不會去頻繁找工作。而當(dāng)他們?nèi)フ夜ぷ鞯臅r候,大多規(guī)劃長遠,所以會顯得很挑剔——這就是為什么很多公司都會不約而同地表示“沒有優(yōu)秀程序員可用”的原因——因為找到的盡是些“普通貨色”。
正如有句話說得好,優(yōu)秀程序員的價值是普通程序員的幾倍,而劣質(zhì)程序員則是負值。要想將普通和劣質(zhì)的程序員改造成優(yōu)秀人才,其道路不可謂不艱辛,不可謂不險阻,甚至幾乎是不可能的——自然也不值得任何初創(chuàng)公司在他們上面進行投資了。
南通青鳥IT教育,專注于IT培訓(xùn)11年,給你不一樣的編程體驗!