来访者H跟我说,她做了两年多软件测试工作,主要是功能测试,日常就是“点点点”,感觉自己没有核心竞争力,因为她既没有技术实力也没有管理能力,还不善表达。为此H非常焦虑,担心干不长久。核心竞争力,这是人人都想拥有,但多数人却说不清楚的东西。所以我结合自己的几段工作经历来聊一下这个概念,并给出建立核心竞争力的指南。12008年,我转换工作,再次回到老东家。没多久,领导安排负责“视频盒子”预研工作的F,把项目交给我负责。后来在不到9个月的时间里,我带着几个实习生,实验了Windows+MPlayer、Linux+Qt+MPlayer、Direct 3D + DirectShow +CEGUI、Linux+SDL+ffmpeg等超过6种方案,还给一些潜在客户客户做了阶段性成果演示。我能做到这种效果,除了工作勤奋之外,最关键的是,我有两种能力,刚好能够在快速探索阶段发挥作用。一种是快速学习能力,比如我学习Qt、学习DirectShow、ffmpeg等,都很快,一两个星期就能找到关键知识组合,上手做东西。另一种能力是快速搭建原型,比如我们第一个原型,我就是快速研究各种资料后,买了一台HTPC,搭配USB+红外的遥控器,配置了Windows和MPlayer,组合而成。快速学习能力和快速原型能力,就是我在“视频盒子”预研项目上的核心竞争力。正是因为我有这种核心竞争力,领导才会把项目从更有管理经验的F手上转移到做软件开发还不到三年的我这里。2012年,团队已经完成了“视频盒子”好几个版本的开发,十几个人的团队里,有人用C++做流媒体服务器开发很厉害,有人对mp4格式很熟悉,还有人能用C语言开发复杂而繁琐的P2P协议,而我呢,尽管有相当一部分精力被项目管理和团队管理占据,还是会在客户端挑一些核心模块来做,而且能快速搞定。这个时候,相比客户端团队的伙伴们,我在软件开发方面,依然拥有竞争优势——我能更好的理解整个系统的业务,在此基础上,能做出更好的架构设计,同时,前几年在Qt方面的积累,也使得我能写出更简洁有效的代码。系统思考+架构设计+Qt开发经验,是我这一时期在开发上的核心竞争力。3月8日,有一位来询者在知乎付费向我咨询Offer选择问题,在回答我提出的问题时,他说,“安老师果然不凡,问的都不一般。”