一年前,Suneel Chakravorty刚从大学毕业并且决定踏入社会,他有很多初始的想法并想将它们实现,但它不懂编程。在听从 Yipit 联合创始人Vin Vacant 的建议之后,Chakravorty开始自学编程。现在他终于学会了足够多的知识来自己实现产品原型,一路走来,非常坎坷。他说(中文),“如果你在跟我同样的路上,我希望你能避免犯跟我同样的错误。错误0:我花了太多时间学习那些我不是特别需要的东西上;错误1:我没有立马开始写代码实践。
消息来源:Solidot
附:原文,来自伯乐在线
一年前,我刚从大学毕业并且决定踏入社会。我有很多初始的想法并想将它们实现,但我不懂编程。
听从 Yipit 联合创始人Vin Vacant 的建议之后,我开始自学编程。
现在我终于学了足够多的知识来自己实现产品原型,一路走来,非常坎坷。如果你在跟我同样的路上,我希望你能避免犯跟我同样的错误。
错误0:我花了太多时间学习那些我不是特别需要的东西上
有如此多的技术,又有那么多的相互矛盾的观点以至于你很难判断什么是重要的,我根本就不知道如何开始。在Hacker News、 Quora、 Stack OverFlow上看了一大堆最流行的文章之后,我简直要疯了。下面是大杂烩清单:
HTML、CSS、 AJAX、 PHP、 Javascript、 Heroku、 Celery、 SQL、jQuery、 Django、POSTGRES、 nodeJS、 BackboneJS、Ruby、 Rails、 MongoDB、 Python
在这些技术中,我不知道哪些我需要学哪些不需要学,所以我试着把它们全部学习一遍。
我当时本应该做的:我本应该缩小这个清单,只挑出我构建原型所需要的技术。
最终,我搞清楚了这些技术就是干什么的,然后把这个清单缩减为如下:
0. HTML:构造一个网页的内容(如链接,标题等元素的选择)
1. CSS: 内容的样式(如鼠标移至链接上时改变它的颜色)
2. Javascript:使内容变成动态的(比如用户点击链接的时候弹出一个菜单)
3. jQuery: 一个包含容易使用插件的javascript库(如幻灯片效果显示图片)
4. Python: 处理数据(如从数据库中读取用户购买记录或推荐用户可能喜欢的产品)
5. Django: 一个用Python编写的web框架可以将以上的技术串联起来。并且提供了很多内建的、非常必要的功能。(如用户登录,以及用python容易地任何数据库)用框架能让你的工作大大简化。
错误1:我没有立马开始写代码
我花了太多时间阅读编程书。我不确定我读的那些东西是对我的项目有直接帮助的。更糟糕的是,我没有将书中的东西应用起来,最后发现没什么效果。
我本应该做的:在一开始我就应该通过一些小的项目来进行学习。我之后发现了一个非常有效的学习方法:
0. 在看了一些教程(比如 Yipit 的开发人员 David Sinsky 分享的文章)之后积极地编写例程。
1. 挑选一些简单的项目,然后编码实现它。例如一个简单的博客,或者一个投票的应用。
2. 多次重复第二步。
3. 构建你的初始项目原型。
这样做有很多好处,你可以很快地克服关于编程的任何恐惧。你将会看到你的劳动成果。最重要的是,你能够很快培养构建产品所需的技术。
英文原文:Suneel Chakravorty 编译:伯乐在线 – @贱圣OMG