程序員必備的十大基本技能及十三項軟技能

新手程序員必備十項技能

拉勾導讀:初出茅廬的你帶著仍殘留墨香的畢業證書踏上工作崗位,馬上就被書上沒寫的規則和各種繁雜的日常事務來了個下馬 威。這樣的故事實在是司空見慣,編程工作也不例外。沒有幾個學生能 100% 為自己的第一份真正的工作做好準備(開發人員求職神器:URL)。如果你不想成為其中之一,請學學以下這 10 項無需手把手指導就能學會的基本技能:

1、版本控制系統(VCS)

VCS 也許是計算機課程最大的疏漏。這些課程光記得教如何寫代碼,但卻往往忘記教學生如何去管理代碼。每一個程序員都應該懂得利用 Git 或 Subversion 有效地創建 repository(倉庫),編輯與提交代碼,進行分支與合并,了解項目工作流。

2、學會寫作

身為程序員要寫的不只有代碼。你還要寫項目的發布說明,給版本控制寫提交消息,在系統里面寫漏洞報告。這些和許多地方都需要清晰有效的文字交流—但這個技能計算機科學卻很少強調。

3、正則表達式

正則表達式本身就是一門語言,每一個現代程序員都要擅長。每一門現代語言都支持正則表達式或者有相關標準庫。如果代碼需要校驗某字符串是否含有 5 個字符、1 個破折號和 1 個數字,你應該馬上就能寫出 /^[A-Z]{5}-\d$/。

4、庫的使用

現在已經是 2014 年,所以沒人需要用正則表達式從 URL 析取主機名了。因為每一門現代編程語言都有執行常用功能的標準庫。

程序員需要明白,那些經過開發、測試和調試的代碼通常要比自己重新寫的代碼更好。更重要的是,無需編寫的代碼實現起來要快得多。

5、SQL

很多人的 SQL 都是在工作中學會的。數據庫怎么會是選修課呢?有不用數據庫的嗎?

把 數據存進平面文件的時代已經結束了。一切東西都要進出數據庫,而 SQL 則是存取數據的語言。這是一門說明性語言,不是程序語言,所以用它來解決問題時需要新的思考方式。每一個程序員都應該了解數據庫標準化基礎,能夠執行 SELECT(及 INNER、OUTER JOIN)、INSERT、UPDATE 和 DELETE。

6、會用IDE、編輯器及CLI工具

只懂用鋸子的木匠永遠也無法出師,所以計算機專業畢業的人只懂 Notepad 或 pico 令人驚詫。編程工具幫助操縱代碼及其他數據,令程序員生活變得容易。所以每一個程序員都應該知道命令行、shell 腳本、find、grep 及 sed 的使用。

7、調試

每一個程序員都應該知道利用交互式調試器或在代碼中點綴一些輸出語句來調試程序。通過逐步求精來跟蹤問題的能力實在是太重要了。

8、防錯性編程

錯誤總是難免的,哪怕是明星程序員也不例外。失控是世界的常態,出錯毫不奇怪。防錯性編程正是理解了這個事實。如果東西不會不出錯,我們就不會檢查文件打開成功與否,不會檢查客戶 ID 是否合法數字,不用測試代碼是否允許正確。

程序員需要知道,編譯器告警是有用的工具,可讓我們生活得更舒適,而不是要避而遠之的麻煩事。每一個程序員都應該知道為什么每一個 PHP 程序都要這樣開頭:

1set_error_reporting(E_ALL)

每一個 Perl 程序都要寫上這些語句:

1use strict; use warnings;

9、團隊協作

很少編程工作會讓你自己一個人完成,如果你經常這么做,智力會受損,表現會變弱。你的代碼必須與別人的交互或者混合。再有才的程序員,如果無法與別人協作,都會給項目造成負面影響,并迅速成為組織的負擔。

10、利用現有代碼

在學校的時候,每一次作業都是一個新項目。但現實世界不是這樣的。對于剛工作的人來說,所接到的第一項任務往往是修改代碼漏洞。然后,再在現有代碼庫的基礎上為現有系統增加一個小功能。設計新代碼那是幾個月后的事情,如果幸運的話。

做程序員,僅僅成為碼農是遠遠不夠的。下面是云和數據整理出的CTO、高層執行人員和HR共同認為程序員必備的13項技能和軟技能。

1****、Java**

2016年,開發人員掌握Java絕對不會錯。Java能力是目前為止被高層執行人員和HR譽為最頻繁的追捧技能。Java已被證明是當今市場中高度可移植和寶貴的技能。

2****、大數據**

大數據相較于去年繼續擴大,而且在這幾年里也沒有任何放緩的跡象。開發人員必須有全面的商業智能和分析產品,機器學習工具和其他可以轉移、存儲和匯總大量數據解決方案的知識。只有這樣,他們才能幫助公司存儲,交互和分析大數據,以便于做出更好的業務決策。

3****、掌握全棧**

現在許多頂級公司都在尋求可輕松應對各種技術和平臺的全棧開發人員。

4****、涉及開發運營**

熾熱的就業前景并不是考慮在簡歷中添加開發運營經驗的唯一原因:開發運營實踐會讓你成為一個更優秀的開發人員和一個更有價值的合作者。
  開發運營實踐還可以提高團隊凝聚力和業務敏捷性,這是一種能讓企業加速領先一步的邊緣技能。

5****、多樣化**

相比前幾年,現在的企業希望尋找更豐富的技能。Java和C#仍然占據市場部分份額,但是當你去看那些在上次經濟衰退之后成立的公司,那么你將看到各種類型的語言需求:Ruby on Rails,Python / Django,Node.js,以及在出現的函數式編程語言中,Scala是最普遍的。

6****、使用源**

特別是自由職業者,指向GitHub上的代碼,能夠表明你的工作完成得很好,并通過了同行審查。
  如果公司本身正在探索GitHub以便于添加技術到他們的堆棧,那么你不上誰上?

7****、敏捷**

敏捷開發應該成為2016年程序員的必備技能。熟悉敏捷和精益方法——將大項目分解成小故事,確定優先排序,適應變化,并提供最大價值。

8****、安全性**

根據研究報告,去年深受安全漏洞之害的公司知道2016年什么技術對他們而言是最有用的。
  隨著云計算使用的增長,安全性和合規性越來越為組織所擔憂,這導致了對安全,合規,治理和數據管理專家的需求熱潮。

9****、移動開發**

移動開發者備受追捧,尤其是那些可以廣泛發布自己作品的開發人員。要成為一個成功的移動開發者不是通過特定的技術技能來實現的,而是通過商務頭腦實現的。
  編寫代碼僅僅是項目的第一階段。知道如何推廣移動app,如何吸引和留住客戶,才是成功的推動力。

10****、云計算**

當涉及到云計算中的職業機會時,它并不全部意味著工具。TEKsystems說,企業希望招聘到有業務能力,包括項目管理和與供應商談判能力的開發人員,并且這將成為一種持久的趨勢之一。
  此外,我們需要更多“推動業務”類型的技能,但不太需要戰術工作,因為云供應商現在越來越對此負責。

11****、物聯網**

現在的物聯網不但作為了一種雇傭需求,也是一種天才工程師想探索的技巧。
  而且這不再只針對嵌入式系統工程師,你即使是一個Java開發人員,也可以做這個。協議如Wi-Fi Halo,以及可穿戴和IoT設備開放輕量級SDK的出現,為開發人員不再局限于顯示器和構建針對周圍事物和環境的東西打開了很多機會。我們還可以看到由于這些工具的問世,很多硬件/軟件開始協同設計。

12****、有說服力**

客戶管理技能是很重要的,特別是巧妙但令人信服的推延能力,這在發布的替代品更有價值的時候很有用。也需要能夠教育客戶關于軟件性質的口才,引導他們選擇可更好滿足他們長遠目標的做法。

13****、變通**

如果你是團隊中有著10x生產力又全棧的開發人員,那么對你的服務要求比供給更多。但是,如果你還是新手或正在轉行,那么正確的態度可以讓你的面試—留用—錄用過程大不相同。
  作為一個優秀的團隊成員,應該成為解決方案的一部分,而不是問題的一部分,愿意伸手幫助團隊成員,有一種志愿服務理念,并努力提高對團隊有價值的產品或文化。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,285評論 2 376

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,696評論 25 708
  • 本文把程序員所需掌握的關鍵知識總結為三大類19個關鍵概念,然后給出了掌握每個關鍵概念所需的入門書籍,必讀書籍,以及...
    dle_oxio閱讀 11,163評論 6 244
  • (今天好累啊,轉一篇以前的吧,那個時候屬于高能量狀態,寫的東西都是激情四射,愛意滿滿) 朋友圈上面“朋友”越來越多...
    candycoin閱讀 419評論 0 1
  • 那時無邪,年方少 花開正好 情絲千繞 時而癲狂笑 自嘲紅顏易老 皆是毒藥 后來意氣凌霄 藐群豪 風發桀驁 秦樓歌舞...
    白衣夜錦閱讀 230評論 0 0
  • 厭倦獨立博客后,很長一段時間都是依靠新浪微博來敘述我的生活,文字或圖片,三言兩語就好像把能說的都說出了,140個字...
    馮十八特曼閱讀 187評論 0 1