软件设计师(成为软件架构师的路线图)

软件架构师的路线图阿里-泽纳利(Ali Zeynalli)-6 分钟阅读照片:Danist Soh on Unsplash软件架构师是软件开发团队中的高级别的角色。要成为这样的人需要时间和经验。你需要积累的技能和知识是跨职能的。除了在技术领域的挑战外,这个职位还要求架构师具有良好的社会技能。在开始研究成为软件架构师的总计划之前,让我们先看一下软件架构师的典型类型。
  • 解决方案架构师/软件架构师--低级别的架构师,通常是前任或现任高级软件工程师。他/她负责产品的技术设计和架构,并与业务人员联系。常常领导开发人员。
  • 企业架构师 - 高级别的架构师,拥有产品的整体 "大局观",细节方面的信息较少。这个职位大多出现在非常大的复杂的软件产品中,甚至有时就在CTO之后。
  • 领域架构师 - 这是一种流行的软件架构师形式,在多家公司都能看到。这个职位的目的是成为特定用例、技术栈的建筑师。例如:云架构师负责特定的云供应商。数据架构师负责数据库的操作、设计、协调。移动架构师负责一个软件产品的移动版本。这个数字可能非常长...
  • 功能性架构师--这种类型的架构师主要负责业务方面的工作,对技术领域了解较少。大多数情况下,这种人是有经验的商业分析师,他们设计和领导软件产品的商业逻辑。
我们可以进一步扩展这个列表,因为每个公司可能对特定职位有不同的名称。上述软件架构职位的角色和职责可能因公司而异,但本质是相同的。请看下面的图表,以更好地了解不同的架构师角色在技术/业务技能和知识方面的关系。业务与技术关系图总体规划。有一件事到现在为止应该是很清楚的:软件架构师是超级高级开发人员(通常......),除了那些真正来自商业背景的人。我试图列出不同的主题领域,在这些领域中,软件架构师应该是舒适的。1.数据结构和算法--编程的基本原理对软件架构师来说应该是没有问题的。诸如数组、队列、堆栈、关联列表、不同类型的树、图等数据结构不仅对软件架构师来说是熟悉的,而且他/她还应该能够正确地认识到在哪里使用哪种数据结构。成熟的软件架构师应该知道不同的算法技术,如搜索、排序、递归、动态编程等。在日常生活中,没有一个架构师会从头开始写 "合并排序 "算法,或发现一个新的数据结构。但了解基础知识可以帮助他们在拉动请求审查中做出正确的技术决定。算法简介奖励:《算法入门》是掌握数据结构和算法的完美全能书。2.技术栈 - 无论是后端还是前端,软件架构师必须非常了解当前使用的技术栈。学习特定编程语言的语法是最简单的想法。但积累经验是需要时间的。软件产品基础的不同库和框架也是需要了解的宝贵资产。3.干净的编码 - 让一个软件系统工作并不是软件架构师的最终目标。每当软件架构师进行代码审查时,他/她想到的第一个问题是。1.我可以使这段代码更有性能吗?我可以让这段代码占用更少的内存吗?清晰的代码标准是否被正确应用?我可以利用不同的OOP技术吗?Clean Code奖励:Clean Code肯定会帮助你提高你的重构技能。4.OOP - 面向对象的编程为使软件系统更加灵活、有效和可读提供了巨大的可能性。有经验的软件设计师经常使用这些技术。(如果技术栈适合...)设计模式5.软件设计模式 - 说到OOP,我们不应该忘记不同的设计模式的重要性,这些模式是由GoF首先收集和介绍的。了解这些设计模式肯定会帮助你使你的软件系统更好地使用面向对象的设计。奖励:看看这本书,了解更多信息。Clean Architecture奖励:以下原则可以从R.C.Martins的名著中获得。Clean Architecture6.S.O.L.I.D.原则 - 这些组件原则是软件组件设计中需要考虑的基本技术。有经验的软件架构师如果掌握了这些原则,会很快识别出代码中的违规行为。7.内聚/耦合原则--像REP、CRP、ADP等原则是软件架构师的重要原则,特别是在构建、捆绑插件的时候。因此,这些技术可以应对更多的高层设计。软件架构的实践8.系统设计--有很多软件架构模式,比如。主-从,客户-服务器,微服务,模型-视图-控制器,单向架构,取决于后端或前端项目。当然,我们不可能知道所有的模式。但根据一个项目,软件架构师应该是底层设计的高手。最基本的出发点是领域驱动设计。9.文档 - 这是软件架构师日常工作中的一个关键点。绘制不同的UML图,ARC42文档是这个职位不可避免的一部分。有很多工具,如。
  • draw.io - 免费且易于使用的工具
  • plantUml - Eclipse、Intellij等IDE的插件。非常有用,也是我最喜欢的工具,通过脚本绘制。
  • yEd - 方便的工具,可作为桌面应用程序。
  • MS Visio - 丰富的功能,但不是免费的!
10.证书--对于软件架构师来说,全球知名的认证方案并不多,但还是有国际软件架构资格委员会(iSAQB®)提供的软件架构专业认证(CPSA®)认证方案。CPSA®的认证是全球公认的。因此,成为一名软件架构师需要时间和努力,正如你从上面的列表中看到的那样。但这是很容易做到的:)。(本文由闻数起舞翻译自Ali的文章《Master Plan for becoming a Software Architect》,转载请注明出处,原文链接:https://azeynalli1990.medium.com/master-plan-for-becoming-a-software-architect-be7ba13f0999)

本文经授权 由答答网发布,转载联系作者并注明出处:http://www.dadazzz.com:6443/gx/show-75112.html

如对文章、图片、字体等版权有疑问,请联系我们。

相关推荐

企业微信
运营大叔公众号