之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些。有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用,特别是少用多重循环,或者尽可能在一个循环中做更多的事。如此,便想起了很久以前的一个段子,讲的是程序员如何一步步在循环中重新回到起点的,仅供大家一笑。

第一年

第二年

第三年

第五年

第十年

当然了,这只是一个段子。不管你多喜欢或是多会编程,在学习和解决问题上总会碰到障碍。工作的时间越久就越能明白这个道理。正常的编程过程都是这样的:尝试、失败、学习、思考、灵感、成功。在这个漫长的过程中,常有人会感到沮丧,这很正常,只有突破后的那种愉悦感才能证明自己的进步。不要满足于现状,因为你永远不会是最好的。或许在某个瞬间,您不知不觉,但您已经突破了玄关。

“下面我们就来谈一谈程序员进阶的五个瞬间。”

第一个瞬间:冒险的冲动

刚刚学习了一门语言,了解基本的语法,可以写短的代码片段了,心中难掩一种跃跃一试的冲动。当您想着开启征程的时候,您进入了第一种境界,业界叫做新手,自己称之为无畏。一般进入这个阶段,差不多半只脚进入了这个行业,有趣多过职责,眼前充满着神秘,但却不一定以此为生。这个世界对您来说,所有的都是神秘的,奇幻的,感觉自己的前途一片光明,但是,也仅是感觉而已。

这时的你需要指导,可以说处在这个境遇的程序员毫无经验,而经验恰恰是通过实施这项技术而促进的思维改变,即您对未来全无所知。这时的程序员最在意的不是学习,而是想实现一个立竿见影的目标。他们不知道如何应付错误,所以出错的时候,会非常容易慌乱。但是稍加指导,他们就会变得能干起来。当然,新手多面临的问题是,当一些意想不到的事前发生时,他们就会不知所措。不过,总有解决办法,一个指导手册,或是老程序员的一些指点便豁然开朗了,但这只能让你启程,却不会让你走的更远。

第二个瞬间:喜悦后的平静

这时的程序员经历了第一个阶段已经可以写一个完整的程序了,但真正对语言了解多少,或许自己心中会有一个体会。这时的程序员已经有些经验了,虽然可能对一些高级用法不甚了了,但应付一个项目还是可以的。一种突破后的喜悦油然而生,走到这个地步,可以说已经是一个正式的程序员了,当一种技术作为志业,一种责任和焦虑也会随之而来,我能坚持走下去吗?我会做的更好吗?各种问题随之而来。

这时候的程序员还不会想着全局思维,他们可以独自尝试任务,但仍然难以解决问题。他们想要快速获取信息,当学习一门新语言或者API时,发现自己会快速浏览文档以寻找一个方法定义或参数列表,而不想在此刻寻根问底,或者重新温习一遍基础知识。他们没有全面的理解,或许的确不想有。如果你试图把一个更大的情景强加给他们,他们可能会认为该情景不相关而忽略掉,当然是有关系的,但是,他们看不到这种联系,因为层次还不够,只是处于比较低的技能水平。

第三个瞬间:博览通识,感觉(希望)自己无所不能

这时的程序员已经能熟练的使用一门语言了, 能够用语言去解决生产环境中一个具体和完整的问题,能够建立问题域的概念模型,并有效地使用它们,已经形成了一套自己的惯用法和常用代码库。在你的编码方案中当前的程序语言是一个非常好用的工具。

这时的程序员会探寻和解决问题,他们的工作基于谨慎的计划和过去的经验。他们往往在团队中发挥领导作用(无论是否有正式的头衔)。他们是团队里的好人,既可以指导新手,也不会经常骚扰更高层次的员工。但是即使在这一水平,人们仍然无法按照我们所希望的方式来敏捷应对所有的工作–大家还没有足够的能力反思 和自我纠正。为此,我们需要取得突破,达到一个新的水平。

第四个瞬间:无往不复

事物的运动是循环反复的,未有往而不返的。这个阶段的程序员已经非常清楚所用语言的设计选择和背后的动机,能理解的简洁和可组合性哲学,并能够自我纠正。处于这个水平的从业人员有一项重大突破:他们会反思以前的做法,并修改其做法,期望下一次表现的更好。他能够阅读案例研究,倾听有关失败项目的流言蜚语,观察别人怎么做,从故事中认真的学习。

高级程序员是经常会对需求说“No”的人,对行业的深入认识和对系统及应用全局的把握能力使他具有真正指导用户的能力,规范用户的工作、思想并用计算机这个工具真正对行业产生引领作用。处于当前水平的人员知道什么地方有坑,或者更确切地说,什么地方非常有可能出错。他们具有经验和判断力,能够理解这句话在情景中意味着什么。事实证明,理解情景是成为专家的关键。同样,当前水平的人可以有效地运用软件模式,可以充分利用思考和反馈,这些都是敏捷行为的核心。

第五个瞬间:万法归一

技术和社会是紧密联系在一起的。社会的进步发展决定了需求和技术的发展,一个对技术发展有着敏锐感觉的程序员必须对社会有着深刻的认识。这时应该积极地与他人分享关于特定语言知识和对此语言的理解,在各种合适的场所发出自己的声音, 这时的你可以凭直觉工作,而不需要理由。

那怎么提升自己的技术呢?有没有方向指导?

下面分享的是小编收集来的适合2-5年Java程序员学习线路图。图片可以自由下载保存哦。

针对以下学习方向我们有自己的高清思维方向导图以及阿里架构师讲解的架构视频分享(包括高可用,高并发,spring源码,mybatis源码,JVM,大数据,Netty等多个技术知识的架构视频资料和各种电子书籍阅读)

(1)常用源码框架

常用源码框架

(2)互联网分布式架构

分布式架构

(3)团队协作开发

团队协作开发

(4)架构基础

架构基础

(5)微服务专题

微服务专题

(6)性能调优专题

性能调优专题

(7)并发编程

并发编程

(8)设计模式


阿里面试面试题:链接:https://pan.baidu.com/s/1ryi6EMUEjZvlaRGEnipryw
提取码:tn3g

Java程序员进阶架构师的五个阶段,你到了哪各阶段?相关推荐

  1. 从Java程序员进阶架构师,必看的书单推荐!

    算法与数据结构: 数据结构(严蔚敏) java数据结构和算法(美:拉佛) 算法导论 大话数据结构 剑指Offer 程序员面试金典 编程珠玑 编程之美 程序员笔试面试最优解 数据结构与算法经典问题解析( ...

  2. 五年Java程序员进阶架构师的一些心得以及职业生涯规划

    1. 引言 搞Java的弟兄们肯定都想要达到更高的境界,用更少的代码解决更多的问题,用更清晰的结构为可能的传承和维护做准备.想想当初自己摸着石头过河,也看过不少人介绍的学习路线,十多年走过来多少还是有 ...

  3. java程序员 进阶_Java程序员进阶架构师的五个阶段,你到

    之前有个讨论:实现同样功能,简洁代码一定比复杂代码效率高吗?有的说,还得看算法,如果算法相同,简洁代码效率应该会高一些.有的说,即使算法相同,简洁代码也不见得比复杂代码效率高,而应尽可能减少循环的使用 ...

  4. Java程序员进阶架构师推荐阅读书籍

    [IT168 技术]作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些 ...

  5. 这可能是JAVA程序员进阶架构师的最佳之路了 !

    随着大数据时代的到来,[这次国家教育部的改革要动真格了],JAVA程序员们仅有的一点点竞争力很快就不复存在,为什么这么说呢? 人生别只顾低头拉车,更要抬头看路! 国家教育部全面改革:大数据领衔 所有高 ...

  6. 一份Java程序员进阶架构师的秘籍,你离架构师还差多远

    一.如何定义架构师 Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理.jvm虚拟机原理.调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并发量. ...

  7. 跳出误区:Java程序员进阶架构师真的没你想象的那么简单......

    小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL).所以,架构师在广大码农中的占比大概平均不到 10%.而架构师也可以分为初级.中级.高级三档,江湖上真正高水平的软件架构师就更少了. ...

  8. Java程序员进阶架构师必备学习文档:SSM+微服务+分布式+Nginx+MySQL

    SSM企业级战 SSM框架是以Spring为核心,整合Spring MVC和Mybatis的轻量级框架技术的组合.利用SSM整合框架可以开发出分层.易扩展.易维护的企业级应用系统,能够极大地满足企业需 ...

  9. 程序员进阶架构师路线

    作者简介:曾任职于阿里巴巴,每日优鲜等互联网公司,任技术总监,15年电商互联网经历. 下面是作者根据自己15年的互联网电商经验总结的,Java程序员进阶架构师的路线图,希望对初入职场的同学和对自己技术 ...

最新文章

  1. led灯串怎么摆造型_如何驱动LED灯串小绝招
  2. 常用的两种spring、mybatis 配置方式
  3. SAP 电商云 Spartacus UI 里的 InjectionToken 应用场景
  4. 现在的男生真的太惨了
  5. 【CodeForces - 1051B】Relatively Prime Pairs (构造,思维,素数,水题)
  6. opencv中java的dmatch_关于OpenCV的那些事——ORB的brief描述子(256bit)的match心得
  7. Excel的一些工作中不算是常见,但是遇到时常常不知所错的,问题,与解决方案。
  8. 拓端tecdat|回归树模型分析纪录片播放量影响因素|数据分享
  9. termux 安装python3教程_termux怎么安装python
  10. Spring中注解实现原理
  11. 充电宝国产品牌推荐,国产充电宝排名
  12. 电设——开关电源——LM2596
  13. 2021东南亚跨境电商平台之马来西亚热门电商平台排名TOP10
  14. 前端传参日期只有年月日,后台给日期设置23时59分59秒和0时0分0秒
  15. 使用Workrave帮助防止腕管问题
  16. 生命密码是几适合学计算机,数字生命密码是什么?
  17. APP启动方式分析——冷启动、热启动、温启动
  18. 在Android手机或平板电脑上启用开发者模式选项
  19. python 期货现货差价监测_数字货币期货现货差价监控
  20. 解决办法:.bat文件运行不了,管理员运行后闪退

热门文章

  1. python 自定义 计算向量投影 正交 函数
  2. 中债登——各功能快捷入口
  3. OpenCat 简评
  4. PHP 二维数组 指定 value 作为 key || 二位数组 取出指定 元素组成新数组
  5. win10系统用chew-wga激活重启后蓝屏
  6. Textual Entailment(自然语言推理-文本蕴含) - AllenNLP
  7. 20110822炒股日记--进入筑底阶段
  8. 嵌入式linux远程桌面,嵌入式开发配置远程桌面和FTP
  9. 《IT项目管理》(郭宁编著) 课后习题答案
  10. 皇太极有多宠爱宸妃海兰珠,从这三件事可以看出