如何获得一份建筑师的工作
如何获得一份建筑师的工作
原文:https://medium.com/hackernoon/how-to-get-an-architect-job-with-kainos-63d0ddc0e530
工作申请和面试过程可能会漫长而艰难。知道雇主在寻找什么或者他们是否符合你的期望真的很难。职位描述试图解释一个角色,但通常不会透露太多候选人的选择标准。如果雇主一开始就告诉你他们的 标准是什么,那该有多棒?
在 Kainos,我们的多学科团队开发支持数字化转型的软件。团队开始致力于创造和构建正在改变公民和用户体验的大规模数字服务和产品。
我们喜欢(软件)架构师在我们的团队中工作,指导他们在构建软件产品时做出正确的设计和技术选择。我们希望我们的建筑师能够启发和影响他们周围的人,不仅是他们如何工作,而且是他们如何成长和学习。我们相信我们的建筑师能做出重要的决定,所以我们雇佣那些能做出好决定的人是很重要的。
但是我们发现很难找到合适的建筑师来配合我们的发展。我们认为,我们所寻求的东西的公开性和透明度会对此有所帮助。
我们所说的“建筑师”是什么意思?
架构师(从软件的角度来说)是一个专门的角色,需要广泛理解不同的元素如何最好地协同工作。它还需要对代码、组件和产品有深入的理解。这就是为什么我们的建筑师是工程师建筑师,而不是过程建筑师或象牙塔建筑师。
架构师和架构没有一致的行业定义。当我们说“架构师”时,我们指的是负责制定软件设计决策的人。罗里说得好,
一个架构师需要有足够的经验来做出决策并引导其他人朝着正确的方向前进,平衡教条主义和实用主义,知道他们并不知道所有的事情,明白他们还有更多可以学习的,最重要的是明白他们如何利用经验和知识来指导他们的决策。
我们在三个不同的层次上确定架构师的决策范围,
- 技术 架构师为单个团队做出关于应用或基础设施的设计决策。与其他架构师相比,技术架构师将在代码上花费最多的时间。
- 解决方案 架构师为整个解决方案做出设计决策,这可能会跨越许多团队。他们可能专注于基础设施、应用程序或数据,但也了解其他方面。
- 首席 架构师为更大的解决方案或跨多个软件产品做出设计决策。他们负责应用程序、基础架构和数据设计。
这构成了我们架构师角色的核心。当然,技术架构师、解决方案架构师和主要架构师还会有其他的职责,这些在工作描述中有所描述。本文的重点不是描述这些角色,而是关注我们想要雇佣的架构师的特征。
我们在找谁?
我们寻找的是在构建软件时有合适经验和与我们相似心态的人。然而,拥有所有合适的技术经验但不能在我们团队中工作的人是不合适的。重要的是,我们要找到那些关心构建经过深思熟虑、经过测试并满足用户需求的软件的人。
具体来说,我们正在寻找那些,
- 接通什么建筑是。对我们来说,架构就是用正确的技术做出好的设计决策。它更多的是关于设计而不是选择技术产品(尽管这是它的一部分)。它更多的是关于构建好软件产品,而不是写期权论文(这有时也是必要的)。
- 优秀的决策者。我们希望看到最近的决策经过深思熟虑的证据。这很关键,因为这是架构师的主要角色。
- 懂代码的工程师。架构师需要了解当前的代码,以便能够做出好的设计决策。我们大部分架构师都没有时间天天写代码。这是可以理解的,因为他们的主要职责不是写代码,但许多人仍然会花时间,因为他们喜欢它,它让他们保持最新。
- 用于向真实用户交付工作生产软件。建筑师将有交付到生产的经验。这将确保更好地理解非功能性需求、业务需求和用户反馈。
- 打开以避免非功能性故障。架构师需要向产品负责人建议非功能特性的优先级(通常高于功能特性)。这对于避免技术故障是必要的。为此,他们需要了解操作问题以及这将如何影响他们的设计决策。
- 优秀的沟通者。清晰的思考者还需要能够用语言、散文和图画向他人传达他们的想法。架构师应该能够轻松地与开发人员和那些不太懂技术的人交流。简历或面试中的胡言乱语或不会画设计是思维和/或沟通不清晰的标志。
- 能够影响客户思维。建筑师将定期向客户提供建议。他们需要能够与技术和非技术客户交流并影响他们的决策。
- 宁愿开着也不愿关着。在过去的 20 年里,开放标准和开放源码使得构建更好的软件变得更加容易。我们正在寻找那些认识到这一点并喜欢开放而不是封闭的人。
- 协同领导。建筑师很有经验,但他们并不是什么都知道。他们必须依靠自己的团队做出最佳决策。我们希望架构师从开发团队中学习,而不是命令设计。我们寻找那些能够协作领导、鼓励和依赖团队内部专业知识和意见的人。
- 简化器不是编译器。构建软件是困难的。那些把它变得比需要的更复杂的人给团队、维护和操作制造了不必要的问题。所以我们寻找那些努力简化的人。
- 永远学习。像这里描述的许多属性一样,学习不仅仅适用于架构师。积极、深思熟虑——学习者通常专注于改进做事的方式,不满足于现状。如果架构师总是在学习,这将导致更好的决策。
- 帮助和成长他人。Kainos 是一个不断增长的业务,需要我们更有经验的人来发展他人。对于我们的建筑师来说,创造机会和培养他人应该是很自然的事情。
- 探路者。我们喜欢和挑战做事方式的人一起工作。我们积极鼓励人们花时间寻找设计和构建软件的新方法。
我们可以灵活处理的事情
我们正在寻找的许多特征更多的是关于一个架构师的心态,这是通过最近的经验得到证明的。这似乎是一个很高的门槛:这不仅仅是找到在 z 年内拥有 x 和 y 技术经验的人那么简单。
然而,有些事情我们可以灵活处理。
- Java 。我们没有技术政策来强制规定我们将采用哪些技术堆栈。然而,我们更喜欢开源,在过去几年中,我们的大多数团队都选择使用 Java/JVM(或。NET)和 Javascript。我们准备帮助没有丰富 Java 经验的员工提升技能。
- 敏捷。我们更喜欢使用敏捷交付模型。然而,我们并不要求敏捷经验是招聘的先决条件。我们寻求的是一种心态,这种心态适合于不预先计划一切的工作方式,接受变化,合作工作,并专注于改进和价值。如果他们有正确的心态,我们准备帮助那些没有深入敏捷经验的员工提升技能。
- 商业广告。我们是一家商业机构,所有员工,尤其是更高层的人,都需要意识到自己决策的商业影响。架构师还将利用他们的技术专长来支持销售过程,以想象、说明和确定解决方案的规模。我们准备帮助那些以前没有在商业机构工作过的雇员提高技能。
- 地点。我们从英国、爱尔兰和波兰各地聘请建筑师。有些人住在贝尔法斯特、伦敦和格但斯克的主要办公室附近。其他的是以家庭为基础的。根据客户需求,我们通常会与客户共处一地。我们不要求人们每周出差 5 天,但是同处一地的项目需要建筑师出差与客户和团队在一起。
- 认证。我们不寻找像 TOGAF 这样的架构专业认证,因为我们没有发现这些能区分优秀的软件架构师。所以我们更喜欢用自己的标准。
如果你在上面的描述中认出了你自己,并且你想用 Kainos 构建伟大的软件,请在这里找到更多。
感谢凯诺斯建筑师事务所的贡献和编辑:罗里·汉拉蒂,威尔·哈米尔,凯尔·汤普森,阿拉斯泰尔·艾伦,约瑟夫·麦克卡瓦纳和达米恩·泰勒。
黑客中午是黑客如何开始他们的下午。我们是 @AMI 家庭的一员。我们现在接受投稿,并乐意讨论广告&赞助机会。
要了解更多信息,请阅读我们的“关于”页面、在脸书上点赞/给我们发消息,或者简单地说, tweet/DM @HackerNoon。