论软件构架师的自我修养

点击上方?Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章

文章很好,耐心阅读,记得点赞和关注哦~

程序员的职业发展是一个很值得我们深入探讨的问题,因为它关系到程序员的未来。你选择了合适自己的路了吗?在你选择要去哪里的时候,想好该怎么达到目的地吗?

程序员的职业发展路线也有很多种:移动开发师,软件架构师,管理者…今天就一起来聊聊软件架构师的职业分享。

1 什么是软件架构师?

架构师是这样的一个角色,他参与高层的技术决策,制定技术标准,包括编码标准、工具和平台。与其他大多数高级职位一样,架构师角色也不存在清晰的定义。不过架构师需要承担一定的职责,并拥有一些特定的品质。

架构师的工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。

2 如何成为优秀的架构师

架构师是一个充满挑战的职业,需要关注很多维度和技术。只专注于单一领域的架构师并不是优秀的架构师。

作为技术领导者

一名好的软件架构师需要明白,作为领导者并不一定要告诉开发人员做什么。相反,好的架构师就像一个导师,能够带领开发团队向同一个技术愿景前进。

作为开发人员

一个架构师同时又是一个好的开发人员。通常,做出一个良好的架构选择需要权衡理想的架构状态与软件系统的当前状态。

聚焦系统

经验丰富的开发人员明白代码只是软件的一个部分。为了让代码运行,他们还需要了解代码在生产环境中运行良好所需的其他重要质量属性。他们需要考虑部署过程、自动化测试、性能、安全和可支持性等方面。开发人员可能以临时的方式来实现这些质量属性,而架构师不仅需要专注于了解代码,还要了解并满足不同利益相关者(如支持、安全和运营人员)的需求。一个好的架构师需要专注于寻找那些能够满足不同利益相关者需求的解决方案,而不是选择针对某一个参与者的偏好或风格进行优化的工具或方法。

具备企业家思维

成熟的架构师要具备企业家的思维,所有的技术选型都有相关的成本和收益,一个好的架构师需要从这两个角度考虑新的技术选型。

具备权衡策略思维与战术思维

好的架构师会持续关注可能有用的新技术、工具或方法,但不一定立即采用它们。技术采用往往需要长期的考量。

能够进行良好的沟通

架构师需要知道,有效沟通是建立信任和影响团队以外成员的关键技能。他们知道不同群体使用不同的词汇,良好的沟通才是成功的关键。

3 访谈软件架构师

如果说大多数人的优秀伴随着锋芒毕露,叱诧风云的标签,那他的优秀则多了一份从容不迫。他不张扬,不爱说话,但是每次说的话都很有说服力,个人特别爱钻研。他就是Aaron,来自群硕的一位软件架构师,内部公认的技术大牛。

Q:.在群硕,架构师的主要职责是什么?

A:进行技术选型,设计系统架构,从易维护、可扩展、高性能、安全等多方面满足业务需求;负责核心系统的框架搭建、编码,制定完善的项目开发流程、规范;对复杂业务需求进行解构、划分,协调团队成员共同完成;进行技术团队建设,带头攻克技术难点,活跃技术氛围,提高团队平均技术水平。

Q:你所理解的架构师是什么样的?

A:架构师是技术团队的领头羊,一个称职的架构师可确保团队有条不紊的前进,对项目成败有至关重要的作用。

Q:你认为架构师必备的素养有哪些?

A:逻辑思维严谨,对技术优缺点、发展趋势有敏锐的洞察力;优秀的归纳、抽象能力,能透过现象看到本质才能有效解决问题;对技术有热情,吃苦耐劳,能自我驱动;高度的责任心,认真负责,精益求精。

Q:对有志往架构师发展的同学,

你有什么要说的么?

A:练好基本功;多思考,多总结,技术背后原理是怎样的?为什么这样设计?有没有更好的办法?注意锻炼抽象能力。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月2日
下一篇 2020年1月2日

相关推荐