以下的列表是来自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入门》
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)约会