# 技術能力
技術能力是技術簡歷里面重要的一環,一般來說簡歷閱讀者會通過這部分內容了解你的技能集(Skill set),從而構成對你的第一技術印象。
[TOC=2,2]
## 14\. 不要堆砌技術名詞
技術簡歷中一個常見誤區是堆砌技術名詞,一些求職者認為在簡歷上寫的技術越多越好,于是把自己會的、用過的、見過的甚至沒見過的技術都堆在一起,比如:
Technical Skills
* Programming Language: HTML, CSS, PHP, JavaScript, SQL, Haskell, Perl, Python, C, C++, Java, Ruby, Prolog, .NET, C#, Assembly, REXX, Verilog, R, Visual Basic, MATLAB, jQuery, Angular, SASS
* Operating System: Unix/Linux, Mac, MS-DOS, Windows 7/8, Windows Server 2003/2008/2012, z/VM
* Software: Adobe Creative Cloud Dreamweaver, Photoshop, InDesign, Audition. WordPress, OmniUpdate, Google Analytics, Eclipse, NetBeans, LaTex, Microsoft Office Suite, Microsoft Excel, Project, Visio, Visual Studio

是的,一個人可以同時掌握甚至精通多種編程語言,但一般來說這種可能性很小。當我看到這樣的技術描述,我會迅速的跳轉到簡歷的項目經驗環節,如果我無法在項目經驗里找到對應的技術,我會直接把這個簡歷篩掉。(我把它叫做“未聲明引用”(Undeclared reference):你說你精通C++,但你卻沒有C++的項目經驗,你確定不是在逗我?)
所以,不要堆砌技術名詞,技術簡歷并非多多益善,熟悉什么技術就寫什么技術,然后在項目經驗里面給出你熟悉該技術的證據(evidence),這樣會使你的簡歷更有說服力。
## 15\. 對技術進行分類
技術能力部分的另一個常見問題是缺乏分類或者分類錯誤,比如:
~~~
編程語言:C++, C#, Visual Studio, Shell, Python, Eclipse, Java
~~~

這樣的簡歷也會被直接扔進廢紙簍——連編程語言和編程環境都分不清,招你作甚。
正確分類后就清楚了很多:
~~~
編程語言:C++, C#, Java, Python, Shell
開發環境:Visual Studio, Eclipse
~~~
## 16\. 使用正確的技術名稱
這個原則非常簡單(甚至有點弱智)——正確拼寫技術名稱,并使用正確的大小寫。我在這里摘取了一些我見過的技術名詞錯誤:
* Andoid –> Android
* IOS, ios –> iOS
* javascript –> JavaScript
* coffescript –> CoffeeScript
* intelij –> IntelliJ
* Dikjstra –> Dijkstra

請嚴格檢查此類錯誤——這類錯誤會大大降低你的簡歷的專業性,并給人非常不好的印象
## 17\. 不要寫電腦能力
技術簡歷需要展現你的技術能力(Technical Skills),而不是電腦能力(Computer Skills),這兩個概念比較拗口,所以我在這里舉幾個例子:
* 技術能力包括:編程(C++/Java/Python),開發環境(Visual Studio/IntelliJ/Eclipse),測試(JUnit/TestNG/mockito/truth),用戶體驗(Axure/Expression Blend)等等。
* 電腦能力包括:日常辦公(Word/Excel/PowerPoint/Office),圖形界面操作系統(Windows 7/8)的使用,瀏覽器(IE/Chrome/Safari)的使用等等。
電腦能力不但會稀釋你的簡歷含金量,還會給人極不專業的感覺。不要在技術簡歷里面出現任何電腦能力——據說某公司甚至定了一個規矩,**只要在技術簡歷里面看到Office字樣就直接濾掉**(靠譜!)。
## 18\. 按照熟悉程度對技術能力進行排序
這個原則十分簡單——使用合適的詞匯描述你的技術能力,并按照熟悉程度排序,例如:
~~~
編程語言:C++, C#, Java, Python, JavaScript
~~~
就不如
~~~
編程語言:熟悉C++、C#和Java,了解Python和JavaScript
~~~
另一種方式是使用比較符:
~~~
編程語言:C++ = C# > Java > Python = JavaScript
~~~
注意:沒有必要在技術能力后面加上使用時間,比如:
~~~
技術名稱 熟練程度 使用時間
C++ 精通 8年
Java 熟悉 5年
~~~
時間沒有意義——搞技術的都明白技術的使用時間和技術的熟練程度沒有任何關系(誰知道這貨是不是用了1個月C++然后在后面的95個月不斷重復第一個月的東西?),只可惜有些HR永遠都不懂這個道理,也不肯懂。
## 19\. 不要寫過于特定的技術
什么叫做過于特定(Specific)的技術呢?舉個例子:
~~~
熟悉單例(Singleton)模式
~~~

且不說單例是不是一個好模式,單例模式有什么好熟悉的?這種東西也配寫到簡歷上嗎?至少在我看來,“熟悉單例模式”就跟“熟悉for循環”、“精通if語句”一般可笑。
## 20\. 謹慎使用精通
精通和Proficient是非常Strong的詞匯,在簡歷上寫精通類詞匯也許會幫你得到面試機會,但你要面對難度更高的面試——招聘者會通過更高難度的問題來確認你真的是精通,而不是在嘴遁。
但如果你真的精通某項技術,那就自信的寫上精通,然后用項目經歷和面試中的表現說服招聘者,這樣往往有助于你拿到Strong Offer。
## 21\. 使用項目經驗印證技術能力
這條原則在[原則13 不要堆砌技術名詞](http://zh.lucida.me/blog/lean-technical-resume/?utm_campaign=CodeBaku&utm_medium=web&utm_source=CodeBaku_6#rule13)也有提到——你的技術能力應該在你的項目經歷中得到**全部**體現,技術能力展現你的技能集(Skills Set),而項目經驗為其提供證據(Evidence)。打個比方,如果你提到你熟悉C++,那么你就需要在項目經驗中提到C++,否則我認為你在說謊或者忘記把C++的項目經驗寫在簡歷上,說謊和健忘,兩者都不是好事。