Web开发者的职业生涯有许多斜坡,这陡峭的学习曲线,你完全可以从中经历从沮丧到启发再到自以为的心态起伏。本文将会通过一些有趣的动态图来描述这其中的各个阶段。
1. 小白
在职业生涯的早期,通常都不知道自己要做什么。就像离开水的鱼,每一行代码都是一个谜。Doctype?<div>又是什么东西?第一个阶段是一个吓人的、可怕的但是令人兴奋的过程。是有多少可怕的语言啊?
但是,你最大的优势也许就是你永远不知道你前面的坑有多深。学习HTML是往前迈出的一小步。
2. 迈出第一步
尽管需要一段时间,但是你最终就会开始进入到Coding的世界。第一阶段是压倒一切的“怎么/从哪开始”的阶段,而第二阶段就是你慢慢开始建立属于自己的技能集。当然,CSS的语法定义风格仍让你觉得不能适应,但至少你在编辑器里修改代码之后能够在浏览器即时看到效果。这是一个奇妙的感觉!
3. 彻底挫败
想象在山洞里迷路,用手电筒环顾每个隧道来搜索一个出去的路。没走一步,你都希望看到一丝微光。不幸的是,我们这个行业的学习曲线是最陡的。很抱歉地告诉你,这些光不会持续很久。预计花费数百小时在这个阶段,当你想要弄清楚各种让你抓狂的东西时,就去阅读各种技术书籍,并反复阅读。
如果这种挫败感来得势不可挡,找到在我们职业生涯中以某种确切的方式应对的平和的态度。你不是一个人,坚持下去,不久之后,你就会到达惊喜时刻。
4. 惊喜时刻
惊喜时刻是这个世界上最好的感觉之一:那种短暂的瞬间就是,突然间,你做到了!“哈哈哈,我现在明白了!”就我自己来讲,我通常都是在其他人都在睡觉的晚上在Coding上有这种突破的惊喜。通过反复阅读,曾经模糊的东西到现在,至少一些是变得清楚的。
这是一个于所有的技术和语言你开始学会点击的阶段。
5. 如履薄冰
就像上一个阶段一样,如履薄冰阶段时间也很长。在这个阶段,你能够成功的构建应用程序,并实现想要的结果。你实现的方法中代码通常很长,而且你脑海中尚未形成测试的概念。
但至少你能做出实例。这个时候,保持你的Github的请求限制在稳定和错误修复。并且不要低估这样做的价值。
6. 照猫画虎
模仿阶段很重要。没有什么比阅读你心中的大神的代码,甚至一行一行地敲到自己的编译器里来学习Coding来得更有效了。不要觉得这样不好,每一个艺术生涯都有去模仿的阶段!幸运的是,GitHub已经使这种形式的沉默的嫉妒比以往任何时候都来得容易。当然,模仿不会带你走到很远,但是这是一个很好的开始。模仿那些能够激励你的人,最终你会形成自己的风格。
7. 得意忘形
在这个阶段,你终于到达一个槽里。确实有巨大的改进空间,但是你的信心也在迅速膨胀,或许这样太快了。人们常说,在刚开始,你都还不知道自己有多渺小!
在这个阶段,忍住变得过于自信的冲动。这对谁都没有好处,只能让更有才华的未来的你在回忆的时候连连摇头。当你想要在别人的GitHub、Reddit或者StackOverflow页面上留下讽刺的“哥们,学学怎么Coding吧”的评论时,千万别这样做。不久前,你也只是一个完完全全的小白。鼓励,而不是打击别人。我们都在一条战线,只是在不同的阶段而已。
8. 学习神器Vim
如果你曾经在一个开发者的旁边,惊奇于其在代码编辑器操作的速度时,有可能,他们用的是Vim。尽管它的学习曲线同样陡峭,但是一旦你达到山顶,你的工作流程对于旁观者来说就会像变魔术似的。
这是你开始驾驭你的Coding技术和工作流程的阶段。合适的工具跟技术一样重要。
9. 当代码成为艺术品
虽然这需要数千小时,但是有一天,你会看到自己的代码轻松通过调试,拍着自己的大腿嗷嗷:“艾玛,劳资太油菜了,这TMD简直就是艺术品”。你的代码采用了版本控制,是很好地抽象的,完全可测试的、可伸缩的和易读的。在你的职业生涯的某一个点上,你可能会为集中于写出让人困惑的但是有效的代码。利用每一个可能的语言怪癖和隐藏功能并不意味着称得上一个成熟的开发者。只是为了展示自己打出来的包有多聪明而迁移简化复杂的逻辑甚至到只有一行代码,也是不可取的。这意味着你是一个傲慢自大的开发者,不为将来的代码维护者考虑。
代码变成艺术品的同时,要保障其可读性能够保障其能够顺利地被执行。这个阶段,你的代码是为人而写,而不是为机器写的。
10. 驾轻就熟
当Coding成为一种本能,恭喜你,你已经到达职业生涯的下一个阶段。不再思考语言或者框架层面的问题,而是你能轻松地看出问题,并从你的开发工具箱中选择正确的工具来提供解决方案。一个老练的开发者懂得为什么牛仔路径很少是正确路线。每一个新特性都是经过项目组员的讨论,准备白板,撰写梗概,并生成测试,这些工作都是在开始Coding之前完成。
你已经成为一个成熟的、经过深思熟虑的并愿意与其他人一起工作的开发者。祝贺。
11. 摇滚明星
很少有人达到这个阶段。摇滚明星阶段就是职业生涯的巅峰。除了你的工作,你经常在会议上发言,作为无数流行的开源项目的领导者。同时还抽时间参与邮件列表,帮助IRC上的新人,为web的未来做贡献。你是为了兴趣而编写编译器和词法分析器的人。
你被别人称为摇滚明星或武林高手,尽管你讨厌这样的标签。同时,你比其他人都清楚还有很多东西需要学习。
1. 小白
![](http://dl.iteye.com/upload/attachment/0082/6109/8ae84195-2a65-3c5f-b00a-abc015abfc83.gif)
在职业生涯的早期,通常都不知道自己要做什么。就像离开水的鱼,每一行代码都是一个谜。Doctype?<div>又是什么东西?第一个阶段是一个吓人的、可怕的但是令人兴奋的过程。是有多少可怕的语言啊?
但是,你最大的优势也许就是你永远不知道你前面的坑有多深。学习HTML是往前迈出的一小步。
2. 迈出第一步
![](http://dl.iteye.com/upload/attachment/0082/6095/0424a169-bc87-3b9c-91bf-d3e0b0d3758e.gif)
尽管需要一段时间,但是你最终就会开始进入到Coding的世界。第一阶段是压倒一切的“怎么/从哪开始”的阶段,而第二阶段就是你慢慢开始建立属于自己的技能集。当然,CSS的语法定义风格仍让你觉得不能适应,但至少你在编辑器里修改代码之后能够在浏览器即时看到效果。这是一个奇妙的感觉!
3. 彻底挫败
![](http://dl.iteye.com/upload/attachment/0082/6093/26502d9c-42a4-3939-b75c-e370d3e05e78.gif)
想象在山洞里迷路,用手电筒环顾每个隧道来搜索一个出去的路。没走一步,你都希望看到一丝微光。不幸的是,我们这个行业的学习曲线是最陡的。很抱歉地告诉你,这些光不会持续很久。预计花费数百小时在这个阶段,当你想要弄清楚各种让你抓狂的东西时,就去阅读各种技术书籍,并反复阅读。
如果这种挫败感来得势不可挡,找到在我们职业生涯中以某种确切的方式应对的平和的态度。你不是一个人,坚持下去,不久之后,你就会到达惊喜时刻。
4. 惊喜时刻
![](http://dl.iteye.com/upload/attachment/0082/6107/8bd925c5-075e-3b02-99e4-dc060be2301a.gif)
惊喜时刻是这个世界上最好的感觉之一:那种短暂的瞬间就是,突然间,你做到了!“哈哈哈,我现在明白了!”就我自己来讲,我通常都是在其他人都在睡觉的晚上在Coding上有这种突破的惊喜。通过反复阅读,曾经模糊的东西到现在,至少一些是变得清楚的。
这是一个于所有的技术和语言你开始学会点击的阶段。
5. 如履薄冰
![](http://dl.iteye.com/upload/attachment/0082/6100/81770169-6e49-389c-befb-74117e5c02db.gif)
就像上一个阶段一样,如履薄冰阶段时间也很长。在这个阶段,你能够成功的构建应用程序,并实现想要的结果。你实现的方法中代码通常很长,而且你脑海中尚未形成测试的概念。
但至少你能做出实例。这个时候,保持你的Github的请求限制在稳定和错误修复。并且不要低估这样做的价值。
6. 照猫画虎
![](http://dl.iteye.com/upload/attachment/0082/6099/43d645db-baaa-34b7-b36e-e5bbfcb1ec09.gif)
模仿阶段很重要。没有什么比阅读你心中的大神的代码,甚至一行一行地敲到自己的编译器里来学习Coding来得更有效了。不要觉得这样不好,每一个艺术生涯都有去模仿的阶段!幸运的是,GitHub已经使这种形式的沉默的嫉妒比以往任何时候都来得容易。当然,模仿不会带你走到很远,但是这是一个很好的开始。模仿那些能够激励你的人,最终你会形成自己的风格。
7. 得意忘形
![](http://dl.iteye.com/upload/attachment/0082/6097/194c75ca-6a69-3a87-9bf8-17be3b1e129c.gif)
在这个阶段,你终于到达一个槽里。确实有巨大的改进空间,但是你的信心也在迅速膨胀,或许这样太快了。人们常说,在刚开始,你都还不知道自己有多渺小!
在这个阶段,忍住变得过于自信的冲动。这对谁都没有好处,只能让更有才华的未来的你在回忆的时候连连摇头。当你想要在别人的GitHub、Reddit或者StackOverflow页面上留下讽刺的“哥们,学学怎么Coding吧”的评论时,千万别这样做。不久前,你也只是一个完完全全的小白。鼓励,而不是打击别人。我们都在一条战线,只是在不同的阶段而已。
8. 学习神器Vim
![](http://dl.iteye.com/upload/attachment/0082/6103/2b34b0db-5982-35e4-a5dc-6b57d754c482.gif)
如果你曾经在一个开发者的旁边,惊奇于其在代码编辑器操作的速度时,有可能,他们用的是Vim。尽管它的学习曲线同样陡峭,但是一旦你达到山顶,你的工作流程对于旁观者来说就会像变魔术似的。
这是你开始驾驭你的Coding技术和工作流程的阶段。合适的工具跟技术一样重要。
9. 当代码成为艺术品
![](http://dl.iteye.com/upload/attachment/0082/6113/63d558e9-2c18-3dee-99b8-dd3c83dbe48b.gif)
虽然这需要数千小时,但是有一天,你会看到自己的代码轻松通过调试,拍着自己的大腿嗷嗷:“艾玛,劳资太油菜了,这TMD简直就是艺术品”。你的代码采用了版本控制,是很好地抽象的,完全可测试的、可伸缩的和易读的。在你的职业生涯的某一个点上,你可能会为集中于写出让人困惑的但是有效的代码。利用每一个可能的语言怪癖和隐藏功能并不意味着称得上一个成熟的开发者。只是为了展示自己打出来的包有多聪明而迁移简化复杂的逻辑甚至到只有一行代码,也是不可取的。这意味着你是一个傲慢自大的开发者,不为将来的代码维护者考虑。
代码变成艺术品的同时,要保障其可读性能够保障其能够顺利地被执行。这个阶段,你的代码是为人而写,而不是为机器写的。
10. 驾轻就熟
![](http://dl.iteye.com/upload/attachment/0082/6104/de564069-bd6c-3642-b5a6-30061d9515b3.gif)
当Coding成为一种本能,恭喜你,你已经到达职业生涯的下一个阶段。不再思考语言或者框架层面的问题,而是你能轻松地看出问题,并从你的开发工具箱中选择正确的工具来提供解决方案。一个老练的开发者懂得为什么牛仔路径很少是正确路线。每一个新特性都是经过项目组员的讨论,准备白板,撰写梗概,并生成测试,这些工作都是在开始Coding之前完成。
你已经成为一个成熟的、经过深思熟虑的并愿意与其他人一起工作的开发者。祝贺。
11. 摇滚明星
![](http://dl.iteye.com/upload/attachment/0082/6115/dc967ac6-d793-3365-ac9e-6591cc47450d.gif)
很少有人达到这个阶段。摇滚明星阶段就是职业生涯的巅峰。除了你的工作,你经常在会议上发言,作为无数流行的开源项目的领导者。同时还抽时间参与邮件列表,帮助IRC上的新人,为web的未来做贡献。你是为了兴趣而编写编译器和词法分析器的人。
你被别人称为摇滚明星或武林高手,尽管你讨厌这样的标签。同时,你比其他人都清楚还有很多东西需要学习。