如今,api似乎无处不在. 任何流行的网络应用,比如Facebook和Twitter,都会有一个公共API.
你知道他们很重要, 现在就落到了你的肩上,该如何聘请API专家为你的公司做一些API开发或执行一些API集成服务. 但是api的世界比你想象的要复杂得多!
如果你对它不够熟悉的话, 你可能最终雇佣了完全错误类型的API开发顾问. 继续往下读,找到一些简单的方法,在你的下一个招聘阶段避免这些和其他的陷阱.
不知道自己需要什么
你防止招聘陷阱的第一道防线是了解他们在为你工作时实际要做什么. 你可能不想深入技术细节,那也没关系.
就像找兽医和找儿科医生的区别一样. 你不需要在任何一个领域接受培训就能理解这一点. 事先不知道这一点是在浪费你和他们的时间.
1. 不知道API类型
首先, api可用于描述从期望web服务如何运行到期望如何运行的所有内容 硬件 行为. 以及介于两者之间的一切.
例如,您可能正在开发一个c++库API. 如果是这种情况,那么筛选REST API只是让您落后于计划.
首先让自己进入正确的世界:操作系统, 软件, 语言绑定, 网络协议, HTTP端点 ——这些都可以归入“API开发”的范畴,但是过于专门化,无法实现互换性.
2. 不了解工作范围
与api相关的工作有两个主要角色. 生产者和. 消费者,发行商vs. 用户、API开发vs. API集成服务——这些都是同一个概念.
知道这个的最小值是 far 开发API比使用它或与其他API集成更需要具体的经验. 以API为架构的人可以执行API集成服务, 但也不一定相反.
如果你在开发一个API, 另一个常见的招聘陷阱是不知道你的API有多完整. 绿地API开发——尤其是在更关键的环境中, 正如我们将在下面看到的,最好留给那些有更多经验的人.
对于实际上不是API架构师的程序员来说,维护现有的API非常容易, 只要他们在技术栈上足够熟练. 与一个新项目相比,你在这里的返工风险更小. 而且还少了一个关键的搜索标准, 你会有更多的人可以选择,他们实际上非常适合手头的工作.
3. 不知道API的作用域
这个陷阱只适用于API开发,而不适用于API集成. 这里有一个相当自然的关联:公共API可能比私有API需要更多的专业知识, 企业对企业之一. 内部api在这里通常是最不重要的. 也是最宽容的.
但这是一个假设规模的问题. 低调的公共API可能比跨国公司的内部API拥有更小的用户群.
例如, 小型企业的内部API开发人员甚至可能没有体验过公共API user ,更不用说了解在该范围内是什么构成了良好的体系结构和最佳实践.
考虑到这名开发者的工作将会有多大的影响,并相应地雇佣他.
4. 不了解软件栈
这适用于任何开发人员的招聘. 简要地了解您的产品正在使用或将要使用的技术列表. 如果没有适当的文档,现有的开发人员可以帮助解决这个问题.
这个名单可能有几十个. 找出哪些是最重要的,要掌握好.
如果你希望你的下一名员工能迅速提高工作效率, 您需要确保他们已经习惯了操作系统, 编程语言, 以及您需要使用的主要框架, if any. 一个从未接触过Linux的Windows开发人员, 反之亦然, 几乎肯定需要额外的时间才能跑起来.
这几个细节在帮助你寻找合适的候选人时非常重要, 但他们应该很快就能从你的团队中找到答案.
没有合适的经验
现在你已经很清楚要找谁了, 你怎么知道一个给定的候选人是否适合这份工作? 很明显, 这在一定程度上取决于上面的上下文, 在某些情况下,我们的其他招聘指南可以提供帮助 更多的细节 .
But API development hiring in almost any context will share three common pitfalls; we also offer a fourth point for those of you looking at RESTful API development in particular.
5. 从未见过实际的变更管理
对于外部API开发,这一点尤为重要.
您在这里的API开发直接影响到使用您的服务的用户的API集成. 破坏兼容性意味着破坏与你的品牌相关的功能, 因此,谨慎的变更管理至关重要.
根据您的预期规模,您的候选人不必之前设计过公共API. 但他们应该与任何一个特定的人一起工作足够长的时间,以体验他们如何处理变化.
询问一个例子以及他们对此的看法:
什么改变了?
它如何影响API用户?
他们会采取不同的做法吗?
这可以让你了解他们在这个(潜在的关键)领域的能力水平.
6. 不良的文档习惯
要求提供文档样本. 如果他们因为保密协议而没有样本, 这可能是可以的:让他们描述他们理想的文档和他们的习惯, 而不是. 你的招聘直觉会帮你解决这个问题.
但如果他们确实有样本,让任何开发人员对其进行审查. 负责审查的人甚至不需要熟悉技术栈.
问他们:完成了吗?
还要问:所有的描述和例子都写得清楚易懂吗?
如果其中任何一个结果是否定的,请三思. 你可能有一个杰出的开发人员,但文档是 the API的外观. API消费者必须能够理解他们需要从中了解的一切. 否则它就有点像一个没有标签的键盘. 您可能最终会弄清楚每个按钮的作用, 但前提是你把所有的婚纱照都删了.
实际上,这个比喻还不够. 我们以前遇到过一些项目,它们的api带有未记录的接口,但实现了(但没有使用)。, 以及未实现的文档化接口.
也许这种情况就像一个键盘,其中一半的标签按钮实际上没有连接到任何东西, 有些隐藏的按钮可以做你想做的事.
您的API用户不会欣赏这一点.
7. 无经验
api是相当高级的. 这意味着 在项目开发开始时优化它们以适应规模是有意义的 ,如果可能的话。. 在一个全新的公共API中,你需要一个有扩展经验的架构师.
如果你在这方面找不到帮手, 您的API开发人员应该有资格承担双重职责:他们应该知道如何以有效实现和可扩展操作的方式规划您的API.
这可以像集成分页一样简单, 因此,对于给定的调用,您的API只返回可管理的数据量. 如果这不是他们从一开始就想做的事情, 你可能需要更有经验的人.
8. 宁静,但从未听说过HATEOAS
您很可能在RESTful API市场. (如果没有,你可以跳过这一点.我们要选边站,以免挑起一场小小的圣战, 但是:RESTful API开发人员至少应该拥有 偶然发现了 HATEOAS.
他们可能讨厌它(双关语),永远不会使用它, 但API专家可能至少会对它的利弊有一个温和的看法.
如果他们不这样做,这可能表明他们 经验 曝光的范围对你的应用来说还不够广. 当然,这取决于它的范围,如上所述.
今天休息,明天就走?
为什么要费劲去跟上以上所有的要点呢, 只是为了让它明天成为无用的知识?
首先,API的发展趋势并不像Web的某些领域那样迅速. REST早在2000年就出现了, 尽管像Paypal这样的公司已经弃用了他们的SOAP api,转而使用REST api, 有些人仍然认为SOAP是未开发项目的有效选择.
关键是, 就管理级别的技术知识而言,现在研究您自己的API开发需求是一项很好的相关投资. 有些需求,比如好的文档,永远不会改变.
在接受了这篇文章的建议之后, 你应该处于一个更好的位置,找到并雇用最有效的人来完成你的项目. 成功!