
成为IT公司高层管理人员的主要方法有两种:
- 管理-项目经理开始管理其他经理时。
- Tekhnarsky-开发人员开始管理其他开发人员时,他管理的人员数量增加了。
第一种方法比较自然,因为它暗示着经理成长时其基本素质的发展。 实际上,经理仍然是经理,只是成为更高级别的专家。
第二种方法更长,并且不能保证成功,因为这与内向程序员的本质背道而驰。 但是,在这条道路上,我想专注于并分享经验和知识。
注意,剧透。
- 所有名称都是虚构的
- 旁白更多地与定制开发有关。
- 技能,尤其是软技能很难正式评估,本文中的所有图形都是有条件的,反映了我的个人观点
程序员之路的起点
因此,我们处在程序员之路的最开始。
见面:尼古拉(名字变更)。 Nikolai是位年轻的程序员,他在大学里学习很好,并且已经尝试编写简单的网站。 他进入工作室担任6月前端的职位,他参加了一个使用现代Angular框架1.5版编写了两年的项目。 Kolya的男孩没有和他一起工作,但是他看到了一个熟悉的美元符号,并且他已经设法为jQuery编写了几个插件。 这个事实鼓舞了尼古拉斯,但后来资深同志告诉他,这根本不是jQuery,通常,您需要在此处编写指令,但是这里需要完成两个过滤器。 尼古拉很沮丧,但决心加入这个项目。
现在已经过去了一年,尼古拉熟练地编写了指令,并且没有新模块也不会一天。 科尔在骑马方面感到乐观,因为六个月前,一个年轻的六月在他身上种植了一个六月,用于一个项目,他甚至不知道这是什么指示。 小狗! 尼古拉(Nikolai)与年长的同志们成为朋友,只有一个30岁的男人总是对某些事情不满意。

实际上,在图表上我们可以看到该项目的技术技能以及尼古拉斯拥有的所有技能。 由于这是他的第一个项目,因此,这就是Nikolai所知道的全部。 过了一会儿,他去了当局并要求两袋钱-因为他熟练地为该项目制定了指令,总的来说,他认为他在MR中留下的评论是30岁男子的两倍。 显然,他比团队领导更好。 他对此完全拒绝,并开始寻找新工作,也许他正在考虑迁移到另一个项目或另一个团队。 无论如何,他都面临着这样一种情况,即新获得的知识不再重要,他需要进一步学习。

这是尼古拉的第一个危机,“第一个项目的影响”。
在一个新地方,尼古拉得到了一个有关Angular 5的项目,好吧,他熟练地编写了指令! 但是他在那里看到了一些比赛! TypeScript还有什么? 什么是RxJ和线程? 年长的同志们嘲笑他,而这位30岁的男子却不屑一顾。 当开发人员意识到他仍然一无所知时,我看到了很多这样的星星和很多星空。 而且越早发生越好。 这就是所谓的邓宁-克鲁格效应-一种元认知失真,它包括以下事实:资格水平低的人做出错误的结论,做出不成功的决定并且由于资格水平低而无法识别自己的错误。

对于每年6月份取代3-4个项目的June雇主来说,与6月份一个月单独担任同一项目的雇主相比,雇主更可取,因为他:
- 客观地评估他们的知识和技能。
- 不断发展
- 在团队中沟通更多
- 他更了解错误的代价,因为他看到了更多的截止日期和发布日期。
现阶段的同事希望以下几点:
- 失败时不要灰心
- 不断学习和学习新的图书馆和技术
- 不要加星
初级→中级→高级
好吧,已经过去了几年,我们看到了什么?

Nikolay已经掌握了几个框架,并意识到框架只是解决特定问题的工具。 他忍受不知道一切的事实,但是与此同时,他一直在努力发展。 在某个时候,他走近了这位33岁的年轻团队负责人,他说:听着,佩蒂亚(名字变了),有几个dzhuns来找我们,他们一无所知,并慢慢地在项目上完成任务。 让我给他们一些讲座或大师班,让他们可以快速加入我们的工作。 正是在这一刻,尼古拉进入了一个新的高度。
现在分为初级,中级和高级。 Middle认为,要成为Signor,他需要掌握一种新的编程语言并加强其设备。 这并非完全正确。 在国内发展的曙光中,有一个与Signor相似的职位,她被称为Leading程序员-这样的专家不仅了解很多,而且还领导项目或团队。 没有适当的软技巧,签约者就不会成为。
尼古拉学会了为所有团队成员寻找方法,他正在不断发展和发展其余的人。 他已经看过“第一个项目的明星”,但是他和自己一样的专业人员一起工作要舒服得多。 毕竟,他们知道项目的成功就是每个人的成功,而一个团队成员的扎根最终会影响到所有参与者。
在这个阶段,有两种可能的方式:做一个简单的表演者,不劳累和解决任务; 第二是朝着领先的程序员的方向发展,承担责任和主动。
在程序员开发的这个阶段,团队和管理层赞赏其素质:
在哪里值得开发?
此外,如果他想沿着曲线发展到头部,则必须提高最后一段的技能。 如果他不感兴趣,那么我们可以专注于技术专家的技能。
技术危机
在某些时候,尼古拉很震惊地意识到没有人正在用JS写作,而且他的大部分知识都不需要任何人使用。 这就是技术危机的根源。 我发现桌面应用程序存在这样的危机。 不久之后,任何人都不再需要简单的编码器了,到处都需要前端渲染。 然后,PHP突然过时了,市场上需要JS开发人员。

有三种解决方法:
- 重新训练以获取新的堆栈
- 在过去变得更好,抓住最后的订单。 狭窄的圈子中仍然需要大量的旧代码,而该Delphi仍在需求中
- 具有适当技能的管理人员离职
始终需要强大的专家,但是,随着对某种技术的需求减少,申请人之间的竞争也会加剧。 定制开发在这个程度上要比产品开发遭受更多的痛苦。 在一家大型食品杂货公司定居后,开发人员可能不会担心其技术堆栈的年代久远或过时-在产品生命周期中,他将受到需求。 据我的统计,食品公司开发人员的平均年龄比工作室高。
TeamLead。 年龄危机
好吧,尼古拉改变了技术栈,一切似乎都很好,但是我们看到新技能的传授速度越来越慢,年轻一代的追赶速度也越来越快。

最后的危机来了-年龄危机。
尼古拉斯(Nicholas)成为他几年前看着老人时总是感到抱怨和不悦的团队负责人之一,但现在他开始写得更少了。
您可能会认为,如果编写更少的代码,则开发速度会变慢,编写更多代码的人的开发速度会更快,他们很快就会追上您。 我在年轻专家中遇到了这种恐惧症。
可以有哪些选择:
- 如果您在杂货店工作,那么这对您来说并不那么重要,您可以将所有内容保留原样
- 去培训,例如成为顾问,建筑师等。
- 塔基去管理
让我们继续前进
满意。 它不能总是放在首位,高质量的项目也不总是可以找到的,理想的团队很难接受和教育。

我确信,尽管满意度下降了,但人们必须始终保持人性化。 我说,如果项目的最后期限到了,每个人都忙得不亦乐乎,那么过分的紧张将无济于事。 与在关键时刻不会让您失望的人一起工作时,团队将更加舒适。
如果从侧面看,则相对较快地掌握了技术技能,甚至更快地将其忘记并变得过时。

事实证明,程序员的发展达到了顶峰,然后开始“老化”,在某个时候该退休了吗?
是的,没有。 实际上,您可以绘制3(而不是像值一样的IMHO),而不是单个图形。

- 技术技能 -这些知识涉及技术,编程语言,框架。 您还记得我之前写的有关团队负责人开始编写更少代码和更多控制的内容吗? 正是在对编码器角色的专家需求最大的时刻,这些技能才达到顶峰。
- 硬技能是开发人员的知识和经验的结合,随着时间的流逝,由于旧知识已经过时并且不需要,事实上,干growth的残留物仍然有用,因此它们的增长下降。
- 软技能恰恰是那些无法计数但需要发展的个人素质。 这些品质始终很重要,但是从出生起就在不同程度上赋予了每个人。
但是让我们添加另一个图表
value = (0,5*tech + 1*hard + 1,5*soft)/3

, , 10 .
, .
, ? « , — » , . , , , , . , , .
HR- . , . , . : , , , ( , ).
2
, :
Junior → Middle → Senior → TeamLead? → Project manager? → Head Of * → Chief * Officer
?
, : . , : , .

TechLead vs TeamLead
, (, ), .
TeamLead ( 1 ) — , . :
-
- ,
- ( )
- , .
- TechLead PM
TechLead ( 2 ) — . , TeamLead, , .. 2 .
— TechLead, TeamLead:
- , , ,
- — , , —
- ,
- PM
- TeamLead,
, , , ( ), .
— , , , , , , , - .
, , , , , . , .
( , , ) , , .
, :
, , , , - « ». : , , .
/ , , : , ..
, — . , . ,
, , .