前言
这本书的“种子”,在我2005年初决定从事软件开发的那一刻就埋下了,经历了十几年岁月的滋养,现在才破土而出。因此,我们要回到最初,从我的职业路线图说起。
粗线箭头代表工作的主线剧情,细线箭头代表发展出的支线
从上图可以看出,我从2005年到2018年,先后经历了6个主线剧情,完成了5次转型,下面简要回顾一下。
2005年年初,我决定告别程控交换设备的售后技术支持工作,转型从事软件开发工作。
在这个过程中,经历了技术选择、自学、跨行找工作、漫长的面试与被鄙视等跨行进入软件开发领域会必然遇见的问题,最终转型为开发宽带接入产品的软件工程师。
对职业选择与个人发展相关问题的探索,从这个时期的各种“切肤之痛”开始。
2008年下半年至2009年年初,从开发者转型为研发部门经理,同时还负责部分软件架构设计和核心模块的编码工作。这样的状态持续了将近6年,一直到2014年9月。
在这个过程中,从零开始从事智能机顶盒产品开发并且持续6年不断打磨、反复迭代,我的技术能力在软件架构、程序设计、编码实现等方面都发生了跃迁。同时,因长时间使用Qt,在Qt应用开发方面也有了比较深的积淀,出版了《Qt on Android核心编程》和《Qt Quick核心编程》两本技术图书。
也是在这个时期,我完成了从“自己单干”到“带团队一起干”的转变,从技术角色转向了管理角色,对技术、项目、管理等有了较为全面的经验和思考。
2014年下半年,接受朋友邀请,加入创业者行列。这算是很多程序员都会做的一道附加题,它让我深刻体会到什么是“无路可退、无人可靠”。
2015年年底,解散创业团队。
这时我已经系统地学习了职业规划技术,于是对自己做了深入挖掘和分析,发现自己的成就感还是来源于技术性工作,所以果断选择了回归开发岗位。
还是在2015年,考虑到我独特的“软件开发+职业规划”背景,可以更好地帮助从事开发的小伙伴规划自己的职业生涯,我开通了微信公众号“程序视界”,分享我对职业的理解。
2016年年初,很多小伙伴开始在公众号后台问我各种问题,所以决定开通“有问有答”栏目,免费回答“程序视界”关注者的提问,希望能帮到更多的有缘人。
2017年7月,我对自我支配的渴望强烈到难以再忍受组织束缚的地步,于是主动离队,成为自由职业者。
经过几次生涯探索和规划,我决定专注于开发者的职场成长领域,将自己定位为程序员的成长顾问,以写作、课程、职业咨询等方式养活自己。
成为自由职业者后,我有了更多的时间思考IT职场的问题,公众号“程序视界”的“有问有答”栏目经过两年多的运营,回答的问题已经涵盖了技术选择、跳槽策略、职场适应、生涯规划、上下级沟通、怎么转型从事软件开发、如何快速提升自己等各个方面。
在这些问题中,有两类问题出现了周期性,反反复复、持续不断地被提出来。
一类是薪水方面的问题,例如,选择什么样的公司会有高薪?如何面试能拿到高薪职位?Java后台服务开发和前端哪个薪水更高更有前途?公司好久没涨薪水了该怎么办?该不该发展副业赚点外快?
一类是能力提升方面的问题,例如,工作两年多感觉技术很菜该怎么办、想学新东西总是坚持不下来怎么办?要学的技术好多,时间不够用怎么办?公司的技术氛围不好,我成长得太慢要不要跳槽?做开发好痛苦,还要不要坚持下去?
这些问题以各种形式反复出现,让我意识到,那些刚从事软件开发工作没几年,还没走过初、中级阶段,尚未建立自己的知识体系形成优势的小伙伴们的普遍问题,于是我就萌生了“写一本书系统回答这些问题”的想法。
经过分析,我发现这些问题通常是由下面几种原因造成的。
- ◆ 不了解自己的个性和职业倾向,行差踏错进入软件开发领域。
- ◆ 不懂职场选择的通用逻辑。
- ◆ 不知道什么样的岗位更适合自己。
- ◆ 不了解技术修炼的一般性方法和框架。
- ◆ 不懂怎么系统地为面试做准备。
- ◆ 不具备必要的职场基本功(软能力)。
于是,我就面对着这些问题和潜在的原因,不断追问自己,梳理、整合、抽象、重构,慢慢地把自身的职场经历与体验、职业规划技术、超过500小时的开发者职业规划咨询,以及凝结在“有问有答”栏目的近两年的思考融汇在了一起,形成了现在的答案,并以书的形式为大家呈现。
假如你:
- ◆ 想知道自己是否适合从事软件开发工作。
- ◆ 想知道如何在诸多软件开发岗位中做选择。
- ◆ 想知道怎样才能在技术之路上更有效地“升级打怪”。
- ◆ 想知道开发者的职场发展到底有哪些方向。
- ◆ 想知道那些可以助力开发者走得更远的职场基本功。
那么,这本书可以提供一些方法、思维和工具给你,帮助你更好地探索自己,更快地走向你想要的未来。
安晓辉
2019年3月