在程序员圈,一直流传着这样一个传说,用发量来判断程序员的级别,这明显是种调侃。那么,中级程序员,相对于初级程序员,有哪些不一样的特质呢?

总得来说,比较于初级而言,中级程序员在执行层面属于攻坚力量,他们不仅能独立完成高档难度的开发使命,并且在用户体验(质量提高)和功能优化(优化效率)都能作更全面的考量。

以下,是小编总结的关于中级程序员七大特点,各位读者可以对号入座。

(一)善于沟通

程序员内向的居多,喜欢交流的很少,但中级程序员往往能够克服自己的内新的恐惧心理,多和同事交流。

甚至有管理者认为,程序员应该80%的时间,花在同事的交流上。不仅是部门内的同事,也还包括跨部门沟通,敲代码的需要经常与产品经理、运营的同事沟通需求。

日本不少跨国公司,甚至有让程序员去体验几个月销售员的传统。公司要求,程序员在敲代码的同时,也要能够理解一线用户的需求。

交流对于初级程序员了解技术的发展,也相当有好处:读读博客、学学新语言和框架、讨论讨论话题、看看同行在做什么。自扫门前雪,很难成为一个优秀的程序员。闭门造车型的程序员终将被时代的潮流所淘汰。

(二)对编程有激情

有些程序员干这一行只是为了挣钱,如果有更好的职业,他们会毫不犹豫的辞掉程序员的工作。

能够顺利晋升为中级程序员的人,往往热爱编程,喜欢钻研代码中的问题,他们感到能指挥电脑来帮助人们和自己解决现实生活中的问题是一种神奇的能力。当遇到问题无法解决时,他们会茶不思、饭不想,无法入睡。

每个人都有心理上的舒适区,但是中级程序员,会不断地突破自己心理上的舒适区。

他们很乐于经常去研究没有接触过的代码,也正因为这样,成长速度快的中级程序员会越来越熟悉不同的代码结构和设计模式。

(三)精通代码调试

几乎所有的程序员写代码都不是一遍就能写好的。精通代码调试 ( debug )很多人在写代码的过程中,经常会有的一个问题就是:为什么我写出来的代码不能运行?为什么运行的结果不是我想要的?

中级程序员非常快的就明白自己代码的问题可能是什么。代码调试是一个很重要的能力,但是偏偏学校里不教,面试的时候考官也不经常提及。那么怎么去调试代码呢?

代码调试是有一套方法论的。最简单的就是在代码里输出日志来判断,复杂一点则需要去接触一些高级的工具,或者直接带有 Debug 功能的编辑器。

(四)主人翁精神

部分初级程序员刚入行,可能还没有进入状态,往往认为自己是打工者,以打工者的身份和心态工作。

中级程序员却会把自己当成企业的主人,他们知道企业的利益和自己休戚相关。

成熟的程序员明白一点,作为一名优秀的企业员工,自己是生产者而非消费者。他们心中一直想得是自己能够为公司,为顾客创造什么价值,而不仅仅只想着待遇。

(五)工具型思维

中级程序员知道如何能更高效的完成任务,如何更能有效的解决问题。其原因是工具型思维,如同荀子所言,“君子生非异也,善假于物也。”

Facebook 前技术总监 Bobby Johnson 说,高效率的程序员都把时间花在制作工具上。很多人也认为工具是很重要的,但是他们并没有花时间去制作、整合自己的工具。但是,Jonson 团队最出色的员工耗费了他们 1/3 的时间在工具制作上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。

中级程序员遇到问题时,不钻牛角尖,善于利用外部工具解决自己的问题,特别是能熟练应用搜索引擎。

(六)刻意练习迭代速度

魔鬼在细节上,如果一个程序员想要提高自己的工作效率,就需要他能够不断地在细节方面,进行微创新,提高效率。

举一个例子,假设一个初级程序员,每次要花 12 秒钟去搜索某个函数是在哪里定义的。如果,他每天做这个动作 60 次,就要花 12 分钟去搜索函数定义。

中级程序员会选择用一个好一点的编辑器,每次找到函数定义只要 2 秒钟,那么他每天将节约 10 分钟,每年节约 40 个小时。如果能够找到 3 个这样的场景去优化一下,那么对于中级程序员来说,每年可以节约一个月的时间。

(七)系统学习

学习是要有方法的,尤其是在职场中,程序员的自我学习要符合两点要求:一是有结果;二是高效。因此,系统性学习,非常重要。

高级程序员系统学习指南如下:

第一步,源码分析。看看大牛是如何写代码的,提升技术审美,提升核心竞争力。

第二步,工程化。工欲善其事必先利其器,不管是小白,还是资深开发,都需要先选择好的工具,提升开发效率和团队协作效率,让自己有更多的时间来思考。

第三步,分布式。从深度到广度的完善自己的知识体系,准备迎接高并发大数据的挑战

第四步,微服务。绕微服务的通用模式,学习spring Cloud的常见用法及原理,让微服务的开发更加方便 快捷,让微服务应用更加稳定  可用。

第五步,性能优化。从JVM底层原理到内存优化 再到各个中间件的性能调优,做最科学和最严谨的性能调优。

第六步,并发编程。深入了解底层原理,不只是做一个开发者。

第七步,积极参加大牛的分享。

(八)总结

可以理解,对于初入职场的程序员来说,他们在内心也知道学习的重要性,但因为没有时间,被老板的需求给填满,没有精力去提升自我。

然而,根据人类的学习曲线来说,任何一门新的技艺,都是一条对数曲线。其分为两个阶段:缓慢期和高速发展期,即初期很慢,后期进展迅速。

如果,能够让程序员在刚进入职场的时候,便摆脱初级程序员的桎梏,直接拥有中级程序员的实力,是不是就能跨越学习曲线的缓慢期呢。

在7月11日,知名IT教育机构传智播客将举办行业变革大会,届时传智播客知名行业大牛与大家一起探讨,如何让程序员刚入职场,便拥有中级程序员的实力。

没有时间或者不在北京的程序员,可以在线上观看发布会直播。更多详情,请到传智播客官网了解,本次发布会相关消息。

初级程序员晋升中级程序员,只差这7个技能相关推荐

  1. 如何从初级程序员到中级程序

    如何从初级程序员到中级程序 在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客.文章及杂志分成两类:面向初学者类("hello world"这种类型的教程 ...

  2. 微信小程序怎么打通视频号?只差一个自定义版交易组件

    今年以来视频号成为了腾讯新宠,现在视频号日活逼近6亿,早已全面超过快手的3.47亿,并有望在短期内追上抖音.而这样的用户规模,抖音走了6年,视频号只走了2年.木鱼小铺(www.muyu007.cn)相 ...

  3. 从初级程序员到高级程序员你只需要注意这几点

    1.命名不规范 命名很随意,当时写代码特别High,什么奇奇怪怪的命名都有的,完全意识不到全名规范的价值和意义. 2.不写单元测试 确切来说,是不按TDD的方式开发.在现在IDE这么强大的情况下,先写 ...

  4. 初级程序员和高级程序员的区别,你了解吗?

    Midjourney 创作,可爱的程序员们 并不是每个开发者都是一样的.在之前的文章中,我曾经说过,不是每个初级开发者都是一样的,甚至每个中级或高级开发者也不在同一个水平线上.有一些最基本的要求通常是 ...

  5. 初级程序员和高级程序员的区别(转)

    初级程序员和高级程序员的区别   一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的.比如,在初级程序员阶段时,他会觉得VB也能做出应用来,且看起来也不错. 但到了中级程序员时,他 ...

  6. 向中级程序员转变必备的10个秘诀

    1.学习另一门语言 其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造为更好的程序员.能学会一门与你日常使用的语言风格迥异的 语言则更佳.打个比方,如果你是C# ...

  7. 【转】向中级程序员转变的10个建议

    1. 学习另一门语言 其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造为更好的程序员.能学会一门与你日常使用的语言风格迥异的 语言则更佳.打个比方,如果你是C ...

  8. asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.1 ...

  9. asp.net2.0学习历程 菜鸟到中级程序员的飞跃

    如果你是一个菜鸟或者自认为初学者那么本文非常适合你: 不能说这30本书就是最佳组合,但是可以说这个组合不差: 本人曾博览群书,很多书重复,很多书讲的不适用,这些书都是目前书店可以买到的: 达到中级程序 ...

  10. 如何从初级程序员变成高级程序员?赶紧看一看

    高级程序员是一名犯过其领域内所有可能犯到的错误的专家. 如果按照工作经验对软件开发人员进行分类,可能是这样的: 初级:2-3 年工作经验 高级:10 年以上工作经验 中级:介于初级和高级之间 这种按工 ...

最新文章

  1. mysql主从库配置方法
  2. 前端开发工具vue.js开发实践总结
  3. 数据结构——最小生成树之prime算法(与最短路径之迪杰斯特拉算法很像)
  4. [网络收集]Web.config配置文件详解
  5. QT动态库和静态库使用
  6. C# 多线程操作样例
  7. 再见Navicat! IDEA的这个兄弟真的很香!我粉了...
  8. vue学习笔记-13-侦听器
  9. python 多重类继承__init__
  10. JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么
  11. 使用 Convex 进行状态管理的指南
  12. 北京移动电信联通校园卡,以及各种流量卡申请入口合辑!
  13. 4.链表LinkedList
  14. 开源私有lorawan server搭建
  15. 数据预处理:数据标准化
  16. 电脑内存占用过高怎么解决?
  17. creat a secret folder
  18. 使用 KubeSphere 轻松实现微服务灰度发布与熔断
  19. 数据结构—冒泡排序 C语言代码实现(从前向后/从后向前两种)
  20. python menuconfig_make menuconfig详解

热门文章

  1. 【rzxt】巧用电池小工具 电量问题全掌握
  2. Win7显示器颜色不正常的原因及解决方法
  3. 手机内存卡照片丢失怎么恢复
  4. 还在花钱抢票?12306 已屏蔽60款抢票软件!
  5. linux的文本操作模式下的注销命令,linux基本命令大全
  6. 机器学习入门——简单线性回归
  7. 【Windows】网线直连实现两台电脑共享文件夹
  8. Python绘制心形图案
  9. 公众号搜题题库接口使用方法
  10. jar包运行报错jar中没有主清单属性、springGateway访问接口报错302,跳转login接口