哦,我的代码:如何成为IT领导者

如何成为技术主管,在紧急情况下该如何做,如何实现更高的薪水和职业发展以及Am.ru开发的工作方式-我们在第十四期脱口秀节目“ Oh,My Code”中谈到了这一点。


该计划的主持人是媒体项目技术总监Pavel Shcherbinin,来宾-Am.ru技术总监Alexander Melnichuk。

谈谈自己。
我毕业于ITMO。 他试图在研究生院学习,当时从事小角X射线衍射。 然后,互联网时代开始了,每个人都开始建立门户。 2009年,我的一个朋友打来电话,说他的朋友奥列格(Oleg)想开始他的项目并在圣彼得堡组建一支团队。 我们在地铁上见面。 从那时起,我一直在am.ru工作。 在第一次会议上,Oleg立即聘用了两个人:我是开发经理,然后是首席开发人员Sergey。 也就是说,我们编写了第一行代码。

“来我们的技术总监吗?” -“那么我们有多少人会服从?” “到目前为止,只有你。”
那时没有人谈论技术总监。 “技术总监”通常是一个非常奇怪的职位。 一方面,这是一种管理,另一方面是技术专家。 有不同的变化。 例如,当CTO编写大量代码时。 实际上,这是首席开发人员。 然后,他通常会对各种管理工作感到严重不满。 就我而言,情况恰恰相反。 我100%地管理团队。 我从2009年左右开始停止编写代码,因为根本没有时间这样做。 我可以写,但是后来我必须派我去敌方队伍。

但是您仍然是技术主管。 您应该了解技术的发展,知道前端,后端的发展方式。
我经常阅读,观看并与开发人员交流。 我了解已完成的工作以及如何进行。 然后,在那之前的8年中,我自己写了一些东西。 当然,这不是火箭科学。 但是我现在可以阅读代码了。

如何成为技术主管?
首先,您需要成为一个。 这并不是说CTO超级酷,比其他任何东西都更好。 所有职业都是好的。 您可以成为快乐的开发人员并享受它。 你要当导演 承担管理任务是一定技能。 您需要了解,在大多数情况下,您不会编写代码。 有时,他们会职位空缺,表明您需要一位具有Symfony知识的技术总监,甚至需要一些远程知识。 总的来说,有些地狱。 这些人自欺欺人。 有时建筑师被理解为“技术主管”,这也很常见。

现在您的团队中有多少人,它的结构是什么?
43个人。 结构是平坦的,也就是说,所有这些人在行政上都属于我。 我们没有项目经理和团队负责人。 但是,一支由5个独立团队组成的充分发展的逻辑结构,包括狭窄和广泛的团队,它们同时参与多个领域。 所有团队都完全独立,在项目现场工作。 他们有自治权,这很好。

任务是经过您还是直接交给团队?
当然,直接给团队。 如果他们经过我,那我可能早就死了,因为任务量很大。 我的功能是将通信减少到必要的最低限度。 如果一个人需要某些东西,他必须知道从何处获得这些知识,可以直接与谁交谈。

当然,我们的许多读者都会有一个问题:你为什么需要你? 任务直接交给团队,团队很酷,自组织。 似乎该技术主管甚至不存在。
我的一个朋友曾经说过,导演的任务是建立团队合作关系,以便轻松解雇他。 我们正在为此而努力,但尚未达成。

被解雇的有趣冲动。
梦想,梦想...

您是否不认为许多人渴望领导和董事的职位是为了减少工作量?
昨天我下班了大约22个小时。 作为首席技术官,我经常羡慕开发人员。 真是太好了:来了,您有一个自己喜欢的任务,您自己选择,完成,看到了效果。 一切都超级好。 累了-喝咖啡,玩耍,休息。 如果您有任何困难,请与您的同事交谈并完成任务。 您可以戴上耳机,听自己喜欢的音乐,然后做事。 如果感觉不好,可以在家工作,晚上可以拿点东西。

技术总监是完全错误的。 我通常的一天从一张A4纸开始,写下我今天想做的事情。 我写下来了 然后,这个,然后,我拿第二张纸,再拿第三张纸。 我白天删除任务。 它们很多,它们很小,它们在不断变化。 当您做一件事时,就会出现以下情况。

有时,事实证明,晚上您必须完成一些工作,而在此之前一个小时,会出现新的介绍性消息。 您需要重播所有内容。 这是一个不断变化的世界。 这是主要问题。 我没有一项大任务,我有许多小任务,我需要不断做出决定。 这很复杂。

您能否谈谈最频繁重复的任务,例如昨天的有趣事情? 您的主要任务包括什么?
主要任务是使所有工作正常进行,使我们如期释放,如期完成产品管理部门设定的任务,以便按时交付项目。 我将如何做是我的困难。 困难很大。 例如,人们来到数据中心卸载服务器,但由于他有可疑的护照,所以不允许装载者进入。 或安全人员要求提供一些信息,您需要找到可以提供此信息的人员。 或产品分别在变化,出现新的任务和截止日期,您需要以某种方式将这些任务集成到计划中并加以解决。

敏捷如何适应您的开发系统?
我们完全依靠敏捷生活。 我们有团队在Scrum上工作,还有团队在看板上工作。 我什至不知道没有它怎么办。 曾几何时,当我仍然不知道这个术语时,我们试图建立一个类似的系统,但是我们没有成功,因为这是一项没有教科书的主动性。 例如,长期以来,项目经理和必须分派任务并在方格上作画的人员都产生了“过敏”。 我从来没有项目经理。

团队工作如何?
我们有一个共同的CPO(首席产品负责人-约编),它说明了产品的开发方式。 此外,还有许多APO(区域产品负责人-大约编辑),负责他们的区域。 实际上,组织结构稍微复杂一些,但是我描述了逻辑。 每个方向都有一个独立的团队。 团队从APO处接任务,有时会自行安排。 将任务添加到常规待办事项中,然后形成sprint待办事项,然后完成任务。

在每个冲刺的开始,都要进行计划。 在所有团队中分开。 出现了一个问题:“共同目标的协调情况如何?” 在产品所有者级别上有总体规划。 这是先前在方向之间协调的任务。 另外,我们需要以多种方式进行的技术协调。

如果员工需要与另一个团队协调,那么他会站起来,说他们有这样的问题,请寻求帮助。 我们称这类员工为“童军”。

此外,我们还将召开一次通用技术会议Master Sync,该会议将开发人员和所有团队的代表召集在一起,而没有产品所有者。 在此问题上,我们仅解决技术问题,讨论如何正确解决问题,以及如何同步通用技术。 团队之间的任务。 有时,在Master Sync中,制定的任务由两个或多个团队的员工执行,或者放在共同的待办事项列表中以提供进一步的联合解决方案。

为了制定计划,执行了PBR(产品积压细化-近似)。 开发人员评估任务并帮助产品所有者制定计划并确定优先级。 PBR既可以在一个团队中进行,也可以在多个团队之间进行。 如果产品涉及集成,有时会与外部团队一起进行计划。

最后以每周一次的产品演示结束。 任何想参加的人都可以来。 我们正在在线广播。 产品负责人观看,观看CPO,有时还包括市场营销,销售人员,支持。 团队讨论了已实现的功能,API,文档,测试以及已完成的一切。 那些参与架构或管理的人员可以谈论他们的决策和计划。 也就是说,演示是一种常见的里程碑,它根据团队周期的长短显示整个团队在一两个星期内的工作结果。

此外,每个团队都会进行自己的回顾,讨论组织问题。 如果团队无法自行决定,则问题将提交给团队间会议。 我们每两周进行一次,并确定适用于所有团队,整个办公室和整个产品的内容。 根据追溯的结果,如果每个任务依赖于外部服务,则将分配一个负责人以解决或遵循其决策。 在下一个追溯或Master Sync中,负责人告诉他们他们做了什么或没有做什么,出于什么原因,揭示了哪些优点和缺点。

告诉我一些意想不到的异常情况。
发生异常情况,但是越来越少。 例如,一旦在我们的站点上,桌面上的所有JS都停止工作。 最重要的是找到问题的原因并解决。 用科学术语来说,我们诉诸于安东方法论:我们停止了所有流程,整个团队都在寻找原因。 找到足够快。 解决该问题需要更多时间。

是什么原因
在火上加一点油。 在前端,我们没有更新任何内容。 以及为什么一切都崩溃了,没人知道。 但是它随处可见。 事实证明,我们尚未发布一个小型实用工具,该工具拉出了第三方JS库,该库出现错误。 该库立即被所有代码替换。 结果,JS下了雨。 没有人期望控制系统管理面板中的一个完全无关的工具会破坏一切。

您提到了安东方法论。 这是什么
每个人都有某种专业化。 我是技术总监,有前端开发人员,移动开发人员,系统管理员,DevOps等。 看来,如果我是C ++程序员,我会用C ++编写。 但是如果前端破坏了JS? “ 什么是JS? 人文学科无法理解的东西,我不会做。 -但我通常是系统管理员或DevOps。 我与它无关,拉您自己的JS 。”

Andon旨在防止此类情况发生。 我们的项目失败了,这是我们的共同项目。 我们都开始寻找破裂的地方。 在我所描述的情况下,原因是通常的后端开发人员发现的,他只是坐下来开始寻找,而没有说他没有用JS编写,他不知道什么。 也就是说,安顿的一个事实是,每个人都放弃并开始尽可能地解决问题。

您说问题是由于某种内部系统实用程序引起的。 您没有使用容器化,现在非常流行?
不行

您现在有生产中的码头工人吗?
是的

也就是说,您积极切换到Docker并使用了它?
这是我们工作的主要方向之一。

您的印象如何?
好啊 我什至不知道没有它我们将如何生活。 以前,我们有PHP-让我们摆脱脚本,它开始了。 现在,您无法没有任何容器。

您作为技术总监参与团队的“健康”工作。 讲一点。
我的主要特质之一:我喜欢听别人讲话。 我试图将自己摆在自己的位置,这使我们有可能了解他们的情绪,问题,为什么做出某些决定,为什么感到这样。 这可以帮助我找到正确的出路,做出正确的决定。 对我来说,团队的“健康”,每个人的“幸福”都是极为重要的:对他有益吗,在团队中感到舒适,他朝着什么目标前进,他想实现什么目标。

一次开发人员在个人对话中说:“ 我曾经梦想成为一名技术人员或技术主管,以便获得更多的钱,拥有权力等等。 现在,我在平坦的结构中工作,我们没有技术经验。 但是,有一名技术主管执行管理任务,而开发人员则做出技术决策。 我应该瞄准哪里? 我该如何生活? 生活原则被打破。 尚不清楚进一步的发展 。”

渐渐地,我意识到这不是重点。 一个男人一定要快乐。 他应该执行的任务。 他可以自己选择它们。 职业阶梯可带来财务增长,但可以通过另一种方式实现:解决更复杂的问题,帮助他人,团队工作更快,交付复杂功能更快。 对于职业发展而言,工资,比率在不断增长。 工作簿中的更改是次要的。 运作良好-您会从中获得乐趣。 如果这将对产品产生积极影响,那么薪水将增加,并且工作簿中的位置也会发生变化。

如何成为团队负责人?
您可能根本就不会。 团队合作的意义是做自己喜欢的事情。 在我的实践中,有些情况下有人应他的要求给他开蒂米利。 好吧,我们写了一份备忘录,我们改变了工作方式,增加了工资。 同时,此人说他是团队负责人,但团队不认识他。

反之亦然:一个人向团队解释如何做某事,团队就认出了他。 这些是最好的团队负责人。 如果您想成为团队负责人,那一定会的。 而且,如果您不想要,那您就不会。

您说您喜欢听开发人员的话,当他们告诉您一些信息时,您会举很多例子。 但是开发人员通常是性格内向的人;从他们那里抽出来的话有时很困难。 您如何处理? 如何与开发人员交谈?
所有性格内向的人。 每个人都讨厌人。 那不是重点。 我们一起努力。 我尝试不时与人进行一对一交谈。 获得反馈非常有用。 有一次我不明白一个人正在发生什么。 然后,我们同意每两周开会一次并进行交谈。 之后,一切进行得很顺利。 我告诉他我不喜欢他,他告诉我他不喜欢他。 我们找到共同点,做出决定,讨论下一步我们将如何做。 继续前进。 效果很好。 我们需要沟通更多。

我们的小型突击调查。 您会选择哪个操作系统?
Mac OS

什么是最好的IDE?
JetBrains

给您留下深刻印象的最后一个应用程序,网站,启动程序?
Tinkoff银行的手机银行。

哪个更好:创业公司还是大公司?
如果您只是想过上舒适的生活并获得报酬,请去一家大公司。 如果您不断怒气冲冲,想要运动,肾上腺素,冒险,那么创业就是您的一切。 如果您只想赚很多钱,就不必去创业公司。 不是那样的。

昨天,趋势是移动优先。 今天是机器学习第一。 明天会发生什么?
在一次培训中,他们说,有特殊的人来决定明天将要发生的事情,甚至还可以在此主题上刷卡并卖钱。 机器学习是一种炒作。 还有大数据,虚拟现实,纳米技术和生物技术。 我看到了一张相似的地图:纠结在一起的缠结在不同的方向上移动。 在占星术层面的预测。 我会说,明天将不会有机器学习,而是大数据。 关于上网的人,已经有很多了解。 您只需要学习如何正确使用它。 这些知识被收集,处理,是一种收入来源。

机器人何时会取代您?
可以说它们已经被替换了。 我买了一个机器人吸尘器。

您如何评价任务:以小时为单位还是以故事积分为单位?
无论是故事点数还是小时数。 谁想要。

您买不起最后什么?
斯巴鲁Ascent。

你有多少个比特币?


对这个话题不感兴趣?
这是炒作。

您的朋友最常问am.ru的什么?
当我们接管世界。

什么时候
即将推出。

Source: https://habr.com/ru/post/zh-CN414179/


All Articles