蒂姆利德,或那里和回来

在开发人员中,有些人不仅希望编写漂亮的代码,而且还希望创建有效的方法来简化团队合作。 收到了珍贵的蒂米德·桂冠,陷入了持续不断的交流漩涡中,解决了日常问题,哦,我的天哪,失去了编写相同优美代码的机会,有些人感到沮丧。 我们的 AppsCast 来宾 Sergei Boishtyan则采取了另一种方式,在品尝了团队负责人生活的现实之后,回到了工程师队伍。 与谢尔盖(Sergey)对话时,为何不适合所有人使用东帝汶主义,为什么增长并不总是一件新的“小事”。



Alexey Kudryavtsev:大家好。 谢尔盖,告诉我一些关于你自己的话吗?

Sergey Boishtyan:目前,我是一名高级开发人员,是负责人,技术专家,只是一名开发人员。 我在Avito工作,然后在Tinkoff工作。

丹尼尔·波波夫(Daniil Popov):首先让我们澄清一下开发人员是谁,他承担什么样的责任,以及他在工作中的工作。

关于开发者角色


Sergey Boishtyan:开发人员主要是一个角色,而不是特定的职位。 IT中有很多人可以同时开发和执行其他功能。

在旅程的开始,专家专注于开发,然后树立责任:参加与测试人员,设计师的会议,制定建筑决策。

开发人员-工程师帮助实现产品功能的角色。

这是面向最终用户的产品,或直接面向开发人员的产品。 例如,在过去的一年半中,我一直在为公司内部的开发人员生产产品。

Daniil Popov:开发人员负责什么?

Sergey Boishtyan: CI / CD的实践正变得越来越流行,开发人员有责任采用一项功能,独立实现该功能,使用自动化工具对其进行测试,或者与进行测试的人员保持联系并控制其发行。

丹尼尔·波波夫(Daniil Popov):简而言之:通过所有500个状态,将吉拉(Jira)中的任务从待办事项带到已关闭。

Sergey Boishtyan:如果相反,那么开发人员就不是那些不在乎其功能的工程师。 这样的人提交拉取请求,但是他们对发布功能不感兴趣,他们不想修改代码或消除冲突。

关于团队的重要性


Daniil Popov:开发人员的任务是确保用户享受代码的质量和效率。 那么什么是团队,它要解决什么任务? 您是否区分团队类型?

Sergey Boishtyan:您可以考虑人们在职能职责上有所不同的团队,以及人们在职责水平上有所不同的团队。

我是通用团队的粉丝,那里的每个人都有一定的专业知识,但是知道如何做所有事情,并且瓶颈是自动的。 在这样的团队中,人们是平等的,不断沟通并共同做出决定。

有一些团队,每个团队都有自己的责任区。 在开发人员中,开发人员首先编写代码,其次,如有必要,为负责产品质量的测试人员提供支持。

Alexei Kudryavtsev:我听说这不是敏捷的。

谢尔盖·博伊斯蒂安(Sergey Boishtyan):原则上,这可能是一段正常的历史,而且在历史上已有发展。 但是就个人而言,当团队中的人员具有相似的责任并且责任因特定的冲刺而混合时,我喜欢它。 现在我们的团队有十多个开发服务,每个服务都需要自己的专业知识。 在一个冲刺中,您要做一件事,在另一件事中,您做任何事情,并且在任何情况下您都必须进行沟通,因为知识和发展的不断共享。 当您只是开发人员,测试人员或设计师时,您只会在一个方向上深入研究。

Daniil Popov:就我个人而言,我不喜欢“通用代码-共同责任”的概念。 似乎这种做法导致了没有人负责的事实。 你觉得呢

Sergey Boishtyan:最近我在书中碰到一个短语:“如果有一个以上负责任的团队,或者根本没有,那么什么也不会发生,因为没人愿意承担责任。”

当一切都相同时,我喜欢这种方法,但是您可以明确地关注一个星期或一个月。

当我们计划冲刺时,每个人都应对自己的部分负责,开发它,意识到自己应该这样做。 当然,随着负责人的频繁更改,可以在切换上下文上花费大量时间。 同时,总是存在某些功能的OUNER来管理待办事项。 这种责任将持续多久取决于产品。

Alexei Kudryavtsev:我认为分担责任行不通。 如果有人主动寻找想要做生意的人,他将找不到他们,因为每个人都会以为别人会这样做。

Sergey Boishtyan:为了最终承担起共同的责任,我将举例说明。 通常会有一个拉取请求,“接触”某种模块。 如果该模块不负责任,则所有审阅者(以为其他审阅者将留下更有用的评论)将在内部简短地显示。 结果,代码变成了哈希。 然后出现“为什么这样”的问题的答案:“我做到了,没人回答我,我认为这是有效的”,然后演变成“它确实发生了,不要碰它”。

关于团队负责人的基本职责


丹尼尔·波波夫(Daniil Popov):作为一个将这种责任集中于自己的人,我们正在逐步采用“领导”的概念。 这样的人的责任是什么?

Sergey Boishtyan:领导也是一个角色。 他的职责取决于他所在的团队。 如果我们谈论的是一个人人平等的团队,那么领导通常会指导团队成员,因为通常很难达成共识。 然后,线索的主要任务是将任何争议都带到富有成效的目的,当出现问题时,尽快并有效地解决它。 铅可以帮助其他人表达自己的意见,并且鉴于他们也具有专业知识,因此保持公正。 从外部看来,scrum-master可以扮演这个角色。 据我了解,scrum-master通常在一边,可以为会议提供便利,但是我希望这个角色可以留在团队负责人手中。

如果团队中的职能明确分开,则团队负责人也将成为拥有流程的人。 在每个阶段,他都了解谁在做什么以及负责什么。

他们经常告诉我,团队领导是企业和团队之间的一种保护伞,因为每个人都只知道他们的障碍,但是我希望有一个知道产品当前状态的人。

阿列克谢·库德里亚夫采夫(Alexei Kudryavtsev):我的印象是,领导者可以做所有事情。 您是一名架构师,一名Scrum管理员,您必须找到人并能够为他们提供便利。 这是一个巨大的收藏。 这不是一个角色,而是几个角色。 真相在哪里?

Daniil Popov:最重要的是,您不能同时编程。

Alexei Kudryavtsev:嗯,您正在尝试。

丹尼尔·波波夫(Daniil Popov):关键词是“尝试”。 我写了三行,它们分散了您的注意力,仅此而已。

Sergey Boishtyan: Lead是一个可以填补团队空缺的人。 每个团队,不论其格式如何,都有问题,需要将他们的责任转移给某人。

Alexei Kudryavtsev:在我看来,领导者与人和他们的动机息息相关,但是有一个单独的架构师负责代码。

丹尼尔·波波夫(Daniil Popov):我区分“团队领导”和“技术团队”的概念。 Tehlid是负责产品技术方面的人员:要使用哪些库,模式,要应用哪些基础结构。 Timlid与人员管理有关。 这些角色不重叠。 您可以尝试合并这些角色,但是要并行遵循架构和1:1是非常困难的。

Timlid是团队负责人,带领团队迈向光明的,用户友好的未来。

Sergey Boishtyan :让我们回到“团队”的定义上,很多人在做一件事。 为了高效地做某事并保持团队合作,您需要一支团队领导,由来自不同工程师的整体雕刻而成,从而有可能实现每个人的潜力,从而使产品变得更好。

丹尼尔·波波夫(Daniil Popov):如果寓言中有一只天鹅,小龙虾和长矛的胆小,他们会把它拖到应该的地方。

提姆利犬从哪里来


Daniil Popov:了解他们如何成为团队负责人很有趣。 我扔了四种方式。 第一:团队负责人任命最佳开发人员。 第二:任命最有经验的人。 第三:任命其他功绩,但没有提出什么要求。 好吧,第四个选择,当开发人员自己发挥主导作用时。 您认为哪些选择可行?

Sergey Boishtyan:我将从我的经验开始。 在某个时候,我想承担更多责任并影响正在发生的事情。 我经常提供一些东西,最后意识到,您不能提供,但立即可以提供,另一方面。 他们告诉我说,自从项目开始以来,我就准时了,他们给了我一个机会来尝试自己成为团队负责人。 有一种假设认为,作为负责任的开发人员,我会成为团队中的佼佼者。

在您的选择中,您可以留下两个:主动权何时来自您以及何时主动权来自外部。 就我而言,她是从我这里来的,但我发现相邻团队的情况恰恰相反。 他们从团队中挑选了一位经验丰富的开发人员,认为他已经了解这种文化,知道如何进行交流。 没有人拒绝,因为他们向那些了解他的人提供了帮助。

丹尼尔·波波夫(Daniil Popov):我有相反的经历。 我的团队领导消失了,他们使我成为团队领导。 相信经验丰富的开发人员将成为优秀的团队领导,但这从根本上是错误的假设。 最近,我读到这样一个想法:通过让最好的开发人员成为团队领导,您会失去最好的开发人员,并且会遇到糟糕的经理。 你同意吗

Sergey Boishtyan:听起来像是事实。 我还没有遇到那么多优秀的团队负责人。 作为人,我都很喜欢他们,但是我常常对他们如何发挥作用感到不满意。 在我看来,我可以做得更好。 既然我知道自己做不到,那么我已经为明确的领先优势制定了明确的标准。

如果您可以听别人的话,知道如何豁达,知道如何传达别人的想法,那么这已经是一半了。 其余的练习。 由于持续不断的压力,您将学习时间管理和任务优先级。

如果一个人知道如何沟通,突出重点并具有良好的技术技能,那么我绝对会建议他尝试以团队领导的身份来尝试。

增长问题


丹尼尔·波波夫(Daniil Popov):进一步的提利都应该往哪里去? 手机业务主管,首席执行官,首席技术官?

Sergey Boishtyan:为什么要搬到某个地方?

丹尼尔·波波夫(Daniil Popov):在我们的后苏联时代,有人认为必须始终在某个地方成长。 如果不成长,那么生活就白费了。 您只能通过增加位置并接收新的字符串来增长。 我之前也这么认为,然后我意识到这是一条可选路径。 成长对您意味着什么?

Sergey Boishtyan:一旦我了解了一个人的势力范围的分类,增长就意味着一种势力范围的增加-专业,财务,社会,家庭和健康。 六个月前,我了解了Schwartz价值问卷 。 然后我不明白我是否想成为领导者。 我寻找问卷和测试,试图了解哪些领域对我很重要。 我是想成为著名的开发人员还是高薪,还是想要工作与生活之间的平衡,对我而言,我所处的水平并不重要。

根据施瓦茨的调查表,事实证明,对我而言,成为一名专业人士,拥有认可感和一个家庭很重要。 我意识到我喜欢从事具有技术挑战性的任务,在播客中进行演示或录制,但是如果您需要花时间准备演讲或在工作中完成任务,我会选择后者。

重要的是要了解这些值是动态的。 您一生都不想成为一个很酷的专业人士。 在某个时候,您将到达终点,再次进行调查,事实证明,现在您的首要任务是家庭。

您需要成长和发展才能快乐。

只是人们经常在错误的方向上成长和发展,因为他们没有意识到什么对他们真正重要。

Alexei Kudryavtsev:事实证明,最重要的是了解您的成长所在。

关于团队领导力的利弊


丹尼尔·波波夫(Daniil Popov):让我们找出您喜欢的角色和不喜欢的角色。

Sergey Boishtyan:首先,我会再解释一下为什么我想成为领导者。 当我进入开发阶段时,我对自己所获得的一切感到欣喜若狂。 然后我进入了团队,由于误解和沟通不畅,请求请求开始出现问题。 进行理性的对话并没有取得成功,但是内部却有一种高效地做所有事情的愿望。 在这种情况下,我呼吁帮助,但他还不够每个人。

我开始想到团队应该具有团队或领导者所制定的普遍接受的原则和实践。 我认为,对于团队领导者的角色,我将提出每个人都会喜欢的做法,每个人都会很快同意,将不再发生冲突。 带着这样的想法,我开始阅读有关谈判的书,我遇到了叔本华 。 有一个好主意,人们听不见争论,必须独立得出结论。 通过强加您的意见,您只会引起捍卫自己的愿望。

所以我学会了首先问自己一个问题。 我认为线索的有趣任务之一是帮助人们回答自己不问自己的问题。 我确信,成为领导者之后,我将继续编写代码,只会创建实践,一切都会好起来的。

Alexei Kudryavtsev:我知道您想编写代码,但是可以随心所欲。

Sergey Boishtyan:我想快速编写代码。

丹尼尔·波波夫(Daniil Popov):在我看来,这是一种正常的动机和领导地位,只要您提供某些东西,并且人们同意您的意见。 您设法将自己的想法传达给公众,她接受了您,将您放在装甲车上,现在您可以使人们前进。

Sergey Boishtyan:我遇到了什么问题? 我很幸运,我没有取代任何人或打架。 我只是作为一个新项目的负责人,招募了一些人加入团队,他们接受了我的原则,但是在某些时候,那些不太同意我的人出现在了团队中。

丹尼尔·波波夫(Daniil Popov):您雇用了他们吗?

Sergey Boishtyan:是的,它发生了。 我学会了说话和交流,但对自己的想法没有自我批评和客观性。 我得出的结论是,我们不应该弘扬思想,而应该理解正确的思想并加以弘扬。 这并不容易。 我们经常发生争执。 团队中有一个人怀有正确的想法,他无法传达,我的任务是为他传达信息,当然,我有自己的自我和观点。

由此产生了内部冲突,一方面,似乎您可以传达思想,那是正确的;另一方面,您只是知道如何比别人说得更好。 我花了一段时间才意识到这一点。 在这一点上,团队成长了,我失去了编写代码的时间。 我想知道为什么要这么做。

我对人有理性的想法,帮助传达他们的想法,而我自己却什么也没做-这有什么用? 也许对我来说,成为开发人员这些想法对我来说更有用?

然后我想到了对我来说更重要的事情,我开始在通讯方面得分,以承担自动化的基础设施任务。 当我这样做时,团队中开始发生冲突。 另外,我开始注意到我的技术沉降已经开始。 当您长时间不编写代码时,您似乎已经落后了行业:发表了一篇文章,但您没有阅读它,召开了一次会议,并且没有时间离开。 它开始粉碎。 我得出的结论是,直到我成为一名了解很多并且能够理解的工程师之后,我才会成为团队负责人。

回到开发商


Alexei Kudryavtsev:是不是吓到您了,把领先者留在开发人员中,您失去了增长的希望,您将成为高级开发人员直到您的日子结束了吗?

Sergey Boishtyan:我毫不怀疑,也有很长的思想。 这积累了下来,在某些时候,我感到团队领导并不是一种乐趣。 我以为我可以成为什么样的人,意识到自己只能成为一名开发人员,因此我同意这个想法。

我并没有尝试立即解决所有问题,而是在感到高兴的时候回到了状态。

丹尼尔·波波夫(Daniil Popov):您说您成为团队负责人是因为您想成为决策大师。 当您再次成为开发人员时,您又成为了表演者。 它仍然困扰您吗?

Sergey Boishtyan:非常不舒服。 有两种选择:要么与您所说的相调和,要么学会告诉别人,以便您被听到并改变主意。 我再次开始培养我在团队领导中扮演的角色的素质,但现在的目的不是达成共识,而是传达意见以使他们能够听到并理解人的动机。

我团队的问题是团队负责人不知道如何传达他的想法,我意识到我的任务是帮助他传达他的话的含义并提出其他有理有据的解决方案。

Alexei Kudryavtsev:您是如何发展这些听力技能并了解自己的?

谢尔盖·博伊什扬(Sergey Boishtyan):有一本名为“黑色修辞学”的书,介绍了如何操纵人并认识他人的操纵。 总的来说,我读了很多东西,不是关于对话和谈判,而是关于理解他人的能力,要考虑到人们不仅是逻辑和理性主义,而且是情感。

但是薪水呢?


阿列克谢·库德里亚夫采夫(Alexei Kudryavtsev):领导层的薪水也更高。 如何再次成为开发者而又不亏本?

谢尔盖·博伊斯蒂安(Sergey Boishtyan):我知道在这个世界上总会有比我收入更多的人。

只追逐金钱是没有道理的。 我个人认为我的作品是根据市场支付的。

如果您级别的开发人员只收到一笔付款,而您的收入较低,那真是遗憾。

丹尼尔·波波夫(Daniil Popov):金钱动机持续三到六个月,然后停止。

Sergey Boishtyan:我没有听到这样的事实,但我同意。

阿列克谢·库德里亚夫采夫(Alexei Kudryavtsev):满足货币需求后,将会出现更重要的需求,他将对此予以关注。 例如,较酷的项目。

谢尔盖·博伊什扬(Sergey Boishtyan):我在TED上观看了一段视频,演讲者列举了一些实验示例,证实了不同类型的动机 。 有些人被承诺要为某项任务花钱,而另一些人则有条件为该任务提出独特的解决方案。 事实证明,前者的任务执行速度比那些面临挑战并想出新方法的人慢。 演讲者,动机书籍的作者,解释说现代人受到责任和自由的激励。 在过渡到开发过程中,我对金钱没有任何想法。 以市场水平付款表明您是一名优秀的程序员,并感谢您。 与潜在客户比较并不适合我。

Alexei Kudryavtsev:许多人从高薪领先者那里降级时感到不舒服。 如何忍受您亏钱的想法?

Sergey Boishtyan:有两种选择:找到开发人员的职位收入较高的地方,或者找到另一种赚钱的方法。

关于计划


Alexei Kudryavtsev:现在您又是一名开发人员,您如何看待这一角色的发展?

谢尔盖·博伊什扬(Sergey Boishtyan):我不知道五年后我会获得什么样的价值,但是直到那段时间我才能对自己的角色感到满意,尽管一年中我当然可以说完全不同的话。 我有一个长期的战略计划,十年后,如果我继续成为一名优秀的工程师,我将成为顶级IT的一名优秀代表。

Alexei Kudryavtsev:但是技术已经过时了!

Sergey Boishtyan:告诉您的CTO。

Alexei Kudryavtsev: CTO不是工程师,而是主管。

Sergey Boishtyan:我潜入领导层,了解需要什么技能,要成为领导者。 .

, — developer advocate.

, .

, . , , , , , .

, , , , .

: , CTO , .

: , , .

— : - .

: .

, , , , - .

, , , .

: , , ?

: . . , , . , . , . .


: . , , — , , — .

: , . , , , .

— : , , , .

, , . , .

— , , .

- , , . , , .

: : , .

Saint AppsConf CI/CD. , soft skills , . , , .

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


All Articles