以下的列表是來自Quora網友回覆的歸納總結。譯者在有些技能下面添加了簡明教程與技巧的文章,另外也推薦了一些相關聯的簡明課程。
技術技能
1)版本控制:Git、Github 和 SVN(鏈接: Git – Getting Started )
譯註:推薦這個交互式的 Git 入門資源,號稱 15 分鐘就夠了。入門課程推薦《版本管理工具介紹—Git篇》和《版本管理工具介紹—SVN篇》。
2)正則表達式
譯註:推薦《55分鐘學會正則表達式》
3)AWK
譯註:《「sed & awk」讀書筆記之 awk 》
4)sed
譯註:《「sed & awk」讀書筆記之 sed》
5)Grep
6)學習如何用 Vim 做你從來不知道可以這樣的事情
譯註:推薦閱讀《簡明Vim練級攻略》和《25個Vim教程、視頻和資源》
7)做一個爬蟲,可以抓取一些網頁並能解析一些基本數據
譯註:向熟悉Python的朋友推薦這個爬蟲框架《Scrapy:Python的爬蟲框架》和一篇入門教程《Scrapy 輕鬆定製網絡爬蟲》
8)做一個更大的爬蟲,必須填寫一到兩個表單
9)做一個簡單的線性代數庫(矩陣、向量、乘法)
10)向上面這個庫中增加“奇異值分解” SVD
(注:奇異值分解(singular value decomposition)是線性代數中一種重要的矩陣分解)
11)向這個庫中增加矩陣求逆
12)向這個庫中增加最小二乘法
13)確保你的庫能高效處理稀疏數據
14)學習如何使用 Python 中的列表
譯註:推薦《Python入門》
15)註冊一個 StackOverflow 帳號,學習如何使用該站點
16)閱讀你最喜歡編程語言的手冊
17)自己實現一個簡單的機器學習算法,包括完整的流水線
譯註:推薦閱讀《國外程序員整理的機器學習資源大全》
18)學習如何在 Excel 中做一個簡單的線圖
19)安裝 Eclipse
20)學習 NoSQL 數據庫的基本功能
譯註:推薦閱讀:《8種Nosql數據庫系統對比》
21)學習 SQL 的大部分基本功能
譯註:推薦閱讀《十步完全理解SQL》
22)理解 SQL 和 NoSQL 之間的區別(優點、弱點、限制,使用場景,如何使用,爲什麼,等等)
23)熟悉 Linux 系統
譯註:推薦課程《Linux Guide for Developers》、《Linux達人養成計劃
I》和《Linux達人養成計劃 II》
24)學習一到兩個排序算法。(快速排序和合並排序)
譯註:推薦兩個資源《VisuAlgo:通過動畫學習算法和數據結構》、《舊金山大學數據結構和算法的可視化學習工具》
25)學習 D3.js 庫
譯註:推薦課程《使用D3製作圖表》
26)學習給代碼做單元測試
27)瞭解一些 AWS 服務,還有其 API(根據你的語言喜歡來選)
28)基本圖論
29)一天一個算法
譯註:推薦關注這個包括上百篇算法文章的列表。
30)理解分佈式處理和分佈式數據存儲的需求和挑戰(basics of CAP Theorem, MapReduce 算法, MySQL 或 PostgreSQL 數據庫的集羣)
31)具體落實到 Python
譯註:推薦《Python入門》
- 仔細閱讀 Python 的內置函數,理解如何在命令行玩轉這些內置函數
- 通過遵循Flask 指南或修改 Tornado 示例,來創建一個網站
- 學習 itertools 模塊
32)玩一玩 CheckIO
譯註:checkio是一個通過遊戲學習編程的站點。另外,同時推薦另外一個寓學於樂的網站CodeCombat
33)學習如何編輯維基百科的文章,修改語法問題,或依照維基媒體的原則(比如觀點中立)來修改
34)學習用 Markdown 寫作
35)學習 LaTeX、BibTex 和 pgfplots
36)學習如何在命令行下工作
譯註:《每個Linux用戶都應該瞭解的命令行省時技巧》
37)學習 JavaScript (Link: Eloquent
JavaScript)
譯註:推薦兩門免費的課程《JavaScript入門篇》和《JavaScript進階篇》
38)如果熟悉 OOP,那可以學習設計模式
譯註:《23個設計模式的簡明教程》
39)搞個樹莓派板子深入研究
非技術的技能
1)搞搞園林
2)釀啤酒(譯註:沒條件的童鞋,推薦試試釀米酒)
3)體驗遠離計算機的生活
4)學電焊
5)學打字
6)約會