关于程序猿的几个阶段!

程序猿的职业生涯是一段充满起伏的有趣经历。考虑到其陡峭的学习曲线。全然可以预见你将经历挫折、启蒙、骄傲自大这几个时期。以及穿插其间的各类心路历程。在这篇文章中让咱们轻松一下。经过一系列搞笑 gif 图来回想当中的每一个阶段 。web

阶段1-菜鸟

初入职场的日子,咱们都充满激情。编程

在此期间。你毫无头绪,根本不知道该作什么。就像鱼儿离开了水。每一行代码对你来讲都是个迷。浏览器

Doctype?哈?见鬼,这个<div>到底是干什么用的?第一个阶段使人生畏、让人提心吊胆。却又激动人心。究竟有多少种该死的语言要学啊?app

只是。你最大的优点也许就是你不知道水有多深(译者注:原文”you have no idea how deep the rabbit hole goes”,典故出自《爱丽丝梦游仙境》中爱丽丝掉进了一个深不见底的兔子洞)。学习HTML仅仅是向前迈出的一小步。框架

阶段2-起步

虽然花了些功夫,你终于仍是学到了足够的知识,迈出了你进入编程世界的第一步。虽然第一阶段全然是“我该如何/该从哪里開始?”的懵懂状态。到了第二阶段你已開始慢慢地创建本身的技能体系。编程语言

固然,CSS定义样式的语法对你来讲依旧陌生,但至少你能够在刚买的代码编辑器中修改一下代码,并在浏览器中看看修改的效果。编辑器

那真是一种美妙的感受!ide

阶段3-极度沮丧

想象一下你在洞穴里迷路。打着手电照亮每一个隧道以寻找出路。每走一步。你都但愿看到一丝光亮。工具

不幸的是。咱们这一行的学习曲线很是陡峭。学习

我仅仅能很是抱歉地说,那一丝光亮不会持续很是长时间。你必须作好在这个阶段花费数百小时的准备。当你绝望地试图搞清楚那些让你抓狂的东西是什么意思的时候。你需要不断。不断,不断地阅读技术书籍。

假设你认为太过沮丧而难以承受,请平复一下心情,想一想咱们每一个人都曾在职业生涯的这个阶段或那个阶段有过和你同样的感觉。你不是一我的在战斗。坚持下去,不久以后你就将到达“顿悟”阶段。

阶段4-顿悟时刻

“顿悟”那一刻是世界上最优秀的感受之中的一个:一瞬间,忽然,你“搞定了”“哦哦哦,现在我最终明确了”。拿我本身来讲,我发现编程中的重大突破一般出现在夜里。此时其它人正在睡梦之中。

当我读了八遍代码以后。本来捉摸不透的地方,现在至少有点儿清楚了。

这个阶段,你学的所有技术和语言都開始派上用场了。

阶段5-脆弱的代码

如同以前的阶段。“脆弱”阶段也至关漫长。

在这一阶段,你成功地构建了应用程序并实现了预想的结果,但是底层代码没法应对客户需求的忽然改变(At this point, you are successfully building applications and achieving your desired end result, but the underlying code is one client feature-request away from popping。译注:but 后半句不大好翻译,还望高手挽救。

)。此时。你编写的方法长达几十行,而測试的观念还没有在你脑海中造成。

但至少你在作一些实际的东西了。就眼下来讲,请将你在GitHub上的pull请求局限于书写文档和改正拼写错误。不要低估了这些工做能给他人带来的帮助。

阶段6-模仿

模仿阶段很是重要。模仿你心目中的大神编写的代码——甚至是一行行地复制他们的代码,除此以外没有什么更好的办法来学习恰当的编程技巧了。

别灰心,每种带有艺术性的职业生涯都少不了模仿阶段。

幸运的是。GitHub让这样的无声的崇拜比以往更easy了。固然,复制代码仅仅能帮到你这么多,但它开了个好头。模仿那些能够启示你的人。终于,你将開始造成本身的风格。

阶段7-自觉得是

此时,你最终開始陷入这样一种境界:你固然还有巨大的改进空间,但自信心也在高速膨胀-也许太快了。人们常说,在头几年里。你还不足以认清本身有多无知。

在这个阶段,避免冲动让本身变得太骄傲自大。骄傲自大对不论什么人都没优势。仅仅会让将来更出色的你在回想过去时连连摇头。当你想要在GitHub、Reddit或者StackOverflow中留下嘲讽性的评论“哥们,学学怎么编程吧”的时候,千万别这么作。不久曾经你本身也曾是个十足的菜鸟。请传递正能量,而不是打击别人。咱们在同一条战线上。仅仅是处于不一样的阶段。

阶段8-学习Vim

假设你曾观察过与你共事的开发人员,吃惊于他在代码编辑器中操做的速度。那么他有多是在用Vim。虽然Vim的学习曲线十分陡峭,但一旦你精通了它,你的工做流程在旁观者看来也将如魔术通常奇妙。

这是你開始掌控你的编程技术和工做流程的阶段。合适的工具跟技术同样重要。

阶段9-当代码成为艺术

虽然要花上数千小时。但终有一天。你看着本身的代码,阅读起来就像操做命令行那样轻松。你会意识到它简直就跟艺术品同样。你的代码有版本号控制、良好的抽象、完美的可測试性、可伸缩性,而且易于阅读。在你职业生涯的某个阶段。你可能曾陶醉于本身能够写出神奇、使人困惑但能正常执行的代码。

但是,利用编程语言中每一个可能的技巧和隐藏特性,或者仅仅是为了炫耀本身的聪明才智而把复杂的逻辑简化为一行代码,这些都不是成熟开发人员的标志。相反。它展示的是一个自觉得是的开发人员。全然不为未来的代码维护者着想。

当代码的可读性和它实现的功能对你来讲相同重要时,代码就变成了艺术。到了这个阶段,你就是在为人类而不是为机器编写代码。

阶段10—经验丰富

当编程成为一种本能。你就到达了职业生涯的下一个阶段。此时你再也不思考语言和框架层面的东西,而不过发现问题并从你的开发工具箱中选择正确的工具来提供解决方式。

一个经验丰富的开发人员懂得西部牛仔式的单枪匹马蛮干为什么很是少是正确的道路。与项目组所有成员讨论每一个新特性、准备白板、编写故事(译者注: story)、生成測试,这些都是在開始写第一行实际代码前完毕的工做。

至此。你已成为一个成熟、思虑周全、其它人都愿意与你共事的开发人员。恭喜!

阶段11——摇滚巨星

很是少有人能达到这个阶段。摇滚巨星阶段是职业生涯的巅峰。

除了平常工做,你经常在研讨会上发言。成为无数开源项目背后的领军人物;你要抽时间经过邮件列表參与到web的将来发展并为之贡献力量。同一时候还要在IRC上帮助新人。你是那种以编写编译器和解析器为乐的人。

别人称呼你为摇滚巨星或是忍者,但你厌恶这类标签。你比其它不论什么人都清楚——学无止境。

相关文章
相关标签/搜索