大家是否思考过,为什么大部分程序员很难真正成为一个架构师?
一般来说技术团队的金字塔顶尖往往是技术最牛的人做架构师(或 TL)。所以架构师在广大码农中的占比大概平均不到 20%。而架构师也可以分为初级、中级、高级,江湖上真正高水平的架构师就更少了。
他们很多也是好的大学,计算机科班专业毕业,计算机基础知识技能没有任何问题,工作也足够的努力,但是仍然很多人无法真正成为一个合格的架构师。
所以,80% 码农干上许多年,还是做不了架构师,正在辛苦工作的程序员们,你有没有下面几种感觉?
① 我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。
② 我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Swoft 用的人最近比较多啊,听说最近 Swoole 比较火,还有微服务,听说 PHP 又更新了……
③ 我发现虽然我工作 5 年了,除了不停的 Coding 写业务代码,Ctrl+c 和 Ctrl+V 更熟练了,但编码水平并没有提高,还是一个普通程序员,但有人已经做到架构师了。
④工作好几年了,想跳槽换个高薪工作,结果面试的考官都问了一些什么数据结构,什么垃圾回收,什么并发架构、协程编程之类的东西,虽然看过,但是平时用不着,看了也忘记了,回答不上来,结果面试官说我基础太差……
如果有以上问题,那么你绝对进入学习误区走了弯路;如果我们要成为架构师,我们自己要面临的三大问题:
一、如何定义架构师
Java架构师,首先要是一个Java程序员,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,怎么解决并发量、连接池,线程池。
Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案Java字节码技术;nio,没什么好说的,值得注意的是”直接内存”的特点,使用场景;ja