知识、技能、经历,这都是一个人能体现出来的商业价值。一家企业招募某个人,一定是因为这个人可以帮助企业在某方面实现价值。而且,正常情况下,个人的贡献一定要大于企业为这个人负担的各种成本(薪水、社保、公积金、个税等)。
所以,作为程序员,我们一定要清楚自己的价值在哪里。个人的商业价值,可以通过下面五大要素分析出来:
知识
技能
经历
天赋
人脉
我们在招聘网站上填写简历时,内容最多的就是前三个要素,都是差不多的模板,填下来千人一面。
在最开始的时候,不建议直接到招聘网站上填写简历。强烈建议先用word或MarkdownPad来整理记录你认为你具备的所有有价值的知识、技能、经历,不论大小,统统记录下来。这是我们后续优化简历的基础,也是确立求职目标的基础。
知识与技能
有必要说一下知识和技能的区别,这是很多人常常混淆的。
知识可以通过语言文字、语音、视频等进行传授,比如像C++、Java、数学、物理、Qt、Android、设计模式、网络协议等都是知识。
技能是指按照某种规则应用知识和经验完成某种任务的能力。比如使用Qt开发桌面客户端软件就是一种技能,使用Java和Android界面类库开发App也是一种技能。
我的知识大概有这些:
C、C++、Java、Scala、Python、Qt、MFC、WTL、QML、QtQuick、JavaScript、HTML、CSS、Lua、MySQL、MongoDB、XML、Json、Win32SDK、Node.js、AngularJS、ffmpeg、VLC、DirectShow、Android、Objective-C、HTTP、P2P、RTMP、RTSP、HLS、P2P、socket、UML、软件开发模型(瀑布、迭代、Scrum等)、项目管理知识、团队管理知识、微信订阅号管理。
知识会淡忘,一段时间不用就扔掉了,所以在你的知识图谱里,一定有一些是你经常使用的,比如我最熟悉的就是C、C++和Qt。
我们需要把自己最熟悉的三种知识标注出来,后面会派上用场。
技能就是对知识的运用,所以一般来讲你有什么知识,就能找到一组技能。比如我可能有下列技能:
使用Qt开发客户端软件
使用Qt开发服务器软件
使用Java开发AndroidApp
管理项目,制定项目计划,跟踪计划,控制项目进度
团队管理与激励
博客、微信订阅号等自媒体运营
……
好啦,现在我们应该可以进行知识和技能的梳理工作了。
需要特别注意的是,每个人都有很多知识和技能,一定要找出你擅长的2~3种知识,2~3种技能,这将是你求职时的重要参考。人只有使用最擅长的技能去做事情,才能达到最好的效果。
经历
知识和技能可以帮助我们创造商业价值,而知识和技能的积累过程本身也是有价值的。积累知识和技能的过程,就是经历。
程序员的(学习、工作、项目)经历具有非常独特的价值,在求职过程中往往会发挥非常重要的作用。比如你做过视频项目,那再找类似做视频的公司就很容易脱颖而出;比如你做过图像处理相关的项目,进入美图秀秀之类的公司就相对容易……
在回顾项目经历时,关于你自己的那部分,一定要想明白并记录下来,从下面三点来挖掘你的亮点:
你负责的工作内容
用到的知识、技能
你对整个项目的贡献(最好可以量化)
我的一个项目经历:
【互联网视频卡顿优化】
项目描述:
智能机顶盒上的视频聚合客户端,在播放视频时,高峰时段或热点视频,经常卡顿。针对此问题,进行优化,以使能够对用户提供流畅的观看体验
业绩:
播放效果大幅度提升,卡顿投诉下降80%。
职责:
作为项目经理,负责项目范围界定、进度跟踪与控制
作为系统设计,选择技术方案,设计加速与优化算法,设计系统结构。
作为核心开发人员,负责客户端http基础类库的开发和服务端httpserver(基于Qt)的开发。
我没有列出前面所说三点对应的所有内容,个人亮点也没完全写出来,但你的心里一定要清楚,你发挥了什么关键作用,如果有攻克技术难点的经历和明显可以量化的业绩,一定要总结出来,面试时经常会被问到哦。
天赋和人脉其实也是个人非常重要的商业价值。但在程序员的简历中较难体现出来,在面谈中倒是有较多机会展现。