技术路线 vs 技术管理路线
最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容。我在《驾驭你的“职场布朗运动”》一文中谈了25条职场感悟并提出了“走技术线,还是技术管理线?”这一问题,但实际上并没有给予解答。在此补上。
在正式解答这一问题之前,我想先强调职业发展的“黄金期”。每个人的职业发展我认为大致会经历“黄金期”、“平缓期”、“突破期”和“衰退期”,如下图所示。值得一提的是,其中的职业高度并不是你能做多大的“官”,而是你能多深入地了解自己的职业。
“黄金期”始于大学毕业,终于孩子出生。这一时期由于几乎没有家庭的负担,所以能完全将精力用于学习与工作。这一时期的成长高度我认为在职场中占有举足轻重的作用,所以称其为“黄金期”。“平缓期”始于孩子出生,终于孩子进入学校。这段时间由于孩子年幼,需要得到很多照顾,所以工作之余难以分配精力用于学习。当孩子进入学校后,我们在孩子身上所需花费的精力可以少些,而此时我们经过时间的流逝思想更加成熟,加上职场多年的积累,对所掌握的知识更具总结与概括能力,能达到完全不同的认识高度,因此此时会达到一个“突破期”。随着年龄的增长,我们会因为体力和智力的衰退而迟早步入“衰退期”。“突破期”与“衰退期”的分界点以我目前的经历还没法给出定义,但我相信那并不重要。
由于个体的差异,我相信每人经历各时期的时间长短会有所不同,甚至出现个别时期的消失。比如,有的人即使有了孩子仍一心扑在事业上,很少关注家庭,那他的“平缓期”就有可能消失(我不赞成这种做法)。
回到本文的主题,首先我想强调考虑“走技术线、还是技术管理线”的时机问题。你一定不要在“黄金期”考虑这一问题!作为工程师,在“黄金期”你要做的事是将全部精力放在技术的积累上,而不要分心于去学所谓的“管理”。当然,我不是说工程师在这一时期不要关注团队合作等问题,这是基本的工作内容,否则职场道路难以走好。在“黄金期”考虑非技术线发展的唯一例外是,你发现自己真的不是一块技术料,而是乐于与人打交道。如果真是这样,你可以考虑转去做技术支持,甚至市场人员;技术相对出色的,且对产品有敏感度的,还可以去做产品经理。对于这些岗位我就谈不上自己的看法了。但有一点,就我接触过的这类人,技术积累越深厚的对工作的驾驭能力也越强。
现实中,我看到不少工程师好像很有“前瞻性”,在“黄金期”学习技术与管理两不误。在我看来,在“黄金期”花时间学习管理知识某种程度上是在透支将来。实际上,技术做得越深就越能深刻理解技术管理中的常识,也会慢慢地融会技术管理的真谛。因此,如果在“黄金期”既学技术又学管理很容易出现因两方面都没学深而出现在职场难以建立信心的状况,一旦进入“平缓期”就越容易对自己的职业发展产生困惑。看到身边有太多的走上技术管理线的同事,他们能感知到团队中的问题,但却看不到问题的根源,有的甚至错误地使用管理方法去解决技术问题。另外,我不认为技术管理能力能简单地学习管理课程而掌握,因为技术管理必须立足于技术常识。我的这一观点也能很好地解释不少技术管理者尽管接受很多的管理培训,但管理能力仍就牵强,也容易成为上级的传话筒,其根源就在于他们的技术积累没有达到一定的高度,无法基于技术常识去科学管理。也正因为我的这一认识,所以写了《技术敏感度 — 基层技术管理者必备》一文。读者或许会问“什么是技术常识?”,探求这一问题的答案或许与探求“什么是生活常识?”相似。
过了“黄金期”后,在考虑走技术线还是管理线时,先得问一问自己:“我想要过怎样的生活?”
就我与美国工程师共事的工作经历来看,中国工程师的平均技术水准和专业精神都还处于很基础的阶段(这话至少在国内通讯行业还是准确的)。这种大环境为技术管理带来了很大的挑战和不确定性。也就是说,你作为技术管理者管理的是一帮职业化不成熟的人,在你的技术敏感度不强的情形下其难度可以想象。你可能是为了获得权力而走上技术管理岗位,但你要为团队的不成熟承担很大的不确定风险。其实你不是真的获得了权力,而是获得了更大的责任,但可能是承担不了的责任!在这种状况下,你的工作生活很多情形下是自己无法控制的,这是你想要的生活吗?
如果将精力一直致力于发展技术的深度与广度,那会是另外一番天地。随着技术的精进,你除了因为能解决别人无法解决的技术难题而获得尊重外(这种尊重一定不会是他人的虚情假意),也更有可能深入地思考如何通过一定的技术方法提高自己的工作效率和质量。能力一旦达到一定的高度,你也一定不会只关注于自己的“一亩三分地”,而会逐渐外延到关注团队和组织效能,那时你其实掌握了很多技术常识。此时你如果想走管理线的话(比如,为了通过团队实现自己的技术想法),一是水到渠成,二是很多不具技术常识的管理者根本无法与你竞争。具备技术敏感度的管理者在面对职业化不成熟的团队时,我相信会多一份从容。这一路走来更多的是自信和踏实,而不是无奈!
在我看来,如果有太多的工程师很早就想做管理的话,所带来的不可思议与社会上会有那么多人想考公务员是一样的。这类人表面上看透了现在的社会,但他一定没有看清将来。中国经济的发展要有质量的话,一定离不开专业而成熟的高素质工程师队伍。造成这种现象与当今的社会状况不无关系,但在这样的社会环境中,浮躁一定是没有出路的。
每当看到小区或地下车库的车辆出入感应阻挡杆又坏了的时候,我都会暗道:“MD,这么简单的东西都做不好!我们的工程师还有很长的路好走。”
《致IT同仁 — IT人士常犯的17个职场错误》
《软件工程师所需掌握的“终极技术”是什么?》
《技术敏感度 — 基层技术管理者必备》
本文出自李云的博客,请务必保留此出处:http://blog.csdn.net/hzliyun/article/details/8171713。
技术路线 vs 技术管理路线的更多相关文章
- IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈
以前写过一个文(IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),主要介绍笔者的职业发展之路,不过该文需要后续了,因为笔者现在从事的是“产品经理”一职.从笔者的导航文([置顶]博文快 ...
- 2015年8月18日,杨学明老师《技术部门的绩效管理提升(研讨会)》在中国科学院下属机构CNNIC成功举办!
2015年8月18日,杨学明老师为中国网络新闻办公室直属央企中国互联网络中心(CNNIC)提供了一天的<技术部门的绩效管理提升(研讨会)>培训课程.杨学明老师分别从研发绩效管理概述.研发绩 ...
- 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具
1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是 ...
- java基础79 会话管理(Cookie技术、Session技术)
1.概念 会话管理:管理浏览器和服务器之间会话过程中产生的会话数据. Cookie技术:会话数据保存到浏览器客户端.[存 编号/标记(id)] Session技术:会话技术会保存到 ...
- 投资人的能量往往大多远远不仅于此,他能站在不同的角度和高度看问题(要早点拿投资,要舍得让出股份)——最好不要让 Leader 一边做技术、一边做管理,人的能力是有限的,精力也是有限的
摘要:在创业三年时间里作为联合创始人,虽然拿着大家均等的股份,我始终是没有什么话语权的,但是,这也给了我从旁观者的角度看清整个局面的机会.创业公司的成败绝大程度取决于技术大牛和公司 Leader, ...
- UEM“探针”技术及用户体验管理
随着互联网产品越来越多,用户群体越来越庞大以及用户品位的多样性增加,我们会发现这样的一个规律,就是相同类型的产品,比如播放器中的QQ影音和暴风影音,再比如小游戏平台中的腾讯游戏和联众等等,他们的功能是 ...
- 干货云集 WOT 2017全球架构与运维技术峰会揭密技术难点
WOT,World Of Tech专注互联网IT技术领域,是一场不容错过的技术盛会!WOT 2017全球架构与运维技术峰会三大章节,15大技术专场,60+国内外一线互联网精英大咖站台,打造兼顾技术视野 ...
- DNS技术和NAT技术详解
DNS技术和NAT技术详解一.DNS(Domain Name System)1.什么是DNS2. 了解域名3.域名解析过程4.使用dig工具分析DNS过程5.浏览器输入URL后发生什么事?二.ICMP ...
- spring框架:(一) 技术说明(技术介绍,技术优势以及发展史等)
一.技术说明(技术介绍,技术优势以及发展史等) 1.1.什么是spring 1.2.spring由来(发展历程) 1.3.spring核心 1.4.spring优点 1.5.spring体系结构 1. ...
随机推荐
- WPF合并资源字典
1.合并多个外部资源字典成为本地字典 示例代码 <Page.Resources> <ResourceDictionary> <ResourceDictionary.Mer ...
- 【socket.io研究】2.小试牛刀
1.建立个项目,也就是文件夹,这里使用testsocket 2.创建文件package.json,用于描述项目: { "name":"testsocket", ...
- [c#]asp.net开发微信公众平台(2)多层架构框架搭建和入口实现
上篇已经设计出比较完善的数据库了,这篇开始进入代码. 首先把上篇设计的数据库脚本在数据库中执行下,生成数据库,然后在VS中建立项目,为了方便理解和查看,我设计的都是很直白的类名和文件名,没有命名空间 ...
- mysql 存储过程与函数
即事先经过编译并存储在数据库中的一段sql语言. 一.创建函数 创建格式: CREATE FUNCTION sp_name ([func_parameter[,...]]) RETURNS type ...
- jQuery实现的全选、反选和不选功能
适用于网页多选后需要进行批量操作的场景(如批量删除等).如有问题希望大家可以指正.谢谢~~ HTML 我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮 ...
- 用java pyhont通过HTTP协议传输文件流
// 代码网上抄的 忘记链接了 抱歉哈package upload; import java.io.BufferedReader; import java.io.DataOutputStream; i ...
- pyqt5按钮计数
万事开头难,弄了好久才做了一个简单的小程序,点击按钮就显示数字,点一下,自增1. 首先用qt设计师设计一个窗体.标签名为label,按钮名为btn,然后存储为a.ui 在shell中用命令pyuic5 ...
- 创建C#DLL
1. 创建classlibrary 2.编写一个COM接口和一个COM类 [Guid("DBE0E8C4-1C61-41f3-B6A4-4E2F353D3D05")] public ...
- Kafka笔记--分布式环境搭建
部署: http://www.cnblogs.com/likehua/p/3999538.html http://blog.csdn.net/kimmking/article/details/8263 ...
- 布局共享(列如所有activity拥有相同的布局部分,比如actionbar,在BaseActivity中写入布局)
有时候界面上会用到统一的布局,比如toolbar,你可能会想到在用到的地方都去加上toobar这样对于程序的开发与维护来说都显得特别麻烦,我们可以将他写在父类中. 首先创建一个BaseActivity ...