摘要:
什么样的水平称得上高级工程师, 什么样的水平只能称得上普通工程师?
为什么大部分人停留在普通工程师的级别?
"我会做十道凉菜, 三十道热菜." 这是哪种级别工程师的自我介绍?
平常我们最喜欢做的事情, 哪些价值更高? 哪些毫无价值?
如题, 初级程序员和架构师的差别在哪里?
工作年限? 经验? 老板重视程度? 是否做出重大业绩?
首先, 工作年限长的技术就一定更加高深么?
不见得!
这个世界上不知道有多少人, 每天只是做着重复性的工作, 毫无长进. 虽说吃过的盐比其他人吃过的饭都多, 但就是没记性, 不断的重复着过去的错误. 甚至伴随着年龄的增长, 激情的磨损, 反倒一年不如一年.
其次, 工作经验, 盖过 100 个房子的一定就比只盖过 10 个房子的更有经验么?
不见得!
有些人只需要盖过一个房子, 就会对房子的地基, 门窗, 水暖管道, 强弱电走线, 等等了如指掌. 而有些人, 盖了一辈子的房子, 连插头左右哪个是火线哪个是零线都分不清楚.
至于老板重视程度, 这是结果, 而非原因. 技术高深, 自然就受到重视; 而不是相反的: 受到了重视, 所以技术才变得高深.
是否做出重大业绩, 这确实是一个足够客观的衡量指标, 但依然只是结果. 更何况, 如果是一群人共同做出的业绩, 如何区分大家彼此之间的技术高低呢?
那么, 普通工程师和高级工程师, 差别到底在哪里呢? 什么样的水平称得上高级工程师, 什么样的水平只能称得上普通工程师? 什么样的人一看就知道是高级工程师, 什么样的人一看就知道最多是普通工程师?
- 初级 Java 程序员与门外汉的区别 -
初级 Java 程序员面对技术任务, 至少是知道从何处入手的.
比如说修汽车, 门外汉连空气滤清器在哪里都不知道, 更不要说如何拆卸, 如何安装了.
计算机软件专业的毕业生, 至少明白做一个手机上的软件是需要安装编译环境的, 一个门外汉对于几行代码变出来的游戏界面感到颇为神奇.
但是作为一个软件工程师, 我真的很好奇一大堆黄豆是如何变成液体豆汁而后突然变成固体豆腐的.
所以, 初级程序员对自己所从事的行业, 至少是有大概的了解的, 甚至具有一定的工作经验, 可以在高级别同伴的带领下完成最为基本的操作.
- 初级程序员与普通程序员的区别 -
初级程序员刚刚入门, 能够在师傅的指导下完成最最基本的流程化操作. 但是由于熟练程度不足, 完成任务的速度和质量无法保证; 稍有遇到自己没做过, 或者不熟悉的技术问题, 都需要花费更多的时间学习.
在一个行业内做过许多事情之后(也可以是一个大事情内部的许多细分小事情), 对各种技术问题都有接触, 并都有成功解决的经历. 于是, 大部分的技术问题不再陌生, 甚至非常熟练. 自然而然, 成长为普通程序员.
两者最典型的区别有:
1, 行业相关的众多技术点, 是否都有了解;
2, 行业相关的众多细分工作, 是否都有 "熟练" 操作过, 完成的质量是否有足够保证;
3, 行业相关的不同任务, 能否给出明确的工期预测;
- 普通程序员与高级程序员的区别 -
大部分人会停留在普通程序员的状态, 因为伴随着大家对自身工作内容的逐步熟悉, 伴随着大家日复一日重复同样操作的逐渐熟练, 这些知识和技能足以满足通常的工作需要.
很少有人会考虑:
1, 更快(效率): 目前的操作流程是否是最快的? 如何改进?
2, 更好(效果或性能): 目前的解决方案是否是最佳的? 能否进一步提升性能?
3, 更省(成本): 什么样的方式能够降低人力成本, 财物成本?
会做炸鸡的厨师很多 -- 初级;
努努力做出口感好的炸鸡, 也不是太难, 只要肯卖力练习就行 -- 普通级;
尽心专研, 做出超级口感的炸鸡, 真的需要好好专研, 总结的 -- 更好;
像肯德基那样, 让入门级的厨师甚至门外汉都能够做出口感好的炸鸡, 则需要对炸鸡的油温, 时间等等做出仔细的研究, 然后制作出对应的设备, 操作流程. 这是对一个行业的彻底颠覆. 这样的级别, 就不仅仅是高级了, 而是专家级别.
- 如何最快速的成长 -
如何最快速的从初级到高级? 区别明确了, 问题就好办了!
1, 争取做自己不熟悉, 不会做的;-- 不熟悉的熟悉了, 不会做的会做了, 自然就成长了;
2, 多做自己不熟练的, 有难度的;-- 不熟练的熟练了, 有难度的变得轻松了, 自然就进步了;
3, 习以为常的操作, 多考虑一下是否能够换个方式做得更快, 更好, 更省;(自己琢磨也好, 参考业内高手也行)
4, 可以的话, 思考一下如何让门外汉或初级员工更方便的做这个事情;
5, 尝试解决那些大家都解决不了的甚至被认为根本不可能解决的问题.
从初级到普通级别, 勤学苦练足矣;
从普通级别到高级, 则需要多动动脑子, 多思考, 多对比, 多总结, 多摸索.
越是有难度的问题, 越是没人能够解决的问题, 越是从来没有人考虑过的问题, 价值越高!
在此推荐一套目前互联网最新的进阶架构师的 Java 知识大纲体系(根据大纲内容也有一些附 送的免费资料赠送给大家)
平台与图片大小限制, 需获取以下 Java 思维导图完整 Xmind 版可以进我的学习群: 909666042 免费获取!
一, 框架源码解析专题
应用框架 spring
spring IoC 源码解析
spring Aop 源码解析
spring MVC 源码解析
spring 注解试开发
spring 5 新特性
ORM 框架 MyBatis
MyBatis 快速掌握
MyBatis 源码分析
MyBatis 徒手实现
设计模式
设计原则
创建型模式
结构型模式
行为型模式
设计模式对比及应用场景
二, 并发编程专题
JVM 内存模型
并发同步处理
并发包之 tools 限制
并发包之 atomic 原子操作
阻塞队列 BlockingQueue 详解
并发 Map,List 与 Set 详解
Executor 线程池详解及核心源码剖析
ForJoin
三, 性能调优专题
JVM 性能调优
JVM 类加载机制详解
JVM 内存模型
垃圾收集机制详解
垃圾收集算法详解
JVM 调优工具详解
GC 日志详细分析
JVM 调优实战
MySQL 性能调优
MySQL 索引数据结构深度讲解
MySQL 执行计划与索引讲解
MySQL 锁机制与事务隔离级别详解
慢查询 Sql 调优实战
Nginx 调优
Nginx 快速掌握
熟练掌握 Nginx 核心配置
掌握 Nginx 负载算法配置
Tomcat 调优
整体认知 Tomcat 项目架构
生吃环境配置
掌握 Tomcat 线程模型背后原理
四, 分布式框架专题
分布式消息中间件
- Rabbitmq
- RocketMq
- Kafka
分布式储存中间件
- Redis
- MongoDB
- FastDFS
- Elasticsearch
分布式框架
- Zookeeper
- Dubbo
- ShardingSphere
- Netty
五, 微服务系列专题
微服务架构变迁史
spring boot 源码剖析
spring cloud Netflix 源码剖析
spring cloud Alibaba 源码剖析
虚拟容器
六, 项目实战专题
双十一电商平台
电商项目架构设计及核心技术点整理介绍
基于 spring cloud 微服务架构拆分
电商平台技术解决方案
分布式调用链平台
七, 互联网工具专题
- Git
- Maven
- Jenkins
- Linux
虚拟容器
最后针对知识体系我总结出了互联网公司 java 程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括 Dubbo,Redis,Netty,zookeeper,Spring cloud, 分布式, 高并发等架构技术资料), 希望能帮助到您面试前的复习且找到一个好的工作, 也节省大家在网上搜索资料的时间来学习.
领取方式: 点赞关注小编后进我的架构交流学习群: 909666042 免费获取!
- 如何面试考察对方的级别 -
1, 你做过这个事情么?(或者: 简历里你印象最深刻的事情是哪个?)
2, 做的过程中遇到过什么问题?
3, 你是如何解决这些遇到的问题 (或者其它一些奇葩的问题) 的?
4, 类似的事情重新让你做的话, 大概需要多久?
5, 你们做过的这些工作, 都有哪些地方可以继续改善提升的?
6, 业内的通常做法是怎样的? 为什么? 有没有更好的方案?
初级程序员的自我介绍是这样的: 我会做十道凉菜, 三十道热菜;
普通程序员的自我介绍是这样的: 我一小时能做二十道菜;
高级程序员的自我介绍是这样的: 打从我来到饭店后, 客人更多了, 赚钱更多了;
架构师的自我介绍是这样的: 你听过这道菜么? 是我第一个搞出来的.
来源: http://www.jianshu.com/p/71c1e86f81bf