技术堆栈应该是一个平衡的产品组合

2020-06-11 20:41:29

在初创公司的早期阶段选择你的技术组合是你将做出的最重要的决定之一。请继续阅读,了解做出这些关键决策的经验法则。

如果你还处于原型阶段,不到4个开发人员,处于生死存亡的模式,那就用你所知道的吧。除非您的产品有很深的技术要求,否则您唯一应该优化的就是您个人编写代码的速度。不要尝试新的东西。不要做实验。编写代码。

理由很简单--如果你不制造一个可行的产品,就没有未来。任何为未来考虑做出的决定都是没有意义的,你应该完全和唯一地优化,以进入公司生存的下一个阶段。

你可能犯的最大错误之一就是把你的初创公司与一项失去精神份额和支持的技术捆绑在一起。没有什么比你用来构建测试版的100星GitHub repo的维护者宣布他们将停止支持他们的图书馆以专注于学校的那一天更令人难过的了。

在我们公司的早期,我们在产品的某个角落选择了一个名不见经传的库来帮助实现数据持久化。我们选择了一个失败者来做一些需要痛苦的迁徙才能摆脱的事情。很痛苦。

要挑选优胜者,请看以下简单的迹象:这是一项非常流行的技术,几年多来一直是一项非常流行的技术几家大公司将该技术用于其产品的核心部件理想情况下,上市公司维护或正式支持该技术。

有很多话要说,关于选择一种枯燥的技术,人们已经说过了。你只有能力在有限的几个维度上出类拔萃,每一项花哨的新技术都是另一件你必须投入精力的事情,因为它的缺点变得明显。

归根结底,从技术角度看,大多数产品工程都不会创造任何新奇的东西。它主要是将技术粘合在一起,并构建一套合理的模型和业务逻辑来提供产品。每次你没有在技术选择上感到无聊的时候,你很可能没有为了公司的最大利益而进行优化。

例如,假设您选择将MyNewLanguage作为您的技术堆栈的基础。因为它是新的,所以当涉及到支持库和功能时,赢家较少。因此,规则2变得更难做到。更糟糕的是,你可能选择了一种失败的语言。现在您正在花费时间来弥补您可以使用的库的不足,或者您正在从头开始重新构建库。这真的是你年轻的创业公司能够负担得起的吗?

如果你太乏味,就很难招到人。你不想让追逐潮流的人加入,但优秀的应聘者对新技术有着健康的渴望和兴趣。理想情况下,你的技术组合应该看起来像一个平衡良好的投资组合,其中包括一些非常不吸引人但经过验证的技术,以及一些新兴的赢家。

你不会挑出所有的赢家。随着你的成长和年龄的增长,承认哪些技术没有跟上业务的规模,并制定一个有意的计划来取代它。做这件事要谨慎,但一定要做到这一点。重大转变需要时间、精力和精力。随着时间的推移,你不能不做转变,但你也不能做太多或错误的事情。