程序员成长秘籍:是迈向管理巅峰,还是深耕技术架构?

专业在线打字练习平台-巧手打字通,只输出有价值的知识。

一 管理和架构

做技术的同学一般有两条职业发展路径,横向的管理路线和纵向的技术路线。管理路线对应的是管理岗,讲究的是排兵布阵,通过各种资源的优化配置发挥价值。技术路线对应的是技术带头人,讲究的是技术专业度,通过前瞻性的视角和丰富的知识来解决业务痛点。

关于个人成长路线,是选择管理路线,还是选择技术路线,有些误区有必要跟大家澄清一下。

误区一:我性格内向,管理需要和人打交道,所以我选择走技术路线;

在面临着人生重大选择的时候,我们是需要留出足够的时间来做决策的,而不是简单地几条信息判断甚至凭直觉来快速给出结论。这个问题如果你体验不深的话,我举个类似的例子,高中文理分科的选择与此很相似,我厌恶背诵,语文,政治,历史...,我选理科!选择的结果回过头来看,相信大家都有自己的感知。

这里面有几个逻辑需要我们梳理明白,内向和管理是互斥的吗?内向和技术是相容的吗?

不建议把复杂的问题这么简单地的去理解。我们至少需要做这么几件事:

  1. 把内向的定义,优势,劣势了解清楚;

  2. 把管理的目的,内容,考核指标了解清楚;

  3. 结合自己的实际情况进行相关性匹配,输出一个基本结论;

  4. 基于结论,进行验证,试错,调整,再出发;

正如我们进行软件开发中,真正的编码时间约占整个产品交付过程的25%左右,前期的可行性调研和需求设计阶段占用的时间却能到达40%,而后者是不能偷懒的步骤,是一样的道理。

误区二:我对技术提不起兴趣,所以我选管理路线;

这个问题乍一看,不和上面的问题是一样嘛,怎么反过来问就成了另一个误区。我再抛另外两个问题,就能感受到他们的区别了:

  1. 兴趣是如何产生的?

  2. 因为兴趣所以擅长,还是因为擅长所以热爱?

问题的答案不重要,重要的是自己要有一套解决问题的逻辑,也就是算法里面的训练模型,模型训练得越好,在以后的决策中,效率和准确度就会越来越高。

关于技术的路线的选择,不给自己设限,有机会可以去做管理,没机会就在技术上挖一挖,说不定去年还在做架构,今年就做管理了呢?

二 架构角色

架构师是一种角色,承担这一角色的人可以是研发,团队负责人,也可以是单独的实体岗位,具体是哪种形式,取决于公司的组织架构和发展阶段。

  1. 起初团队规模比较小,一个小组的规模,业务闭环,组织扁平化,这个时候的架构师角色一般就是由主力研发担任就可以了;

  2. 随着业务规模的扩大,这个时候小组已经发展成部门了,组织存在层级了,此时由各个小组的负责人担任架构师角色比较合适,此时业务边界划分相对比较清晰,设计和人力分配统一规划,往往效率比较高;

  3. 如果上升到集团层面后,这个时候的组织架构往往是矩阵型的,演变变得更加复杂了,一个产品的规划,往往牵扯到多个部门,这个时候一般就需要设立实体的架构师岗位了;

组织层次不同,承担架构师角色的岗位有所区别,架构师工作的重心也会有所侧重,整体是按照系统架构->业务架构->顶层架构的方向逐步偏移的。

举个场景示例:我们需要架构师角色,但一个中等规模团队需要设立独立的架构师岗位吗?

康威定律告诉我们:"设计系统的架构受制于产生这些设计的组织的沟通结构。"除了组织结构外,业务复杂度,行业迭代频率,团队技术储备等各个方面都会实际影响架构师角色的定位。

  • 从组织结构上考虑,一个扁平化的闭环团队,不存在很厚的部门墙,其业务协作成本往往是比较高效的,对于岗位的感受度就没有那么高。相反,如果团队部门层次比较深,协作成本比较高的情况,就需要有人来横向推动和落实技术方案。

  • 从业务复杂度和行业迭代频率来考虑,如果顶层架构相对成熟,不经常变动,那么这个岗位对应的职责可以由团队leader或业务架构师同时承担。相反,就需要专人花费比较大的精力来做顶层设计了。

​ 一个相反的例子,如果一个团队组织比较简单,业务也相对成熟,团队技术能力比较高的情况下,配备专职的架构师岗位会出现什么问题吗?

在这个岗位上人会比较尴尬。这是因为做顶层架构的人需要有全局而不是某个单一业务视角,其组织结构一般是平行于业务组织。这会导致平常他很难下沉到某个单一业务线里面去,如果顶层架构又长期处于稳定状态,如此一来他的工作产出就很难固定和量化,最终往往会负责横向技术效率提升或者直接下沉到主业务线中去了。

总结一下,架构师岗位不是设计出来的,而是根据团队痛点,分工演化出来的。随着组织成熟度,业务发展阶段等环境的变化,架构师的职责重点也会随之做出调整,以适应当前组织的需要。

三 技术专业度

有些行业是越老越吃香,比如医生,教授,画家,其原因不仅仅是经验的积累,更为重要的是持之以恒的专业灵敏度和创新应变能力,使其能够在需要做出重大决策的时候,给出正确的方向。重要的决策,方向上的错误往往是最大的成本。

面对一个病症,医生的一个决策可能会决定着一个人的生死。

面对一个技术选择,努力方向往往决定着最终成败,就像柯达的传统成像技术被数字成像技术的颠覆。

能够描摹出蒙娜丽莎的微笑的人很多,但能达到达芬奇艺术高度的确寥寥无几。

总之,能够通过培训学到的技能终将会被替代,要么是培训班,要么是机器。保持个人能力的稀缺性就显得尤为重要,持之以恒的投入是保持这种稀缺性的原动力。岗位可以被替换,但能力却不能。

四 总结

本文回答了技术小伙伴们特别关心的职业发展路径选择问题,关键点是别给自己设限,因为路是走出来的,不是光靠想就能想出来的。接着,我们澄清了一些职业发展上常见的误区,并教大家如何学会思考和解决问题的根本方法。最后,还给出了如何保持自己在行业中的竞争力的建议,提醒大家别只顾着埋头苦干,也要记得抬头看看前方的路。

相关推荐
小蜗牛慢慢爬行15 分钟前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
java·架构·hibernate
星河梦瑾1 小时前
SpringBoot相关漏洞学习资料
java·经验分享·spring boot·安全
OopspoO1 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A2 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒2 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
思忖小下2 小时前
梳理你的思路(从OOP到架构设计)_简介设计模式
设计模式·架构·eit
kkflash32 小时前
提升专业素养的实用指南
学习·职场和发展
1 9 J3 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
长潇若雪3 小时前
《类和对象:基础原理全解析(上篇)》
开发语言·c++·经验分享·类和对象
sinat_307021533 小时前
大数据政策文件——职业道德(山东省大数据职称考试)
大数据·职场和发展