之前看網(wǎng)上有人在爭(zhēng)論程序員的核心競(jìng)爭(zhēng)力,主要分為正反方。

正方觀點(diǎn):

1、多年的研發(fā)工作所鍛煉的那種邏輯思維能力、探索能力、解決問題分析問題的能力。這一點(diǎn)將不僅僅使你受益于面臨新技術(shù)、新問題之時(shí),甚至也能使你受益于非技術(shù)工作。

2、對(duì)某一項(xiàng)技術(shù)的積累。程序員最有價(jià)值的不是學(xué)了多少項(xiàng)技術(shù),多少并不重要,重要的是你對(duì)已經(jīng)學(xué)了的技術(shù)掌握得有多深。學(xué)十樣技術(shù),各個(gè)都不精,還不如學(xué)一樣技術(shù),十年如一日地鉆研,練就這項(xiàng)技術(shù)深厚的功底。

反方觀點(diǎn):

1、長年的工作可能導(dǎo)致你的思維定勢(shì),無法接受新的知識(shí),新的解決問題的方法,應(yīng)該時(shí)??偨Y(jié)更新。

2、單一的技術(shù)很容易被淘汰,多掌握幾種技術(shù)更靠譜。

這真是公說公有理婆說婆有理,這正反雙方的觀點(diǎn)都沒有錯(cuò),二者一結(jié)合,就充分運(yùn)用了辯證的觀點(diǎn)來分析問題嘛。

根據(jù)國外開發(fā)者平臺(tái) HankerRank 發(fā)布的2018 年開發(fā)者技能調(diào)查報(bào)告顯示,程序員求職時(shí)必備技能相關(guān)的調(diào)查結(jié)果如下:

求職時(shí),必備的核心競(jìng)爭(zhēng)力!

1、問題解決能力(不管企業(yè)大小,都排第1)

2、編程語言熟練程度(不管企業(yè)大小,排第2)

3、調(diào)試(不管企業(yè)大小,排第3)

4、系統(tǒng)設(shè)計(jì)(綜合排第4)

5、性能優(yōu)化(綜合排第5)

……

相比中大型公司,小公司更為看中開發(fā)者對(duì)框架的熟練程度。因?yàn)樾」咀非罂靻?dòng),框架有助于開發(fā)者更快速地的推送代碼。

既然我們知道了程序員的核心競(jìng)爭(zhēng)力,那么我們?cè)撊绾翁嵘陨淼暮诵母?jìng)爭(zhēng)力呢?下面就最核心的“問題解決能力”和“編程語言熟練程度”來交流一下。

01

問題解決能力:

問題解決的能力,是程序員立業(yè)之本,是程序員最核心的競(jìng)爭(zhēng)力。

程序員的解決問題能力不是天生的,自然得靠后天的經(jīng)驗(yàn)積累。我們工作中會(huì)遇到各種各樣的問題,比如需要去跟蹤調(diào)試產(chǎn)品所產(chǎn)生的bug,又比如說使用第三方組件所遇到的一些問題,再比如說使用一些插件或者IDE所產(chǎn)生的一些編譯問題。問題就像被埋伏的地雷,隨時(shí)都會(huì)爆炸,所以需要提升問題解決的能力。如何提升呢?

(1)主動(dòng)嘗試解決問題

當(dāng)遇到問題時(shí),需要自己去嘗試解決,給問題下個(gè)定義,運(yùn)用排除法,嘗試尋找問題的根源。只有主動(dòng)嘗試解決問題,才能在工作中提升自己解決問題的能力,否則就會(huì)形成依賴,且逐漸喪失主動(dòng)思考的能力。

(2)學(xué)會(huì)提問

當(dāng)遇到無法靠自己解決的問題時(shí),我們需要學(xué)會(huì)提問。提問也是一門技能,怎樣提問能讓他人快速get到你的需求非常重要。所以,提問要有針對(duì)性,描述問題要清晰。

(3)學(xué)會(huì)總結(jié)

經(jīng)驗(yàn)是分散的,只有多總結(jié)才能把零散的經(jīng)驗(yàn)形成系統(tǒng)的技能。問題解決能力的形成并非一朝一夕,需要長期總結(jié)。

02

編程語言的熟練掌握

有一定經(jīng)驗(yàn)的程序員,問他們哪種語言更簡(jiǎn)單,答案多半是:語言都是相通的,當(dāng)你熟練掌握了一兩門語言之后,其他的學(xué)起來也會(huì)很快。

熟練的掌握一兩門編程語言,關(guān)注語言的特征

語言特征與計(jì)算機(jī)配置類似。在選擇計(jì)算機(jī)的時(shí)候,沒人會(huì)說戴爾的計(jì)算機(jī)就一定是最好的,他們會(huì)說這臺(tái)計(jì)算機(jī)的CPU是Intel i7處理器,比i5好,DDR3的內(nèi)存比DDR2快很多,SSD硬盤的讀寫速度比普通硬盤快很多,ATI的顯卡性能很差,等等。

編程語言也是如此。每種語言都有一組通用的特征,例如變量、函數(shù)、條件語句和循環(huán)語句。只要你學(xué)習(xí)一種編程語言,并掌握基本概念,就可以將這些知識(shí)應(yīng)用到其他語言中。

有人說,搞IT是越老越吃香,也有人說,大部分程序員已經(jīng)步入中年危機(jī)了。其實(shí),只要程序員在工作中注重自己的核心競(jìng)爭(zhēng)力的提升,提高自己的不可替代性,就能輕松應(yīng)對(duì)中年焦慮了。