App下載

怎樣做一個(gè)很出色的程序員?

猿友 2021-03-03 18:03:54 瀏覽數(shù) (5948)
反饋

一、擁有旺盛的好奇心,并能轉(zhuǎn)化為求知欲

好奇心是什么東西?

其實(shí)就是人的一種想要探索未知的短暫行為。

有很多程序員或者在工作中偶然碰到了一些新概念,或者自己業(yè)余主動(dòng)探索了一些新概念。然后,覺(jué)得這些東西很好玩兒,就興起了探索的欲望,這玩意兒就是好奇心。

但小王也見(jiàn)過(guò)不少程序員,尤其是年紀(jì)大點(diǎn)的,那見(jiàn)了新概念和新技術(shù),就跟給媳婦交公糧一樣,避之唯恐不及。這對(duì)嗎?這不對(duì)。

所以,年輕程序員的好奇心,它就跟圍棋建立了先手優(yōu)勢(shì)一樣,可以不講武德,有了直線超車?yán)贤镜馁Y本。

可是,只有好奇心還不夠。好奇心這玩意兒就跟普通人看明星八卦一樣,是個(gè)人有興趣了,都能追追,沒(méi)啥門(mén)檻。

有門(mén)檻的是什么?求知欲。

這可厲害了,就像普通人追明星八卦覺(jué)得不夠,于是變身成為狗仔隊(duì),直接干成了職業(yè)的。狗仔隊(duì)要追明星隱私很辛苦的,上山爬樹(shù),裝電線桿子,啥都得干。

求知欲就類似這種,你得把好奇心轉(zhuǎn)化成一種穩(wěn)定的認(rèn)知欲望,需要堅(jiān)持不懈,需要付出辛苦,這就是門(mén)檻。

小王原來(lái)就有個(gè)同事,不知道從哪里知道了 go 語(yǔ)言,那時(shí)候,go 語(yǔ)言剛出來(lái)不久,連個(gè)成熟的編輯器也沒(méi)有。

小王這同事,人家就有那種好奇心,先去搜了搜概念,然后又研究了下 go 語(yǔ)言的技術(shù)文檔。頓時(shí),他覺(jué)得 go 很有前途,好奇心就變成了求知欲,一路跟著 go 成長(zhǎng)。工作中,也是想辦法用 go 做點(diǎn)小項(xiàng)目,小工具。

得,短短三四年,人家就成了 go 語(yǔ)言領(lǐng)域的大牛,出書(shū),講座不斷。這就是好奇心轉(zhuǎn)化成求知欲的好處。

有了好奇心,你可能就有了一個(gè)進(jìn)入新的技術(shù)藍(lán)海的機(jī)會(huì),而有了求知欲,就意味著你可能有了在藍(lán)海建立自己的話語(yǔ)權(quán)的資格。

所以,小王的那些后來(lái)發(fā)展的非常好的前同事們,大多數(shù)人都擁有這種鮮明的共性,這個(gè)共性,讓你的職業(yè)生涯很可能將會(huì)擁有別人沒(méi)有的先發(fā)優(yōu)勢(shì)。

二、 勇于嘗試新技術(shù)并能快速掌握

一個(gè)人有了好奇心求知欲就完了嗎?那不能,這可不夠。

除了好奇去探索外,你還得有把探索所得,轉(zhuǎn)化成自己經(jīng)驗(yàn)的能力。這種能力的外在表現(xiàn)就是勇于嘗試新技術(shù),而且還得快速掌握。

再舉個(gè)小王另一個(gè)同事的例子,這個(gè)同事在工作中遇到了一個(gè)問(wèn)題,就是存儲(chǔ)海量數(shù)據(jù)的問(wèn)題。那時(shí)候,還是 2008 年,這人剛畢業(yè)不到一年。他知道了 HDFS 這技術(shù),就想著能不能把這東西用到項(xiàng)目上。

可是,他只是個(gè)小年輕,人微言輕,怎么辦?他也有本事,人家利用業(yè)余時(shí)間,沒(méi)日沒(méi)夜花了一周時(shí)間,自己搞了環(huán)境,又寫(xiě)了 Demo,還寫(xiě)程序模擬了大量數(shù)據(jù)去測(cè)試。

然后把這些拿給領(lǐng)導(dǎo)看,得,有理有據(jù),最牛的是這哥們兒還弄了個(gè)像樣的圖表。

OK,徹底 KO 了領(lǐng)導(dǎo)。

這個(gè)小伙子后來(lái)逐漸成了這個(gè)項(xiàng)目中的最懂大數(shù)據(jù)的人。再后來(lái),小伙子跳槽去了百度搞鳳巢,如今人家又去了 Google,再 Transfer 到美國(guó),活得有聲有色的。

所以,有了好奇心,有了求知欲,你還得把學(xué)到的東西落地,形成自己的獨(dú)到經(jīng)驗(yàn),還得讓別人知道你掌握了它,這樣這個(gè)先發(fā)優(yōu)勢(shì)就進(jìn)一步落了地,你的職業(yè)生涯可能開(kāi)始有了自己的小地位了。

三、 用批判性思維批判下

你有了求知欲,又有了落地的能力,但是要把握好怎么落地?何時(shí)落地?

一般來(lái)說(shuō),在我們工作中,如果想應(yīng)用新技術(shù),就得找到現(xiàn)有方案的不足。有了不足,把不足作為切入點(diǎn),和領(lǐng)導(dǎo)談?wù)?,在?xiàng)目的某些小地方可以先嘗試你想搞的新技術(shù)。一般來(lái)說(shuō)也沒(méi)啥問(wèn)題。

除了找現(xiàn)有項(xiàng)目的茬,你還得明白新技術(shù)有哪些坑。

新技術(shù)一般為了快速推廣,往往夸大其詞,搞得世界沒(méi)了它就要滅亡一樣。

這時(shí)候,怎么找到新技術(shù)的問(wèn)題和不足,是至關(guān)重要的。找到不足,你既可以把控落地到項(xiàng)目中的風(fēng)險(xiǎn),也有了去當(dāng)這項(xiàng)新技術(shù) Commiter 的機(jī)會(huì),再不濟(jì)去提個(gè) Issue 刷刷存在感也是好的。這對(duì)將來(lái)職業(yè)發(fā)展都是大有幫助的啊。

那找新技術(shù)的不足就需要批判思維了。這批判性思維的前提,就是要求你能獨(dú)立思考,獨(dú)立判斷,不是做做樣子,找個(gè)小問(wèn)題就行了的。

有一陣子,小王的公司項(xiàng)目一直是用的 Spring MVC 搞 Web 項(xiàng)目。有個(gè)同事用了覺(jué)得很麻煩。為啥?因?yàn)樵?nbsp;Spring MVC 需要大量的配置,每次搞一個(gè)小項(xiàng)目都需要大量的改動(dòng)配置。如果再加個(gè) Hibernate,那配置把人要搞瘋。

于是,這個(gè)同事就想到了 SpringBoot。但是在用 SpringBoot 之前,他認(rèn)為,SpringBoot 也是剛推出不久的,肯定也有自己的問(wèn)題。于是,他就去 Google 上用 SpringBoot challenge 這種關(guān)鍵字,挖出了不少坑出來(lái)。

同時(shí),又發(fā)現(xiàn) SpringBoot 封裝的太好了,他又認(rèn)為封裝的太過(guò)易用,如果出現(xiàn)了一些底層問(wèn)題,估計(jì)不好解決。他把這些優(yōu)勢(shì)和劣勢(shì)統(tǒng)統(tǒng)搞了個(gè)報(bào)告,去申請(qǐng) SpringBoot 試用。申請(qǐng)過(guò)后,他又從各方面審視項(xiàng)目的各種不足,不斷改進(jìn)問(wèn)題。

獨(dú)立思考,以批判的眼光找到現(xiàn)有的不足,以批判性思維找到可以改進(jìn)的方向,你將在自己的團(tuán)隊(duì)中擁有自己的行業(yè)話語(yǔ)權(quán),項(xiàng)目前進(jìn)的方向也可以在你的主導(dǎo)下進(jìn)行。

四、現(xiàn)實(shí)點(diǎn),別吹牛逼

小王和小馬談到現(xiàn)在行業(yè)內(nèi)存在的一些弊病的時(shí)候,不禁搖頭嘆氣?,F(xiàn)在行業(yè)內(nèi),做事飄得多,踏實(shí)的少。

掌握點(diǎn)兒 Docker,就給你吹自己掌握了云技術(shù)。了解點(diǎn)兒 SpringBoot、SpringCloud,就告訴你精通了微服務(wù)。

可是,就小王的經(jīng)驗(yàn),真能成功的,那都是腳踏實(shí)地的實(shí)干者。

實(shí)干者們對(duì)一個(gè)項(xiàng)目,有著充分的評(píng)估,能在最壞的情況時(shí),拿出早就準(zhǔn)備好的方案。能在項(xiàng)目出現(xiàn)延期風(fēng)險(xiǎn)的時(shí)候,作出提前而精準(zhǔn)的判斷。

而這些,可不是那些夸夸其談的營(yíng)銷類、建立類、PPT 類程序員能搞定的。

需要沉下心來(lái),去了解項(xiàng)目可能出現(xiàn)的問(wèn)題的每一個(gè)核心原因。沉下心了解問(wèn)題核心,可不僅僅是給項(xiàng)目帶來(lái)好處。這東西可以直接訓(xùn)練人們處理問(wèn)題的思路,也能加強(qiáng)對(duì)項(xiàng)目風(fēng)險(xiǎn)預(yù)測(cè)的嗅覺(jué)。這兩種東西對(duì)將來(lái)團(tuán)隊(duì)管理、項(xiàng)目管理的好處就不言而喻了。

做事兒踏實(shí)點(diǎn),錯(cuò)不了。

青銅圣斗士有了第七感能打敗黃金圣斗士。你有了敏銳的解決問(wèn)題思路和預(yù)先嗅到風(fēng)險(xiǎn)的感覺(jué),就能踢開(kāi)阻擋你突飛猛進(jìn)的攔路虎。

五、啥都知道點(diǎn),關(guān)心些職責(zé)之外的

小王、小馬身邊那些成功的程序員們,做事可不是只悶頭做自己眼前這點(diǎn)兒就行了。

人家從小兵子的時(shí)候,工作除了擰螺絲,還會(huì)關(guān)心整個(gè)航母。當(dāng)個(gè)后端工程師,人家把前端的活兒也攬過(guò)來(lái),把前端框架了解的透透的。寫(xiě)個(gè)業(yè)務(wù)代碼,順便把底層框架摸了個(gè)滾瓜爛熟。

工作態(tài)度主動(dòng)點(diǎn)兒,干好自己手頭工作之余,盡可能的去多多了解整個(gè)項(xiàng)目。把項(xiàng)目弄的越熟悉,項(xiàng)目就越離不開(kāi)你,這時(shí)候,別人還會(huì)把你看成小兵子嗎?

以上說(shuō)了這么多,小王自己全都做到了嗎?沒(méi)有,知易行難嘛,小王只是像數(shù)學(xué)的極限一樣,不斷地逼近這些特點(diǎn)。小王期待自己最終也會(huì)破繭而出,能變得更加出色。


推薦好課:初級(jí)腳本算法、正則表達(dá)式、JavaScript面向?qū)ο缶幊?/a>


0 人點(diǎn)贊