程序员的职业规划

来源:互联网 发布:网络蜘蛛与源代码 编辑:程序博客网 时间:2024/05/21 23:31

   作为程序员的这个职业,其实我一直是想能够由一个机会能够成功转型。比如说干点别的工作也能够挣这点钱。所以博客的名字叫做业余程序猿。

可没成想也干了这么久了,可能的未来还是得继续干下去。那么薪水的上涨是需要谋划谋划的。个中关键,从大的方面来说,有两点:


1. 个人商业价值的挖掘与修炼
2. 职业机会的探索与把握


小米在发展过程中,挖过两个比较著名的人物,一个是谷歌Android副总裁胡戈·巴拉,一个是新浪总编陈彤。我们来看两个问题:

1. 小米看上了这两个人什么?
2. 这两个人看上了小米什么?

商业价值要素

胡戈·巴拉身上有几个很有价值的点,这是他能加盟小米的关键:

1. 在谷歌工作5年
2. Android产品管理副总裁
3. Android操作系统团队最具代表性的公众人物之一,他曾经频繁出席谷歌的新闻发布会以及谷歌的I/O开发者大会。比如Nexus 7平板电脑就是由他登台演示。
4. 熟悉海外市场

相信这也是小米看中胡戈·巴拉的重要原因。而这些原因,其实就是胡戈·巴拉身上体现出来的商业价值。具体来看,谷歌的工作是其个人经历,为其积累了广泛而有价值的人脉,同时他也在Android产品管理方面有独到的知识和技能。


个人商业价值中还有非常非常重要的一个要素,那就是是天赋。天赋指人与生俱来的某些特质。在胡戈·巴拉身上来讲,人际交往能力和个人形象气质就属于天赋。在姚明身上,他的身高算是天赋之一种,特别有助于他的蓝球事业。在罗纳尔多身上,他的爆发力就是天赋,所以你经常看到他突然加速把对方球员摔在身后然后狂奔几十米形成单刀射门的优势。如果一个人能发挥其天赋,将其与职业关联起来,必能自我实现,有所成就。

总结一下,商业价值包含五个要素:

知识
技能
天赋
经历
人脉


我们每个人身上都有这些东西,如何挖掘出来,如何着重培养某方面的价值,就是我们能不能获取高薪水的关键。

职业机会

现在我们看看胡戈·巴拉为什么会选择小米。我猜测有这么几点:

1. 小米处在中国这个经济快速增长的发展中国家
2. 智能手机的发展在中国处于上升期
3. 小米公司上升势头强劲
4. 负责小米国际业务拓展
5. 薪水可观

第一点是很宏观环境的东西,只有宏观环境足够好时,机会才会多。这也是为什么现在小米等手机厂商发力印度的原因。


第二点是产业环境,在一个好的宏观环境里,一个好的、处于快速发展期的产业是最有吸引力的,到这样的产业中去,个人必将随着产业的发展而有所成就。所谓站在风口上猪都能飞起来,就是这个道理。

第三点是可以说是组织环境,一家处在好的宏观环境下好的产业环境里的公司,又正处于上升期,对个人来讲,是天赐良机啊。到这样的公司里,你就是躺着不动都可能比一般人达到的高度高。

其他都是小米提供给胡戈·巴拉的职位相关的东西,属于职业资源。另外还有一点,是八卦了,据说胡戈·巴拉的前女友阿曼达·罗森博格曾与布林交往,这也可能是胡戈·巴拉从谷歌离职的原因之一。这一点其实关系到的是家庭环境,一个人的家庭,可能成为他选择新职业的助力,也可能成为阻力。比如有很多学生毕业后就被父母通过人脉安排到银行、电力等国有企业工作,如果他们要跳槽,父母一般都会成为阻力。

好啦,现在职业机会的五个要素都出来了:

宏观环境
产业环境
组织环境
职业资源
家庭环境

现在对职业生涯的分成两个部分来看,一个是内部和另一个是外部,那我们来总结一下它们都包含哪些内容。

职业生涯外部包括(但不限于)职务目标、经济收入、工作内容、工作环境、工作时间、工作地点、企业文化、薪酬福利、通勤状况等。

职业生涯内包括(但不限于)知识、技能、工作经验、心理素质、内心情感、行为习惯、视野、观念、职业心态(爱与感恩、责任、忠诚、诚信、勇气、担当)、职业成熟度、心灵成长等。


如果你仔细品味职业生涯内部包括的东西,就会发现,它们和个人商业价值的某些要素是重叠的,尤其是知识、技能、天赋这些东西。而外生涯包含的一些东西,其实也和个人商业价值相关,比如你的职务目标、工作内容、工作过的企业等,都是你的经历。你在选择一份新的职业时,不论内外,只要能体现商业价值的内容,都会被重度参考。


职业生涯内部与外部的关系


我们知道了生涯内部和外部都包括哪些内容,接下来就是它们之间的关系,弄明白它们之间的关系,就可以导出如何规划自己的职业发展与方向了。


职业生涯内部和外部包含的所有东西,才是是企业可能选择你的依据,也可能是你选择新职业时的目标,影响你的职业选择。比如你在22~24岁时可能更看重知识、技能、工作经验的积累,积累到一定程度,你的职务目标、薪酬就会自然上升,工作内容也可能发生变化。而当你的职务、工作内容,也会影响到你积累什么样的知识和技能。


举个我自己的例子,我2003年开始做软件开发,做了4,5年,积累了C++、Vb、Windows开发、网络编程、MFC、Windows CE、多媒体等方面的知识和技能,2009年时开始带团队,工作内容分成开发和管理两部分,慢慢积累了项目管理和团队管理方面的知识和技能。在这个变化过程中,经济收入也发生了变化。当我2014年再次毅然转型web开发时,我的知识、技能、曾经的工作经验没有什么帮助,薪酬福利等一下感觉大打折扣。因为web互联网开发也就2010年以后才兴起的,和专业从事4,5年web开发的人比较,就纯代码开发来讲,没什么差距,可能还略显不足一些,之前的专业技能完全没有优势。职业出现了断崖式的变化。这也引起了我的很多思考,究竟如何才能在转型中减少不利因素。

那么我们可以说明职业生涯内部和外部之间相互的关系了:

内生涯决定外生涯
外生涯拉动内生涯

这里也可以说明下你的一种工作状态是什么样的。当生涯外部程度高于生涯内部时,虽然有压力,但也会促使你提升自己的知识、技能等,使生涯内部与生涯外部匹配,最终生涯内部积累超越生涯外部压力,可以进一步在组织内或组织外发展,获得更高的生涯外部。这就是生涯外部拉动内部的一种表现。

与此同时。当生涯内部积累略高于生涯外部压力时,工作会驾轻就熟,容易出成绩,感到轻松舒适。当生涯内部高过生涯外部一大截时,个人就会觉得怀才不遇,想谋求更高的发展,如果长时间处于失配状态,跳槽指数就会增高。当生涯内部低于生涯外部时,工作会感到吃力,需要不断提升自己。如果不能有效提升,就可能会被剥夺工作机会。

下面我们展开来讲如何修炼内功以及如何寻找职业机会。

修炼内功

内功的修炼,其实又分为三部分:

1. 发挥性格优势
2. 挖掘职业兴趣
3. 积累知识和技能



积累知识和技能有两个原则:

职业目标相关性
持续性


职业目标相关性

这一点很容易理解,假如你就想做iOS应用开发,那你学C#估计就没什么用,学MFC就更没用了。一样知识,一种技能,只有它和你的目标相关时才是有用的。没用的知识对你来讲,再多都是枉然。


技能呢,其实又分为两类:

专业技能
通用技能


专业技能是对某种专业知识的应用能力,与特定职业相关。比如磨剪子镪菜刀(现在很少了),你不走街串巷干这个行当,基本就没用了。再比如你能用MFC在Windows下开发客户端应用,现在你要去做Android开发,那用处也不大。


通用技能是可迁移的,就是你会做的事。比如你超级会写PPT,这种技能到哪里都用得上啊。比如你很善于沟通,总能与别人达成一致;比如你善于当众演讲;比如你社交能力强;比如你很会指导别人;比如游泳……这些都是通用的技能,可以在不同的工作中广泛应用。


通用技能对于你能否找到理想工作至关重要。比如一些ui设计软件,思维导图软件,url图等设计类展示的软件,决定着和客户,已经上司同事之间沟通交流的效率。

所以,我们在积累技能时,既要立足于现在的职业,强化职业相关的专业技能,比如你做Web前端的,HTMP、CSS、JavaScript、各种JS框架(比如JQuery、AngularJS等)、前端框架如Bootstrap,都可以玩得很熟,这是专业技能,必须的,你做前端就会用得上;又要留意专业技能之外的通用技能,通用技能是一个程序员的软实力,比如发现自己的学习模式,培养自我学习的能力,比如与人沟通的能力,比如口头表达能力,比如写作能力,比如信息检索能力……


那么,问题来了,怎样才能知道,一个职业都需要什么样的知识、技能呢?有三种途径:

企业内的岗位描述
业内前辈访谈
招聘网站的招聘信息


一般的企业都会有岗位(职位)描述,说明这个职位的职责,需要的知识、技能。有的企业还有一条晋升通道,比如软件开发工程师会有初级、中级、高级、资深、专家等级别,每个级别的任职资格说明里通常会有对技能水平的说明。这是我们第一个可以接触到的资料。比如我曾经待过的公司就有这种说明,高级开发工程师会要求你C++、概要设计、文档、数据库调优、授课、指导、管理等知识和能力。

第二种途径是找一个同岗位的前辈聊一聊,他很可能会给你和第一种途径不一样的视角,根据他的经验告诉你什么重要什么不重要,该培养什么不该培养什么。

第三种是非常有效的途径,不但可以弥补第一种途径的不足(有的公司会没有,有的公司会很简单而流于形式),还可以从中梳理出某个技术栈的发展态势。像智联招聘、拉钩、猎聘、大街网、51job等网站都会有大量软件开发工程师的招聘信息,可以结合我们自己的技术方向,拟定关键字进行搜索,然后看看别的企业对某个岗位都是什么要求。

持续性

植物的顶芽优先生长而侧芽受抑制的现象,在植物学上称为顶端优势。为了维持顶端优势,可以人为干预植物的生长,比如一颗泡桐树,要想它长得又高又直又粗,就需要不断砍掉树干上的侧枝。

在企业管理领域存在顶端优势现象,处在优势的实权部门会抑制其它相关职能部门的发展,处于权力顶端的人往往抑制着处于下端的职权,处于优势的核心产品也会抑制其它产品的发展壮大……

对于程序员个人的知识和技能积累来讲,通常也需要维持顶端优势。

一个软件开发工程师,在自己知识图谱与技能树中,如果存在顶端优势现象,那当别人问你擅长什么时,你就可以信心满满地回答出来。而如果你的知识和技能还能在企业内超越其他程序员,形成群体内的比较优势或者顶端优势,那你的光芒一定照耀四方。

我承认,能做到第二步这种程度的人相对较少,所以,我们只讨论第一步:在自己的知识图谱与技能树中打造顶端优势。

毋庸讳言,软件开发工程师跳槽频率比大部分职业的从业者高一些,在不同的企业不同的行业为不同的用户开发不同的产品时,用到的知识和技能通常是不同的。这就会导致一种情形:什么都懂一点,什么都不精深,什么都能干一点儿,什么都干不专业。而知识越精深越有价值,技能越熟练产出率越高,现在以及将来是专业主义时代(参见大前研一的《专业主义》),如果我们能沿着一个方向积累知识锻炼技能,那就可以形成竞争优势,随着不断用心打磨,就会产生顶端优势,就越来越能解决问题,不可替代性就会越来越强,商业价值就越来越高,薪酬福利自然越来越好。

所以,工作一段时间之后,就要思考自己的职业目标,梳理自己的知识和技能,选择几样,着重培养,持续精进,形成优势。

寻找职业机会

修炼完内功,我们该来寻找外部机会了。

在向外看寻找机会时,有三个递进的层次需要注意:

行(产)业
企业
职业


行业选择


现在软件已经成为支撑各行各业发展的服务,几乎每个行业都会用到软件。行业里的企业在使用软件服务时,要么买现成的,要么自己开发。现成的软件,比如CRM、ERP、OA等,很多行业里的公司都用,也一般都是采购。除了采购软件,还有一些行业的公司选择自己开发,那这个时候就需要软件开发工程师,也就是程序员了。


必须注意的是,不同行业的程序员的平均薪酬待遇是相差很大的。行业越有前景,个人的发展越好回报越好。越赚钱的行业,处在它里面的程序员薪资水平越高。这是一般性规律,我们程序员在择业时也需要考虑。


以房地产行业为例,2003到2013是中国房地产黄金十年,处在这个行业里的从业人员,有很多都赚得盆满钵满。以商品房销售为例,售楼小姐曾经是收入非常高的职业,干上一两年,拿到的提成都能买几套房。房产中介也有同样的机会,我买学区房时,提供服务的房产中介,他们的片区经理,就是在那几年赚了两套房子,过上了相对丰裕的生活。而2013年后,房地产销售每况愈下,现在几乎是举步维艰,我们家楼下的房产中介每天门可罗雀,今天开一家,明天关两家。新建住宅也是人流稀少,销售惨淡。

那么,我们该怎样选择行业?

产业曲线图中可以看出,一般产业都有形成、发展、成熟、衰退四个时期。我们在选择一个产业时,发展期进入是最好的,成熟期也可以,衰退期就要慎重考虑了,除非你已无太多要求,只想随便干两年退休。

所以,作为程序员,也不能只盯着技术,还要看行业大势。“女怕嫁错郎,男怕入错行”这种老话是很有道理的。

现在(2015年),最有发展前景的行业是互联网、金融、医疗、教育、新能源、智慧产业、高端制造等。而一些传统行业,比如煤炭、电力、房地产、石油,都在走下坡路。再说下房地产,别看那些楼盘死撑着不降价,其实一个月也不见得卖出一套房去,很多房地产厂商想跑路都跑不掉,工地停工,薪资拖欠,各种新闻不断。

企业选择

2002年到2012年,移动通信黄金十年,最赚钱的公司除了中国移动,还包括一大波2G手机厂商以及其他设备厂商,西安大唐电信没能及时转型,迅速没落,原来的产业园都卖给陕鼓动力了,而华为则顺利转型,依然强劲,到处买地建园区,如日中天。一个程序员,在西安大唐电信和在华为,这么些年的感受肯定不同!

与行业类似,企业有投入、成长、成熟、衰退这样的发展周期。我们选择企业时也需要考虑目标企业的当前状况,是在快速成长还是正在衰退。对不太有冒险精神的程序员来讲,最好的进入时机是快速成长期,此时企业飞速扩张,各种机会很多,产品要不断迭代要形成技术优势,对技术人员需求很大,职位上的晋升,技术上的积淀,都会有很多。对于想拿青春赌明天的程序员来讲,也可以在一个公司的投入期进入,如果这家公司能突围,那作为初期的核心人员,回报是难以想象的,你只要看看阿里巴巴的十八罗汉就知道了。

选择朝阳行业,选择非衰退期的企业,这是寻找职业机会时必须要首先考虑的,只要你选对了行业进对了企业,个人的成长和回报是早晚的事儿。

我们还要展开来说一下,行业是由若干从事同一类或相近性质产品生产的企业组成的,在这些企业当中,一定有龙头老大,一定有前三甲,一定有前五前十,选择排名靠前的企业,一般来讲会更好一些。因为实力越强的企业,占有的资源越多,市场覆盖越广,盈利能力越强,现金流越好。企业盈利,企业现金充裕,员工收益自然也大。

可我为什么说一般呢?因为一个行业还有细分,还存在一些垄断细分领域的企业,虽然在整个行业中综合实力排名不靠前,但因为卡位好,此山是我开此树是我栽,要想从此过留下买路财,你想干那个领域的事儿就绕不开它,所以它也能活得很滋润。选择这样的企业,也相当不错。

职业

选对了行业,选对了企业,接下来就是选择企业内的职业了。

前面我们说互联网行业很好,金融行业很好,互联网金融也很好,你进了这些行业中的某家企业,也不一定有什么大发展。因为这里面还有职业之分。

在一个企业里,一定是创造价值最多、距离核心价值链最近的职位的员工拿到的薪水最多。

有人说对于程序员来讲,根本没得选择,因为到哪个企业里都是做开发啊。

其实不然,还是有得选的。

比如你到一个房地产公司去做网站前端开发,你觉得怎么样?房地产公司最重要的部门是什么?肯定不是维护网站的技术部啊,你作为一个软件开发工程师,很可能受到的尊重拿到的薪水远不如销售人员。

对互联网公司来讲,最重要的是产品,那就对应有两个职位——产品经理和软件开发——很受重视。所以你到这样的公司里去做软件开发,就和到房地产公司感觉不一样。

    考虑宏观环境里的地域因素。比如你在西安,互联网氛围就不太好;有些程序员会选择到机会更多的城市,比如北京、上海、深圳等。而如果你不想换城市,有时就得妥协。

0 0
原创粉丝点击