程序员的职业道路通常非常清晰。从初级开发人员开始,要么在前端或后端之间进行选择,要么来回移动以获得完整的堆栈。然后是:高级开发人员、首席开发人员或技术架构师,然后是团队领导。这是从个人贡献者到软件经理的描述方法,所有方法都从技术角度进行。
如果你想跨部门调动怎么办?如果您想跨越技术和业务怎么办?如果您想在展示您的技术实力的同时更加面向客户怎么办?
那么也许架构师的角色适合你。
唯一的问题是,在大多数公司,这不是一条清晰的道路。沿途的某个地方有一个支点。而且你不能仅仅通过代码测试来证明你已经掌握了它所需要的东西。架构师带来了好奇心、同理心和技术知识的独特融合。如何看待大局以及三大支柱——商业、技术和人员——如何结合在一起。然后如何用他们的母语向其他人解释它。
解决方案和 API 架构师可能专注于堆栈的不同级别,但也扮演着非常相似的角色。通常,架构师是一个更高级但非执行的角色。架构师通常会做出高层次的设计决策,执行技术标准,并希望以技术和人员技能的组合来指导团队。
普通开发人员喜欢深入挖掘特定产品或语言的细节,但架构师已准备好扩大他们对企业架构以及它如何融入整个业务的理解。
API 架构师的六个特点:
这些不一定是六个不同的角色;这些帽子可以由一个人或几个人佩戴。可以肯定的是,任何形式的建筑师都戴着许多帽子。有很多方法可以到达那里。
解决方案架构师不应该只知道一件事:应该更广泛,以便您可以为客户提供更多价值。
担任架构师角色的可靠途径是软件开发十年,然后是面向客户的工作,无论是开发人员倡导还是更多的产品角色。
任何架构师都需要技术基础。语言、数据库或云提供商并不重要,但您必须实际设计、构建并将某些东西投入生产。
能够从头到尾设计、构建和描述一切。这与必要的同理心、说服和宣传技巧有关。戴上客户的帽子,了解他们为什么要使用他们现在的方法,以及什么会比他们已有的方法更好。
你必须非常有动力去自学。
最需要的技能?共情/同理心
一名程序员可以没有社交技能,而架构师则意味着不同的东西。缺乏进展通常归结为沟通方式。
作为一名架构师,很多事情都归结为翻译或创建一种共享语言。如果每个团队都有自己的 API 标准和指南,那么产品孤岛会使这变得更具挑战性。
架构师的工作是平衡开发人员和产品的需求与架构策略。
架构师的的工作通常是妥协。
成为一名优秀架构师的原因实际上是了解软件是为业务服务的,你为长期而构建,对每个参与的人都有同理心有助于构建更好的系统,没有灵丹妙药,问——甚至是愚蠢的——问题,能够让人们说话都是必备技能。
架构师必须是终身学习者,才能讲出所有这些不断变化的角色、技术和商业语言。
另一种加强学习——并展示你作为架构师的才能——的方法是写博客或发表演讲。如果你不能将想法传达给他人,那么你的想法有多好并不重要,角色要求既能清楚地表达一个想法,也能说服和倡导它。您还经常需要向技术人员和非技术人员进行演示。
他建议练习写作并用更简单的术语表达复杂的概念。使用跨团队和业务方面的人可以理解的类比。
作为一名架构师,经常被迫处理新事物,并且总是给自己一些时间来学习。你需要从你的工作中学到一些东西,你需要构建你的东西。