12岁开始自学Web开发的5个经验

自从我12岁的时候,发现Microsoft Word中的“另存为Web页面”选项后,我就开始自学Web开发。我先学的是HTML,接着是CSS和JavaScript,然后是一些PHP和Rails的皮毛。 (近段时间,我投入了Meteor的怀抱。)

我也考虑过接受正式和系统的教育,但是,最后我发现:

  1. 费用太高。

  2. 我有课堂环境恐惧症。

  3. 已经学了不少,没必要学重复的东西。

自学的过程实际上并不轻松。我不但需要学习如何编写代码,还得探索学习的方法——学习如何去学习,这也是我今天要讨论的主题。

下面是我自学Web开发的五个步骤。

1.选择你感兴趣的Web开发领域。

光靠看书和看视频教程是成不了Web开发人员的。 Web开发是一个很大的领域,如果你想一下子掌握各个方面,只会让你精疲力尽,失去信心,从而半途而废。

在你掌握了这个知识领域之后,再去学习其他领域的就会简单得多——这是一个真理,你毋庸置疑。

不过,在你掌握了HTML和CSS之后,想要学什么就看你的兴趣了。也许你觉得Rails无所不在,很有用处,也许你认为JavaScript框架 有看涨的趋势。就像我现在之所以学习Meteor,是因为我喜欢它的实时功能。理由,其实无所谓。总之一句话,兴趣是最好的老师,它也是保持学习积极性的 唯一途径。

当然如果你感觉没什么特别让你感兴趣的,那么不妨去学一些相对比较普及的技术,如JavaScript和PHP。

2.请无视大多数资深Web开发人员的“指导”。

资深Web开发人员通常会提供一些善意的建议,但是对于初学者而言,却是完全不切实际的。这是因为:

  1. 你是初学者,而他们不是。

  2. 他们默认为你已经掌握了足够多的基础知识。

  3. 重点放在了一些你可能永远不会遇到的方向上。 (例如,扩展到数百万用户时会出现什么样的问题。)

就像这篇文章请不要对程序员初学者说这些话中的观点,没错,这些经验丰富的Web开发人员固然给出的是非常棒的建议,但是你也得问问自己:是不是真的实用,是不是真的适合你?

3.给自己制定一个明确又可实现的项目。

在学习了Web开发相关的基础知识后,不妨试试离开书本和教程来尝试自己创建一些东西。这么做的好处是:

  1. 获取亲手创建的快感。

  2. 发现知识的薄弱点。

  3. 学习如何真正解决问题。

你想要创建什么都可以,唯一要做到的是要确保项目越小越好。

此外,还应该对项目目标有一个定义,即,项目到了何种程度就算是done了。(并不需要十全十美,因为没有发布的需要。)

选择的web开发领域不同,制定的项目也会不尽相同,不过下面这些项目可供参考:

  1. 待办事项列表app。

  2. 私人博客工具。

  3. 运动锻炼跟踪工具。

基本上,只要项目的主要目的是跟踪一些基本数据,那对初学者而言就是测试知识的好方法。

4.投入特定的日常练习量。

很多初学者在学习Web开发时,进步大则干劲足,进步慢则往往会选择放弃。

这通常是因为初学者将“进步”当成了目标,依赖于进步得到的满足感来支持自己继续学习。然而,进步实际上是不可预测的。量变才能达到质变,掌握基本知识,不断的学习,哪怕是没有显著的进步,其实你也已经提升了自己。

我的建议是使用另一种方法:

每天投入一定量的学习和练习web开发的时间。至少二十分钟,但是也没有强制的限制或要求。你完全可以根据自己的需要合理地规划每天的时间。

5.大量的练习材料。

练习得多了,自然就能掌握技能——相信很多人在学习Web开发初始就听到过这样的说法和观点。“如果你想成为开发人员的话,你必须写大量的代码,”但是,你不知道的是,这里指的代码并不一定要是你自己写出来的。

所以,你必须好好掌握这些练习材料,吃透它们——细细琢磨你借鉴的每一行代码的目的——即使你是在“死记硬背”,你依然是在学习。

很多人不知道的是,语法并非是Web开发的难点。虽然它是初学者的绊脚石,但是以后,棘手的内容会变成如何思考如何解决问题。特别具有讽刺意味的是,初学者想出的解决方案往往比专业人士的更为复杂。

基于这方面的原因,涉猎大量的练习材料的好处有:

  • 你可以看到不同的开发人员如何解决不同的问题。

  • 你可以看到不同的开发人员如何解决类似的问题。

这样一来,当你以后做自己的项目时,就可以:

  • 确定实际问题的核心。

  • 找到解决问题的关键。

你可能已经想不起任何具体可借鉴的解决方案,但是这并不重要。大部分问题其实你已经以某种形式解决过了,至于语法和细节,那都不是个事儿。

结论

虽然我只是在大方向上分享了我的自学经验,但是,我多么希望当初我自学的时候,能有人指点我行进的方向。

如果你已经开始了你的自学之旅,欢迎分享你的历程,以及,Good luck!

译文链接:http://www.codeceo.com/article/5-tips-self-tech-web-develop.html
翻译作者:码农网 – 小峰