对于绝大多数非程序员来说,学习如何编程是一项不可能完成而且令人畏惧的任务,好在有大量免费的在线资源,当然自学成才没那么容易。
我开始学习写代码是在今年的早些时候,这里我可以分享一下自己的一些经验,构建一套你自己的原型没有想象的那么困难。事实上,如果你在两个月內不落下一天,拥有一个完备的原型是完全可行的。
下面,我将罗列出一个简单的学习路线:在八个周末內软件开发从零到拥有一个工作原型。
把web栈介绍给自己听(10分钟)
陌生术语的存在使得任何主题似乎比实际上的更加混乱。Yipit的创始人/CEO Vin Vacanti 做了一个很好的概述,关于你将要熟悉的语言中术语的理解。
掌握入门级的Python和通用编程技巧(1个周末)
笨方法学Python:别在乎这个标题,简明的格式使学习基本的概念非常简单,很多章节所花时间还不到十分钟。然而,我发现有些高级课程并不好,所以我建议42课后的课程不必往下学习了。
Google Python课程:阅读笔记,看视频,在不看答案的情况下完成所有相关练习。挣扎于不断出错的练习是最好的学习经验,如果我只是看着答案学习的话,远没有这么多收获,期间我尽力说服自己要理解概念。
上面这两个资源有些部分是交叉的,有些是互补的。我建议同时看这两份资源的开头部分再来决定自己更喜欢哪种。一旦完成了其中的一个任务,再略读另外一份,查找那些还不是完全理解的概念,并从中获得一些额外的习题练习的机会。
理解入门级的Django(1个周末):
删除所有代码
重新学习该教程
第一次学习该教程完全按照说明一步一步操作而不理解每个步骤的原理,因为这对我来说完全是陌生的。第二遍我不再关注概念的新奇,而是把精力放在理解每个部件是如何一起工作的。
深入理解Python及通用编程概念(2-4个周末):
Udacity的CS课程:Udacity的课程一半分为7个课时(每个课时2-3小时)你可以按照自己的进度来学习。(我超级喜欢Udacity的教学方式,建议中级编程班或web开发班能跟进者两个月的课程)
MIT的CS课程的第一单元:教的很棒,老师也出乎意料的平易近人。
同样的我会分别看看,哪个才是你最喜欢的。
实践构建简单的web应用(1个周末):
根据例子用Django做些练习,这些练习仍然提供了一些指导以至于我觉得是一种好的方式去开始学习。
建立原型(1个周末):
用一个周末建立原型?是的,你会很难为情成什么样子呢(至少我是的),但是这就是全部。
就是这样,8个周末(或更少)你已经从学会从零到能够正常运作的原型了,事实上事情并非如此艰巨。
下一步:
很明显不用说,在建立简单原型上需要的知识和对一个真正合格的软件工程师所需要的知识和经验有着巨大的差别的。如果你想学习关于构建大规模的web应用程序,想获得专业的web开发经验,在快速增长的创业公司如Yipit是一个伟大的下一步。
如果你很聪明,能努力工作,富有创造惊艳的消费者web体验的热情,马上给我发邮件吧,jobs@yipit.com,我们一直在寻找牛人加入我们的团队。
ps:下面是一些可能有用的资源,如果你有其他建议,请在评论中留下你的记录。
Stanford’s iPhone development class
英文原文:David Sinsky