担任首席技术官(首席技术官)或首席技术官感觉如何? 也许是工程师开发的最高阶段之一。 这样的位置会使生活变得更好? 这就是我今天所说的。
一开始,我想指出的是,一切都是非常主观的,并且取决于公司。 我将介绍我在相对较小的公司和初创公司中的经验。 当然,对于许多人来说,经验可能会有所不同。
刚开始时,我没有很多工程师可以管理,所以我必须自己组建一个团队。 我立即投入了雇员的雇用,预算分配和工作空间的组织等等。
为什么要去那里?
一个人向往这个职位时会产生什么动静? 其中一个因素可能是金钱,但是这里并不是所有事情都清楚。 如果您看一下莫斯科和圣彼得堡,很酷的工程师的薪水可能会比主管高。 也就是说,金钱远不是决定性的论据。 例如,对我个人而言,这是一个以不同方式影响发展的机会。 如果以前的代码质量和产品本身取决于我,那么随着新职位的出现,影响力会大大扩大:管理预算和选择全球技术解决方案,激励团队并组织整个工作流程成为可能。 所有这些使快速实现目标,为公司选择发展战略和方法成为可能。
我注意到这样一个事实:如果早在我是一名开发人员时,我的工作效果几乎立即可见,在sprint之后达到最大,现在至少要花三个月的时间,更经常要花至少六个月的时间才能看到结果。 但是fakapy要亮得多-通常每个人都会立即注意到它们。 是的,公司的成本要比普通工程师,分析师甚至项目经理的错误高出数倍甚至数个数量级。
新职责-新发现
我升任新职位的那一刻充满了力量和热情。 有一种斗志,我想重做一切。 但这是一个典型的新手错误。 似乎一切工作都出错了,我们不得不重写并修复它。 公司越大或项目越复杂,似乎存在更多问题的能力就越强。 但是实际上,深入研究所有这些,您会开始冷静下来-并非所有事物都像乍看起来那样简单而明确。
看来您想修复所有问题并做得更好,但是团队间却碰到了误会。 他们是这样看的:有一个改革者进来,整日都在做一些垃圾,在那儿引入一些东西,阻止他编写代码,但是一切正常。
此外,我逐渐投入到CTO的工作中,我觉得那是幸福:完全控制开发,决策,最后,您可以做自己认为更好的事情。 而且不喜欢上一份工作的那个老板。 但与此同时,其他不那么有趣的责任也随之而来:预算分配,工资基金(工资基金),家庭问题,雇用人员等等。
刚成为CTO时,我对很多职责一无所知。 例如,每个团队需要一名工程师。 您需要向HR传达需要什么样的专家,他应该做什么。 您也拥有完善的薪资,并且您需要以某种方式找到新员工的薪水,且不得超出预算。 然后,您需要监视市场,以免被竞争对手追赶。 同时,错误可能会带来可悲的后果,如果您对他的评价不佳,他会离开然后告诉所有人您是一只山羊。 如果没有其他地方可以种植,可以租一个新办公室? 而且仍然需要购买家具和安装空调等。
如果早先所有资源都奇迹般地出现在您身上,例如游戏预算是从服务器,某些产品等的包装盒中取出的,则CTO会自己提取它们。 我们必须“走下坡路”,捍卫我们的决定,并试图解释发展所需要的东西。 在这种情况下,您只需证明对企业的直接好处。
事实证明,当需要做出战略决策时,知识并不总是足够的。 此刻,您了解到,您迫切需要下载所有知识领域的技能。
我们还应该说一下工作日的长短。 我的印象是,随着职位的增长。 如果工程师坐了8个小时,有时会流连忘返,那么在CTO职位上,与8到23保持联系已成为常态。 有时他们甚至在周末打电话,并以奖金的形式在您度假时打电话给他们。 就像您去海边一样,但是您正坐在房间里的笔记本电脑上做某事。 同时,会议,会议,通信和问题解决占用了70-80%的工作时间。 您只有剩下的时间会尝试做一些有用的事情。
我以为我只会处理与开发管理相关的事情,但实际上我必须与所有人进行沟通:从安全防护员到高层管理人员。 随着所有的技术问题来到我身边。
谈判中
有时我需要与Auto.ru或Avito等大公司进行谈判。 在这里非常重要的是,不要直面污垢,并表明您代表着一个认真的公司。
但这是相反的:当局以某种方式派遣与合作伙伴进行谈判,(关键词)似乎同意我会见开发部负责人。 结果,他到达了另一个城市,事实证明没有人在等我,部门负责人一起去了另一个会议。 为了使旅行并非完全没有用,我不得不以某种方式与开发人员建立联系。 告诉我们我们想要什么,并且确实实现他们只是听您的话已成为另一项任务。 结果,他以某种方式与他们交谈,勉强退出,获得了必要的信息并解决了基本的技术问题。
进一步-更多垃圾。 我去了另一个城市,讨论将另一家公司与我们的系统集成在一起的技术方面。 我到了,原来那是家庭合同。 即使没有办公室,微型公司也遇到了我。 一位怀孕的分析师(穿着酒精上衣的主要开发人员)在公寓里跑来跑去,在讨论中,一只说话的鹦鹉在我身边飞来飞去。
业务与发展之间的平衡
当您是开发人员时,您认为使用新技术重写某些内容或使用出色的DBMS会很不错。 现在它以不同的方式起作用:您在不同的平面上考虑每个新想法,即如何将其“卖”给老板。 例如,您想要将服务的某些部分从PHP重写为Go。 对于上级来说,这是一个空短语,不能花费一毛钱。 毕竟,性别在其他类别中思考-条款和预算。 因此,没有时间和资源去找他,要求实施一些想法是一件坏事。 您将立即想像一下这将如何帮助企业。 如果某种技术解决方案不允许企业出售或节省更多,那么该计划显然是失败的。 另外,必须牢记实施的潜在风险。 因为如果某些事情没有按计划进行,那么由您来领导。
现在,业务与发展之间的平衡问题变得更加尖锐。 另一个重要变量添加到任何任务中-解决方案的成本。 同时,技术方面并没有消失,对业务的偏见也是有害的。 技术总监必须了解这一决定在未来的成功程度,未来是否会开发和支持某项特定技术,进入该技术的门槛是什么,是否对现有团队的工程师来说太难了,或者是否有必要去监视市场并雇用新技术。 这是技术背景派上用场的地方。 而且,如果CTO成长于一名经理,并且不知道Java和JavaScript之间的区别? las,这也发生了,这很可悲。
CTO住在Scylla和Charybdis之间。 一方面,程序员“渴望”冷却技术解决方案,另一方面,一家企业希望尽可能节省开发成本,并且不能等待功能变脏。 前者一直想引入新事物或改写旧事物,而后者则需要加快开发速度并降低风险。 我们一定不能冒犯工程师,也不能在当局面前搞砸。
任何地方都不会妥协。 有时坦率的拐杖有助于取得良好的销售业绩。 然后他们被证明是合理的,开发人员不得不忍受他们。 有时,您必须在上级领导面前“做出”一些决定,并为他们敲定预算,以便将来节省开支。
我还遇到了这样的事实,即我已经建立了某种流程并停止对其进行监视。 一切似乎进展顺利,但没有适当的效果。 实际上,员工可以简单地得分。 我意识到我们必须遵循所有流程,而不能放任自流。 而且,如果您放手,则需要300%确保有人会这样做,并且一切都会按计划进行。
我还要强调一点。 在技术专家的职位上,您不再编写代码,所有工作都减少到解决方案的选择和知识在团队负责人之间的传播,而这些团队负责人则负责培训普通工程师。 自然,编程技能会丢失。 即使您不需要手动在CTO位置编写代码,您仍然需要了解该技术。 因此,我们必须以某种方式有时间遵循这些,阅读书籍,听取报告。 如果您不熟悉某些东西,那么工程师可以理解这一点并扔掉一些垃圾,例如“老板是个傻瓜,然后是搭便车”。 当您更容易用自己的双手来做某件事,而不是试图向团队解释问题并从他们那里获得解决方案时,也会发生这种情况。 结局很糟,人们可以停止尝试并坐在脖子上。
管理策略
好像最近您是程序员或团队负责人,并在星期五与这些家伙喝啤酒,但您已经长大为CTO,他们变成了您的下属。 其中一个来找你:“兄弟,提高我的薪水。” 在这里,人际关系开始受到干扰,有些尴尬。 在这种情况下,您需要表现正确。 如果一个人干得很辛苦,那也许值得剥夺他的奖金。
我们必须捍卫我们的权威,但不能成为暴君,也就是说,我们需要适当的平衡。 是的,现在有通用的肩章,但是您不能拿走并做些事情,因为它已经进入您的大脑。 在这种情况下,民主就没有味道。 在那之后,没有人会爱你。
在我看来,很大程度上应该基于信任。 因此,我重复一遍,您需要谨慎对待诺言。 否则,信任的信誉就会下降,这最终会导致负面后果。 此外,该原则对开发人员和企业都应同样有效。 例如,他答应提高工资,但预算被削减了。 我不得不通过钩子或骗子来钩住其他奖金和bun头。 最好不要给出空洞的承诺,否则他们会认为这是空洞的钟声,将很难清理声誉。
我们曾经有个勇敢的家伙保护您免受一切伤害,但是现在没有任何保护,因为我成了这个勇敢的家伙。 而且,在任何情况下,您都不应表明自己陷入困境。 如果这在外部表现出来,那么普通员工将立即感到负面。 这就是沮丧和中毒的工作氛围。 现在,您应对每次打喷嚏负责。
斜视很多时,您必须能够识别这一点。 根据我的经验,我要说的是,您需要能够收集所有人,站在凳子上说:“同事,我搞砸了。” 如果您添加以下内容:“但是我知道如何解决它”,那么这已经是正常现象,并且人们对此的尊重正在增加。 人们会理解地对待这一点。
求职CTO职位
奇怪的是,服务站位置的空缺数量很大。 但是他们通常不会被放在hh和类似的资源上,大多数情况下,他们是在会议或熟人的推荐中寻找技术同行,或者至少是仔细观察。 怎么了 我没有一个明确的答案,但在我看来,重点在于评估能力。 即使问题与架构有关,您也不能提出问题并查看结果。 CTO不编写代码。 要求展示一个人将如何构建流程和实施敏捷? 您可以,仅效果将需要等待六个月。 而且,人们通常无法充分评估事物的状态,他们认为一切对他们都很酷,并且当您稍微挖掘一点时,就会出现混乱。
如果您考虑公司希望从专家那里得到什么? 如果是开发人员,团队负责人或项目经理-一切都会清楚。 如果是CTO,该怎么办? 没有具体的责任清单。 实际上,它必须确保上述所有工作并为此承担责任。 但是事实是,这一切在很大程度上取决于公司。
在寻找工作时,我去了CTO职位进行面试,并观察了这张照片。 一家公司希望您实质上执行Team Leader的功能,他们不需要构建流程,他们希望您仅编写代码。 相反,他们希望您专门处理流程;他们不需要任何架构。 第三个需要一位经理,他们不会对技术方面一无所知。 第四个要求一个将测试业务构想的人。 第五,他们希望CTO参与市场营销和市场营销。 如果公司甚至了解他们想要获得什么,那将是很好的。 有些人需要它来使一切变得更好。
他莫名其妙地笑了起来,他们为我完成了一项测试任务:我必须根据开发项目的平均市场价格来计算创建带有购物篮和展示柜的在线商店的成本和期限。 通常,这就是所有传统知识。 我在精神上希望他们在寻找候选人的过程中好运。
另外,还有一种特殊的公司,其官僚主义程度高,如果没有五个部门的批准,它们不会让你打喷嚏。
因此,在寻求CTO职位之前,您应该考虑自己想要的事情。 最重要的是,公司清楚地了解他们想要您提供什么。 在一次采访中,我无法忍受,并问:“我发现您不明白您在问我什么。 您如何评价我?” 他们回答说,我们读了几本聪明的书,并向另一家企业的朋友询问了他们正在寻找的技术目录。
因此,请谨慎明智地选择,否则可能不值得。
聚苯乙烯
总之,我想说的是,一切都是主观的,没有对与错的决定,这取决于许多因素。 如果要总结一下我所说的一切,我将简化为这样一个事实,即服务站是解决所有问题的人,从最小的问题到最重要的战略问题,他们都是不停地工作,以便其他所有人都可以工作并取得成果。 而且,大多数情况下,他们希望从他那里得到一些他尚未遇到的东西,因此,需要灵活性,适应能力和快速学习的能力。 至少对我而言,这些品质是关键。 当然,这项工作不仅仅包括缺点。 CTO职位可让您实现自己,抱负,