美文网首页iOS开发程序员职场老鸟
12年经验老程序员的5次转型

12年经验老程序员的5次转型

作者: 安晓辉0 | 来源:发表于2017-12-13 06:58 被阅读383次

    程序员的职场生涯,会遭遇 4 大绝命难题:

    1. 怎么选择技术方向(才能赚更多钱)?
    2. 要不要转管理?
    3. 年龄大了,如何拼过年轻人,保持竞争力,避免被淘汰?
    4. 不想做开发了,还能做什么?怎么做?

    我有 12 年的开发和技术管理经验,经历 5 次转型,直面过这 4 个难题。今天就来聊聊我的这 5 次转型,希望有那么一两个点可以引发你的思考。

    先看我的职业路线图:

    上图中,绿色的粗箭头,代表我工作的主线剧情,而蓝色的细线条,代表工作中发展的支线剧情。

    从一个绿色箭头,跨越到另一个绿色箭头,中间都是一次转型。

    大家可以从图上看到,我从 2002 年到 2017 年,工作 15 年,先后经历了 6 个主线剧情,完成 5 次转型。这 5 次转型是:

    1. 2005 年,从程控交换设备的售后技术支持转型为开发宽带接入产品的软件工程师
    2. 2008 年下半年 ~ 2009 年初,从开发者转型为研发部门经理
    3. 2014 年下半年,接受朋友邀请,加入创业者行列
    4. 2015 年底,解散创业团队,回归开发岗位
    5. 2017 年 7 月,脱离组织,成为自由职业者,以写作、课程、生涯咨询等养活自己

    也许看到这里,你已经发现了自己的部分经历和我相似……不急,接下来我会展开每次转型,说说我的想法,看看是不是和你相似。也欢迎在文后留言讨论。

    1. 自学 C 语言,转做软件开发

    我 2002 年毕业,进入西安大唐电信,从事程控交换机的售后技术支持工作。

    大唐的设备散步在各省市的农村,我的工作就是到处跑着插拔电路板、升级软件、重启电脑、更换元器件、开局……

    一年有 300 多天在出差,忙的时候,夜夜穿行在黢黑的乡间小路,到处跑着解决问题或者升级程序,经常通宵达旦。闲的时候,几天没事干,窝在办事处写文章或者通宵达旦搓麻将。

    干了两年后,眼看没什么发展空间,我也懵懵懂懂地感觉到,这不是我想要的生活,加上女友在西安上学,我老出差也不是办法,就决定转型了。

    当时(2005年)转型时考虑两点:

    1. 不出差
    2. 技术性工作,有点挑战

    公司本身有软件开发类的岗位,我就想内部转型,但因为没经验,什么程序也没写过,没转成。于是我就裸辞了,自学编程,自己找工作。

    在这个时候,选择什么技术,就成了一个问题——我没开发过软件,根本不知道有什么编程语言,更不知道哪种语言好哪种语言坏。

    后来是因为有开发同事使用 C 语言(电信设备使用的很多软件都是 C 语言),上研究生的同学使用 Java ,我就在 C 和 Java 中选择了 C 语言——因为它简单,《the C Programming Language》那本书比 《Java 2 核心技术》(卷1)薄得多。

    C 语言的书很薄,我花了一个星期左右的时间看完了,就开始投递简历找工作。

    当时懵懂,傻呵呵的,对软件开发工作不了解,对软件公司招人要求也不了解,根本没预料到会遇到什么困难。

    一开始,我不停地投递简历,却连笔试机会都没有……

    我一边投简历,一边接着学习研究,后来不知怎么就有了笔试机会。(现在想来,可能是到了2、3月份,招聘高峰期来了。)

    可是笔试根本过不了啊……一直被鄙视……

    还好,做笔试题也是一种很好的学习。经历过若干次杳无音信后,终于有公司给我面试机会了。

    陆陆续续面试了几十家,又往往因为没有经验而被拒绝……

    我就这么在不断被鄙视、不断被拒绝中走过了 3 个月。

    还好我神经比较大条,居然也没死心,没自暴自弃。我傻呵呵地相信,会找到工作的。

    很庆幸我没那么敏感,不然就没今天了。

    2005 年 3 月底,我找到了软件开发工作,4 月份开始了程序员的美好生活。

    想想我当时选择技术方向,儿戏一般,只考虑了书的厚薄!这段故事,也体现在了我的新书《程序员的成长课》中。

    现在如果你想进入软件开发领域,可能会面临更多技术方向选择,怎么选?可以参考我的新书《程序员的成长课

    2. 转型技术管理

    2008 年下半年到 2009 年初,我慢慢转向技术管理角色,开始管理一个研发部门。我走的路线是“技而优则管”。

    简单讲,就是你技术牛 X ,轻松搞定各种问题,开始带人,接下来带团队管项目,再接下来,顺理成章就会被公司推着向技术管理者转型。

    这种路线,也是一大半技术管理者走过的路线。如果你想转型技术管理,可以考虑这种。

    “技而优则管”的要点,就是:行有余力

    什么意思呢,就是聚焦当下,高效搞定你的任务。当你体现出绰绰有余的样子,领导就会给你更多更难的任务。当你还能高效搞定,还看起来有余力,领导就会再给你更重要的任务……

    如此循环,你就越来越重要,就会带人、带项目的机会。

    假如你总是手上的活儿都做不完、做不好,就基本走不了这条路线。不过也还有其他路线——《程序员的成长课》一书总结了 4 种,感兴趣的可以看看。

    3. 加入创业者行列

    2014 年 9 月份,我因某种契机,离开工作 7 年的公司,重新考虑自己的方向。到阳历年底时,接受朋友邀请,和他一起创业。

    我之所以愿意去尝试,是因为:

    1. 创业和上班的未来可能性大不一样,万一创业成功,你的影响力、经济回报,都会上一个台阶。
    2. 一起做事的人靠谱。
    3. 做的产品,盈利模式明确。

    当然,不幸的事总会发生——我们失败了。

    我个人并没因为这样的失败经历而后悔,因为当你站在主人翁的角度和高度去为公司负责时,你对工作的认知,会发生巨大变化!这种变化,会对后续的工作和人生产生重要的正向影响。

    如果你技术过硬为人靠谱,一定会有不少创业者邀请你加入他们的队伍。不要头脑发热,要仔细考察一下:

    1. 评估要做的产品是否靠谱
    2. 看看即将一起共事的人是否靠谱
    3. 设想近 2 年没有收入,自己和家人的生活水平能否维持
    4. 设想全力投入创业对自己和家人的生活有什么影响,自己和家人能否接受

    4. 重回开发岗位

    我从 2009 年开始做技术管理,到 2015 年底创业失败,历时 7 年。可是我在多个更好的管理机会面前,毅然选择回到技术岗位继续做开发。

    为什么?

    这是因为我们工作的目的,除了赚钱,还有自我实现。

    自我实现包括几方面:

    • 成长
    • 成就
    • 意愿

    成长是指你做一件事之前和之后,有你想要的、积极的变化。

    假如你做了十年开发,技术水平、解决问题的能力,还是和刚入行时差不多,那就叫没成长!

    成就是指你做出了成绩并获得了相关干系人的认可。

    你负责一个模块,用了最新的技术最牛逼的设计,也能 run ,实现了用户需求。你个人觉得很有成就,可是你用的技术框架过于复杂,维护成本很高,运维团队、二次开发团队都不认可,那就不是真正的成就。

    意愿很好理解,就是你愿意在什么事情上投入你的时间和精力、你做什么事情时会感到开心

    比如我,在创业失败重新找工作时,就是因为觉得亲力亲为用技术去开发一个个软件、解决一个个问题比较令我兴奋和投入,所以才选择回到开发岗位上。

    很多开发者都会遇到要不要转管理、要不要一直做技术这种问题,怎么选择答案,关键就在于你的个人意愿和你做某件事的感受。

    我在《程序员的成长课》一书中对这个问题有深入的描述,感兴趣的可以看看。

    可是有人会问,如果你一直做开发,年龄大了,怎么和年轻人拼?

    我之前画过一张图,再贴出来给大家看看:

    由这张图可以看到,开发者做软件分两次创造,第一次创造在头脑中完成,属于思考层面;第二次创造,是编码实现,是脑力劳动体力化。

    如果你想要超越年龄,就要多在第一次创造所需要的能力上下功夫:

    • 构建起来自己围绕着特定业务领域的知识体系
    • 淬炼想象力、抽象、归纳、分析、整合、设计等

    这样你就能思考得多、做得少、做得关键、做得好,就可以超越年龄的限制。否则如果你整天和年轻人一样只关注噼里啪啦敲代码,肯定没价值,很快被清退。

    5. 转向自由职业

    如果你在朝九晚五的做软件开发,肯定能体会到很多不如意:

    • 要打卡
    • 有事得请假
    • 有些需求不想做
    • 有些代码不想看
    • 有些人不想和他们打交道
    • 有些客户不想谈
    • 领导的某些作风不喜欢
    • 绩效考核得听别人的
    • ……

    可是你又不得不做、不得不接受这些事情,对吧?

    当你不认同某些事又不得不接受时,通常有两种做法:

    1. 换个角度看待,让自己接纳,充满活力地往前冲。这叫“心念一转,万念皆转。心路一通,万路皆通。”然而很多人做不到……
    2. 离开它,选择自己想要的、喜欢的。这个也有很多人做不到啊,因为没有能力选择,掌握不了选择权。

    所以,你要想过得 Happy ,要么心很通透,能悦纳很多现实;要么你把自己淬炼得很强,有能力向自己想要的方向冲锋。

    我选择了第 2 种方式!原因很简单:

    • 可以自我支配
    • 可以把力气花在自己喜欢的事情上

    我能选择第 2 种方式,则是因为我在推动主线剧情时,发展了支线剧情,比如写作、职业规划。

    如果你也想离开组织,掌控自己的工作和生活,强烈建议先盘点下自己,看看有没有独立赚钱的能力——最好有两三种。

    我自由职业时拟定了 A 方案和 B 方案。A 方案是写作、课程和开发者职业规划咨询;B 方案是软件开发。几个月过去了,A 方案有了一点点成绩——我的新书《程序员的成长课》上市啦!

    [图片上传失败...(image-531d56-1513119516746)]

    书的内容分两部分:

    • 前 4 章聚焦开发者价值成长,分别介绍了选择技术方向的思维和工具、让你持续精进技术的个人对标管理法、成为技术管理者的 4 种途径、技术管理新人面临的 18 种挑战
    • 后 4 章侧重开发者的职业选择,从实战角度出发,讨论了跳槽、简历优化、薪水谈判、转型等关键话题。

    本文开始提到的开发者都会遇到的 4 大难题,书中都有涉及。

    感兴趣的朋友们,可以:

    相关文章

      网友评论

      • deyson:前辈厉害了啊,小辈我现在也开始迷茫了,在考虑要不要转型或者怎么办

      本文标题:12年经验老程序员的5次转型

      本文链接:https://www.haomeiwen.com/subject/owgoixtx.html