程序员:浅谈“码农”如何进阶“架构师”


程序员:浅谈“码农”如何进阶“架构师”
文章图片
程序员:浅谈“码农”如何进阶“架构师”
每个人都有灵魂拷问的三大问题:“我是谁?我从哪里来?我要到哪里去?”
小美虽然只做过4年的开发 , 做过的项目不多 , 主要的能力主要还是在开发上面 , 我自己掌握的的是JAVA , sshssm , python , mysql , 以及前端的基础 。 但是小美是一个有抱负的程序员 , 我也是有自己的目标 , 我的终极目标“架构师” 。
一.何为架构师
如果我们去招聘网站查看这个岗位 , 你会发现架构师的岗位分类太多 , 比如:前端架构师 , 后端架构师 , 安卓架构师 , php架构师 , DB架构师 , 搜索架构师 , 互联网架构师 , 大数据架构师等等 , 和你们一样 , 我们也会懵 。
简单来说:架构师没有严格的概念 , 一般都说具备大局观 , 设计能力 , 深度思维等的大牛 。 架构师在前些年来说是非常牛逼的 , 但是现在工作过几年的好多都称为架构师了 , 其实我们看到不同的领域架构师要求的技术能力肯定是不同的 , 比如前段和后端架构肯定不同 , 但是从我个人观点来看 , 架构师往往具备一些共同的能力 。
二.架构师所需要具备的一般能力
架构师具备的思维能力
如上图:
我们大概可以知道 , 架构师所具备的基本能力:沟通能力 , 技术广度 , 技术深度 , 抽象的思维能力 , 设计能力 , 系统的思维 , 技术前瞻 , 以及对于整个系统把控能力 , 这些都说比较抽象的东西 。
具体来说:
1.技术能力:和其他行业不同 , 很多其他行业经理呀 , 总监呀 , 其实都说虚的 , 技术不是特别大牛 , 也可以胜任 , 只要你有管理能力 , 但是架构师是真正的技术大牛 , 就像一个老师傅一样 , 你得真的是N年的有序程序员了 , 也就是说你得有:a.解决问题的能力 , 看到一个方案 , 你得通过可行性的技术进行解剖 , 判断是否衡量哪个技术是最适合的解决方案 。 b.架构师的设计以及实现架构的整体设计步骤 , 你得起草架构初稿 , 然后几个核心程序员配合实现初稿 , 最终调动大家进行讨论整改 。 C.编程能力肯定是必须的 , 涉及到最核心最关键的步骤肯定是亲自动手解决战斗 。
2.除了这些技术能力 , 部署和完善技术流程 , 那就是优秀架构师所具备的能力了 , 你的经验也会在这里有所体现 , 当然是初期的开发团队的调度 , 测试 , 上线运维等 , 协调解决的能力 , 当然绕不开的BUG解决能力 , 系统故障解决能力 , 这些细节都体现出架构师是多么的全面 。
三.架构师需要学习的技术点集合(架构师岗位很多 , 我主要讲讲JAVA后端架构师 , 其他还请各位大神完善)
java架构师
【程序员:浅谈“码农”如何进阶“架构师”】1.JAVA基础 , JDK类库 , 掌握这些类是如何实现的 , 区别是什么
2.JAVA并发编程实践 , 包括:对象锁机制 , synchronized关键字 , concurrent包 ,
3.I/O , Socket , 了解Windows和Linux中是怎么实现socket
4.JVM
5.常用的模块设计
6.常用的数据库oraclemysqlsql等
7.JAVAweb框架
8.开源的架构包 , Netty网络框架 , Apache common的N多包 , Google的Guava等等 , 也可以经常去Github上找一些代码
9.Git
10.微服技术
总结:技术点这些都说大概的 , 肯定在实践当中 , 我们还得不断自学 , 不断提升自己 , 才能完全掌握 。
四.如何更快的实现成为架构师
通过小美的自学和总结 , 想快速实现架构师 , 要看个人的情况: