一听到架构师,首先便想到的是在一间宽敞的房间中间坐着一位衣着得体的中年男人,望着落地窗外的风景凝思,万千思绪在脑海里翻腾,颇有运筹帷幄千里外的气势。程序员究竟是做架构师还是项目经理,最近看到微软潘正磊女士的一篇博文,给出了一些启示。

当时我们团队来了一位刚被提拔的开发经理,每次当我陈述完一个问题,他都会迫不及待地提出他的解决方案。在这之后很长的一段时间,他还是一直习惯性地建议我如何如何处理问题。通过平日的观察,我也发现他更喜欢花时间对技术和产品进行深度探讨,而非团队管理。于是几个月后,我找了一个机会跟他说,“我觉得你做软件架构师说不定会更有意思。”而他自己也觉得这个建议不错。几个星期后,他真的转去做架构师的工作,我们团队也迎来了一个新的开发经理。”

这个例子中体现出来的正是架构师深厚的技术底蕴,或许很多程序员更向往项目经理的职位。从上面我们可以看出,程序员在平时的培养过程中还是过于看重技术处理细节,而不喜欢管理。这样看来,成为架构师还是更多程序员的最终归属,尽管项目经理的头衔看起来是更吸引人,但是架构师作为一个纯技术性岗位,更适合广大的程序员。

修炼内功不等于死钻开发技术

讲到内功深厚,大家心想“那我就往死里钻研技术,不就完了?”。确实,很多人理解的内力就是开发技术,包括语言的掌握、对框架的掌握、数据库管理能力、安全管理能力等等。但是我们看到,架构更多的内力体现在对技术的综合运用上,光会编程的程序员,最多就能做到高级程序员,也就是技术实现上的高手。

曾提到这样一个问题“假设有三名优秀的程序员,A尤其擅长沟通与团队管理;B的编程功底深厚,且对新技术能快速掌握;C在逻辑思维和抽象能力方面表现优秀。您会重点培养哪位程序员成为架构师?”

王翔的回答是这样的“C,后面依次递减是B、A。A更适合做项目经理、产品经理。而且根据个人的经验,虽然女性程序员开发阶段显得不如男性那么快深入和入手(Programmer),但能坚持到Developer、S. Developer、 Designer、S. Desinger阶段她们的思维能力优势就显示出来。如果B是女性Desinger级别的人员,我宁愿选择培养她,因为架构师在创造性、知识汇总方面根据个人经验似乎女性更适合。”这里我们看到,内力更多的是一种思考能力,结合技术的思考能力。光有程序开发的能力,不会思考,那只能做个代码狂人。只思考而没有脚踏实地的技术开发能力,那就是忽悠人的表现,更不招人喜欢。

内功的修炼第一层,自然是开发技术的培养。从写第一行代码开始,就多想为什么,有没有什么其他的路径能实现同样的功能。当我们写了很长时间代码了,是不是就该考虑更多的问题,比如优化、预期未来。其次是对架构的熟悉,下面是大家比较熟悉的Struts 2架构图。要做一名优秀的架构师,就得对各种架构做到了熟于心。

Java程序员如何成为内功深厚的架构师

更高层次的修炼,就在于不同技术的学习。要懂得数据库知识,懂得安全监控方面的知识,还要懂得网络构建方面的知识。这是比较高层次的内功修炼,很有可能与程序员目前所处的开发环境关系不大,对程序员来说并不是什么有用的东西。但一个优秀的架构师必须懂得这些,才能更好地抽象软件的使用环境,选择符合需要的架构以及开发模式。

java程序员内功_Java程序员如何成为内功深厚的架构师相关推荐

  1. Java程序员如何成为内功深厚的架构师

    一听到架构师,首先便想到的是在一间宽敞的房间中间坐着一位衣着得体的中年男人,望着落地窗外的风景凝思,万千思绪在脑海里翻腾,颇有运筹帷幄千里外的气势.程序员究竟是做架构师还是项目经理,最近看到微软潘正磊 ...

  2. java后期发展方向_Java程序员的4个职业发展方向,该如何把握黄金5年?

    在Java程序界流行着一种默认的说法叫"黄金5年",意思是说,一个Java程序员从入职的时候算起,前五年我选择直接影响着整个职业生涯的发展方向和薪资走向. 而这5年,也决定了一个程 ...

  3. java程序员 待遇_Java程序员之间薪资对比,为什么差距这么大?

    原标题:Java程序员之间薪资对比,为什么差距这么大? Java程序员这个岗位挣钱吗?能赚好多钱?有许多将要加入这一行业的年轻人同事都很想问这种问题,我想说的话"各行各业,行行出状元&quo ...

  4. java斗图表情_java程序员斗图表情包 为何总是输

    原标题:java程序员斗图表情包 为何总是输 程序员之间的斗图表情包, java真的输惨了! 表情包成了人与人聊天中不可少的分量,陌生人聊天表情包丢出去妥妥的拉近关系变熟络啊(¬_¬) 而且可以用表情 ...

  5. java职业发展路线图_Java程序员如何选择未来的职业路线

    一.程序员的特性 技术出身的职场人特性很明显,与做市场.业务出身的职场人区别尤其明显.IT行业中常见的一些职场角色:老板.项目经理.产品经理.需求分析师.设计师.开发工程师.运维工程师等.开发工程师具 ...

  6. Java程序员该如何学习才能成长为一名优秀的架构师

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

  7. 助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师

    编码规范往往只是对具体编程的格式及细节要求进行规定,但对于提高软件人员编程能力而言,编程规则更具有价值,下面将我的一些观点和想法提出来供大家参考,也希望大家批评指正,谢谢! 1 概述 编程是一个软件工 ...

  8. 编程规则 - 1 概述 -- 帮助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师

    作者:Jon Ji 2011/8/20 编码规范往往只是对具体编程的格式及细节要求进行规定,但对于提高软件人员编程能力而言,编程规则更具有价值,下面将我的一些观点和想法提出来供大家参考,也希望大家批评 ...

  9. Android面试总结,终于有人把安卓程序员必学知识点全整理出来了,移动架构师成长路线

    前言 这篇文章主要是分享今年面试心得,现已就职于某大厂有三个月了,近期有很多公司均已启动秋招,也祝大家面试顺利,获得理想的offer! 之前找工作的那段时间感想颇多,总结一点面试经验和人生思考分享给大 ...

最新文章

  1. 矩阵快速幂+构造方法
  2. Linuxshell之高级Shell脚本编程-创建函数
  3. hp 交换机远程连接_光收发器怎么安装,光纤收发器连接示意图解
  4. 在Makefile中的 .PHONY 是做什么的?
  5. wireshark 选择网络接口
  6. 【转】Android检查手机是否被root
  7. python log日志_python脚本攻略之log日志
  8. IntelliJ IDEA使用(一)基本设置与类、方法模板设置
  9. dotNetCharting使用总结
  10. 都 2021 年了,竟然有人搞大数据时忽略 JSON 而去研究用 C# 把 XML 转换为 XML 的技术...
  11. python文字游戏源代码求年纪_Python实现猜年龄游戏代码实例
  12. 【牛客 - 1080D】tokitsukaze and Event(最短路,思维)
  13. java中的args参数
  14. 阴谋还是骗局?美国最牛家族的“董事长”,跑到中国开了家假银行.....
  15. 同一路由器下两台电脑ping不通_复杂网络环境下路由器配置问题导致业务故障处理案例分享...
  16. log4c移植到android,使用Android Studio调用C++ 代码-log4cplus
  17. selenium.common.exceptions.WebDriverException: Message: Failed to start browser:搞哭了
  18. 《Cisco安全防火墙服务模块(FWSM)解决方案》——2.6 硬件架构
  19. 脑电EEG代码开源分享 【5.特征选择】
  20. 颜值测试API,微软小冰颜值,颜值API

热门文章

  1. 微课|中学生可以这样学Python(1.3节):Python代码编写规范
  2. 报告PPT(163页):基于Python语言的课程群建设探讨与实践
  3. 使用Python批量随机化文件名
  4. php mirror怎么安装,如何安装Composer配置国内Packagist镜像
  5. 软件系统安全测试和性能测试的区别,【安全测试】性能测试进阶——基本概念篇...
  6. linux测试内网速度慢,shell多线程快速检测内网ip是否存活
  7. python字典没有长度限制_python-字典更新序列元素#0的长度为15; 2个为必填项
  8. oracle中的 expdp命令,Oracle 10G 数据泵中EXPDP命令行选项介绍
  9. 《Essential C++》笔记之传引用(pass by reference)分析
  10. edge如何导入html文件收藏夹,win10浏览器 edge浏览器收藏夹怎么导入?