程序员的11个阶段

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

阶段1-菜鸟

程序员的11个阶段 - 第1张  | IT江湖

初入职场的日子,我们都充满激情。在此期间,你毫无头绪,根本不知道该做什么。就像鱼儿离开了水,每一行代码对你来说都是个迷。Doctype?哈?见鬼,这个<div>到底是干什么用的?第一个阶段令人生畏、让人提心吊胆,却又激动人心。到底有多少种该死的语言要学啊?

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

阶段2-起步

程序员的11个阶段 - 第2张  | IT江湖

虽然花了些功夫,你最终还是学到了足够的知识,迈出了你进入编程世界的第一步。尽管第一阶段完全是“我该怎样/该从哪里开始?”的懵懂状态,到了第二阶段你已开始慢慢地建立自己的技能体系。当然,CSS定义样式的语法对你来说依然陌生,但至少你能够在刚买的代码编辑器中改动一下代码,并在浏览器中看看改动的效果。那真是一种美妙的感觉!

阶段3-极度沮丧

程序员的11个阶段 - 第3张  | IT江湖

想象一下你在洞穴里迷路,打着手电照亮每一个隧道以寻找出路。每走一步,你都希望看到一丝光亮。不幸的是,我们这一行的学习曲线非常陡峭。我只能很抱歉地说,那一丝光亮不会持续很长时间。你必须做好在这个阶段花费数百小时的准备。当你绝望地试图搞清楚那些让你抓狂的东西是什么意思的时候,你需要不断,不断,不断地阅读技术书籍。

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

阶段4-顿悟时刻

程序员的11个阶段 - 第4张  | IT江湖

“顿悟”那一刻是世界上最棒的感觉之一:一瞬间,突然,你“搞定了”“哦哦哦,现在我终于明白了”。拿我自己来说,我发现编程中的重大突破通常出现在夜里,此时其他人正在睡梦之中。当我读了八遍代码之后,原本捉摸不透的地方,现在至少有点儿清楚了。

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

阶段5-脆弱的代码

程序员的11个阶段 - 第5张  | IT江湖

如同之前的阶段,“脆弱”阶段也相当漫长。在这一阶段,你成功地构建了应用程序并实现了预想的结果,但是底层代码无法应对客户需求的突然改变(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-模仿

程序员的11个阶段 - 第6张  | IT江湖

模仿阶段很重要。模仿你心目中的大神编写的代码——甚至是一行行地复制他们的代码,除此之外没有什么更好的办法来学习恰当的编程技巧了。别灰心,每种带有艺术性的职业生涯都少不了模仿阶段。幸运的是,GitHub让这种无声的崇拜比以往更容易了。当然,复制代码只能帮到你这么多,但它开了个好头。模仿那些能够启发你的人,最终,你将开始形成自己的风格。

阶段7-自以为是

程序员的11个阶段 - 第7张  | IT江湖

此时,你终于开始陷入这样一种境地:你当然还有巨大的改进空间,但自信心也在快速膨胀-或许太快了!人们常说,在头几年里,你还不足以认清自己有多无知!

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

阶段8-学习Vim

程序员的11个阶段 - 第8张  | IT江湖

如果你曾观察过与你共事的开发者,惊讶于他在代码编辑器中操作的速度,那么他有可能是在用Vim。尽管Vim的学习曲线十分陡峭,但一旦你精通了它,你的工作流程在旁观者看来也将如魔术一般神奇。

这是你开始掌控你的编程技术和工作流程的阶段,合适的工具跟技术一样重要。

阶段9-当代码成为艺术

程序员的11个阶段 - 第9张  | IT江湖

尽管要花上数千小时,但终有一天,你看着自己的代码,阅读起来就像操作命令行那样轻松,你会意识到它简直就跟艺术品一样。你的代码有版本控制、良好的抽象、完美的可测试性、可伸缩性,而且易于阅读。在你职业生涯的某个阶段,你可能曾陶醉于自己能够写出神秘、令人困惑但能正常运行的代码。但是,利用编程语言中每一个可能的技巧和隐藏特性,或者只是为了炫耀自己的聪明才智而把复杂的逻辑简化为一行代码,这些都不是成熟开发者的标志。相反,它展现的是一个自以为是的开发者,完全不为将来的代码维护者着想。

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

阶段10—经验丰富

程序员的11个阶段 - 第10张  | IT江湖

当编程成为一种本能,你就到达了职业生涯的下一个阶段。此时你不再思考语言和框架层面的东西,而仅仅是发现问题并从你的开发工具箱中选择正确的工具来提供解决方案。一个经验丰富的开发者懂得西部牛仔式的单枪匹马蛮干为何很少是正确的道路。与项目组所有成员讨论每一个新特性、准备白板、编写故事(译者注: story)、生成测试,这些都是在开始写第一行实际代码前完成的工作。

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

阶段11——摇滚巨星

程序员的11个阶段 - 第11张  | IT江湖

很少有人能达到这个阶段。摇滚巨星阶段是职业生涯的巅峰。除了日常工作,你经常在研讨会上发言,成为无数开源项目背后的领军人物;你要抽时间通过邮件列表参与到web的未来发展并为之贡献力量,同时还要在IRC上帮助新人。你是那种以编写编译器和解析器为乐的人。

别人称呼你为摇滚巨星或是忍者,但你厌恶这类标签。你比其他任何人都清楚——学无止境!

原文链接: Jeffrey Way
译文链接: http://blog.jobbole.com/56252/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 方式安装 RabbitMQ (ribbitmq linux 部署)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 查找镜像&#xff1a;&#xff08;management 版本的镜像才有管理界面&#xff09; docker search rabbitmq:management2. 拉取镜像…

中国股市6000点下跌创最大熊市 股民因贪欲被套牢

核心提示&#xff1a;人的欲望&#xff0c;他的那个欲望&#xff0c;他永远在那个&#xff0c;你看涨了40我都不卖&#xff0c;还贪&#xff0c;还得到45&#xff0c;还贪。贪贪没有完&#xff0c;跌到35了&#xff0c;35还觉得还能回去&#xff0c;跌30了。 凤凰卫视5月14日《…

解决:c.r.c.impl.ForgivingExceptionHandler : An unexpected connection driver error occured

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 我的情况&#xff1a; 在个人阿里云服务器上 docker 方式 安装的 RabbitMQ&#xff0c;然后本地代码连接一直报错&#xff1a; 201…

解决:springcloud eureka 注册的服务config-client 状态Status:UNKNOWN (1)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. eureka 注册的服务config-client 的 Status 显示为&#xff1a;UNKNOWN (1)&#xff1a; 2.原因 &#xff1a; 配置信息 eureka.cl…

解决:springcloud 启动 config-client 报错:... .integration.config.HandlerMethodArgumentResolversHolder

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. springcloud 启动 config-client 报错&#xff1a; java.lang.ClassNotFoundException: org.springframework.integration.config.…

解决:RabbitMQ 连接报错:amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. springcloud 工程中 config-client 中使用到 RabbitMQ ,启动工程报错&#xff1a; org.springframework.amqp.AmqpConnectException…

springCloud - 第9篇 - 同步配置文件(消息总线方式)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、 微服务系统中有多个服务应用&#xff0c;也会有多个配置文件。此时也可用 springcloud bus 来实现对配置文件的管理。 PS&#xf…

Docker 方式安装 zipkin (linux 、阿里云ECS上安装)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 查镜像&#xff1a; docker search zipkin2. 拉取镜像&#xff1a;&#xff08;不写明版本号时&#xff0c;默认使用最新版本&#…

springCloud - 第10篇 - 服务间调用追踪 (zipkin 的使用)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、 在微服务系统中&#xff0c;不同应用服务可能会有各种不同的相互调用 。 springcloud 集成了 zipkin 来实现对于不同服务调用的追踪…

广东48.6万人资产超600万 华东超600万人群最多

中国有290万人资产超600万元 6.7万人资产过亿 个人资产600万元以上有290万人 亿万资产以上的人有6.7万人 胡润研究院昨天发布的《2014中国高净值人群心灵投资白皮书》&#xff08;以下简称《白皮书》&#xff09;显示&#xff0c;截至2013年年底&#xff0c;全国个人资产600…

Idea 同一工程根据不同配置文件启动、idea 同一工程多实例同时运行

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、需求&#xff1a;有一个 eureka 工程&#xff0c;有2个配置文件。需要根据不同的配置文件启动 2 次&#xff0c;并保证 2 个实例同时…

H.265:网络视频的高清时代

HEVC/H.265标准LOGO 去年八月&#xff0c;爱立信公司推出了首款H.265编解码器&#xff0c;而在仅仅六个月之后&#xff0c;国际电联&#xff08;ITU&#xff09;就正式批准通过了HEVC/H.265标准&#xff0c;标准全称为高效视频编码&#xff08;High Efficiency Video Coding&am…

springCloud - 第11篇 - Eureka 注册中心集群的实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 eureka 作为整个微服务项目的注册中心&#xff0c;到目前为止&#xff0c;在我的系统中一直是单节点的&#xff0c;这样并不能作到高可用…

Idea 插件 lombok 的安装和使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 C#在写一个实体类时&#xff0c;有属性的写法&#xff0c;省去了写getter和setter的麻烦。 在Java编程时&#xff0c;写完字段后&#x…

主宰全球的10大算法

摘要&#xff1a;Reddit有篇帖子介绍了算法对我们现在生活的重要性&#xff0c;以及哪些算法对现代文明所做贡献最大&#xff0c;一起来看下。 【编者按】Reddit有篇帖子介绍了算法对我们现在生活的重要性&#xff0c;以及哪些算法对现代文明所做贡献最大。这个表单并不完整&a…

企业贡献开源,其背后的战略动机是什么?

本文作者Balaji Viswanathan通过对Google、Apple、Facebook、Android、Openstack项目等案例进行分析&#xff0c;总结了企业在开源上的战略性选择&#xff0c;是很有可能帮助企业战胜对手的绝好手段。大多数公司通过使用开源软件获得了很多竞争上的优势&#xff0c;这一点毋庸置…

解决:[ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective set

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错如下&#xff1a; [ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective setting…

贡献开源项目没那么简单,你要负责到底

贡献开源项目不是一件简单的事&#xff0c;不是说上传项目到Github或类似的网站&#xff0c;就万事大吉了&#xff0c;更不能认为你的项目代码现在已经开源了。还有很多事情要跟进完善。也就是说你要对这个项目负责到底。从长远角度来看&#xff0c;开源贡献必须是一条双行道。…

mybatis show sql 打印 SQL 语句到控制台

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 方法一&#xff1a; 即&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configuratio…

解决:Throwable:Stub index points to a file without PSI: com.intellij.openapi.fileTypes.UnknownFileType

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. IDEA 报错&#xff1a;stub index point to a file without PSI 并且IDEA 中左边栏部分内容不断刷新&#xff0c;死循环一般的闪 .…