技术人员的职业生涯形态并不是千变万化的,绝大多数都大同小异,可以用以下的图概括清楚。今天,我们要从程序员的角度来分析。
e象限
e象限是雇员象限,绝大多数程序员都在这个象限里边。这里是风险小的地方,只要你准时上下班别一个sql把公司的数据库drop掉,基本都能每月领到应得的银子。这里本应该是程序员们的天堂,因为比起改变世界,他们更多的只是很单纯的喜欢写代码。
但现实很残酷,北上广的房价高不可攀。你可以不在乎房子,你女朋友能不在乎吗?你女朋友不在乎,她妈能不在乎吗?再考虑到将来小孩上学之类,只要你还打算留下来,房子其实还是必需品。
在e象限要低风险的搞定房子,只有一个攻略:靠股票和期权。找一家上市公司,或者即将要上市的公司,在里边成为核心员工,再待上几年,就能拿到一定数量的股票或期权。如果运气好,变掉这些东西,可以有百万级的收益。前几年这些钱还可以房子,现在大概只能交付了。
s象限
e象限的整体薪资是有天花板的,很多公司总监的月薪也就3万到5万,扣掉税和每月花销,其实攒不了太多钱。所以有一部分人就选择了s象限——自由职业者和小企业主的领域。
s象限的魅力在于你的收益不再完全由你的劳动来获得,你可以开始雇人了。比方说,你可以开一个外包公司,给的粉丝服务平台做应用。面向企业的业务一般难在拿到单子,而利润是很高的,一个项目上百万完全不算大,之前有人开玩笑说这些公司一年一个单子就够了、两个单子就赚了。
在s象限要活得舒服还是有技巧的:如果做外包,一定要有一个不错的客户渠道;依赖于大平台的项目 好能花点钱成为平台的合作伙伴。
如果你人脉不好,好吧,程序员人脉好的其实很少,那么就只能用免费+收费模式了。首先把你要做的业务中标准化的部分开发成产品(如cms)在网络上免费传播,而其中需要定制的部分就可以收费了。开源和免费的web产品很多,但同质化严重,很少有细分市场的产品,用心定位的话,养活一个小公司绰绰有余的。
s象限还有一种很悠闲的活法,那就是逃离北上广、回归大自然。去一个风景优美空气清新的二三线城市,雇三五个人(当然就你自己也行)开一个小工作室,给美国人写移动应用。既没有房价的压力,还能发着人民币挣美金,貌似成都高新区还免税。
b象限
按罗伯特他亲戚的定义,b象限本来是大企业主的,那种员工超过500人的。不过在互联网领域这个定义不靠谱,我更乐意把它看成是上市公司和为了上市的创业公司的象限。
同样是开公司,b象限的玩法和s象限不同,它是以规模化为前提的。天使、种子、vc、上市和出售是这个象限的关键词。
很少有技术人员适合独立创业,不是说你能力不够,而是很多东西你都没接触过,需要补很多课。之前创业成本比较高,现在有了和这些开放平台,技术人员创业也开始有了一点的优势:自己做个小产品,不停的失败,直到成功。说得更直白一点就是你找业余时间开发一个商业应用,放到市场上去试试,让客户骂试试。等你经过了共享软件的洗礼,你基本上就知道做生意是怎么一回事了。
上帝其实挺公平的,他还为程序员们准备了另外一条低风险的捷径——上市公司或者快要上市公司的cto。在这里要和大家强调一点,同样是cto职位,初创团队的cto和相对成熟公司的cto差别是非常大的。
a轮(不一定,大致如此)及以前的公司,主要在寻找商业模式,会频繁的变更需求,对开发速度要求更高,这时候cto只要能敏捷的开发产品就ok;b轮以后的公司,着力于规模化,会有大量的推广,可能在某些时间点遭遇高并发,同时技术人员、设备会迅速增加,这时候cto需要考虑业务的高可用、还要能处理好团队、资源的管理工作。如果原来的cto没有大型互联网公司的背景,往往很难做好这些事情,所以一般会考虑从大公司去挖一个。
如果你的规划足够好,是可以从小公司到大公司再即将上市的公司,加薪升职迎娶白富美出任cto成为人生赢家的,这个等下我们还会具体讨论。
i象限
这个土豪和高富帅的象限我还没有待过,所以不多讲。大体是钱多得没处花的人通过投资来保 证资产增值的地方。所谓的财务自由(就是一直不干活,钱也够你花),就是通过进入这个象限来实现的。投资未必都是技术活,直接银行存个定期也算是投资,如果你钱够多的话,也能财务自由。对了,投行的投资经理是e象限的,他们其实是雇员。
当你在上边四个象限里选好了想要的人生区间后,就要设计一个可行roadmap来实现它。但既然你都读到这里了,大概既没有一个i象限的亲爹、也没有一个i象限的干爹,所以唯 一可以推动你前进的,只能是自身的成长。
总体来讲,选技术线的同学要选好技术方向,而选管理线的同学要把握好节奏。
技术线
这里的技术线是纯技术路线,是方向,做到 后title应该是席科学家、席架构师或者席技术顾问之类。如果你对某个方向的技术非常感兴趣,又不喜欢做项目、团队管理工作,那么技术线就是不错的选择。
选技术线的同学一定要选对技术方向,因为你会在自己选择的这个细分市场里投入三年、五年、甚至十年的时间。
那么,怎么选择技术方向呢?我给两个建议。
学会观察技术潮流
有一本老外写的书里边讲,如果你要知道什么语言流行,就去看看技术guru们都在用什么。这话固然不错,但知其然不知其所以然并不是件好事。从根源上讲,一个技术是否流行,和人们使用技术的方式密切相关。
投资新兴市场和细分市场
这是第二个建议。如果把选择一门技术当做一个投资的话,新兴市场和细分市场是特别值得留意的。
并非只有一个平台的兴起才有机会,很多框架技术也会带来机会。如果你只能进入一个成熟市场,那么记得给自己确立一个细分的定位。
技术线属于那些赖得住寂寞,还得了房贷,喜欢风险 低化的同学。在自身技术实力不错,专攻的技术方向还未衰落的情况下,踏踏实实熬个五到十年,还是可以有车有房的。如果中间遇到公司上市、出售,那么时间可能更短。
管理线
用玩游戏来打比方的话,技术线比较单一,在同一个地方不停的打怪就好了;而管理线则有相对复杂的剧情。技术管理虽然有技术两个字,但更多的是和人相关的管理工作,所以在这条线上,职业逻辑也更不正常(在hr看来可能是更正常)一些——title和资历很重要。
一个只在小公司上过班的php程序员,不管他能力有多好,是不可能直接成为一家500人规模还有半年就上市的企业的cto的。即使ceo非常相信你的能力,他也需要拿出让投资人和团队其他人信服的证据,很显然一个大型互联网公司的技术总监职位更容易服众。所以别去相信那些没开过公司没当过高管或者就是别有居心的人说的,title很重要,它标记了你做过什么样的事、有怎么样的成绩。虽然它只能证明你的过去,但我们其实都是从别人的过去去判读一个人的将来的。
不想当cto的程序员不是好项目经理,所以庸俗的讲,管理线其实就是一个不断升级自己的title,直到cto的游戏,它有点像某些排序算法的动画。当然,随着title越来越高,管理的人和资源就越多,对沟通能力、管理能力的要求也越高。
在稍微扁平一点的互联网公司,职位分布大概是这样的:工程师 – 技术主管/技术经理/项目经理 -总监 – cto。和技术线不同,管理线每一次升级除了能力,还需要机遇的。因为越是的管理职位就越少,如果你遇到一位年富力强又对公司衷心耿耿的直接上级,那这条线基本就被堵住了。
好在我们生活的这个年代换公司比换衣裳还容易,所以我们可以通过跳槽来调节。除了可以跳到相同水平但是发展更好的公司外,也可以去稍微低一级的公司,这样你的title(还有薪资)就可以先调上来,等这家公司发展起来,你的价值就增加了。
跳槽的时间间隔要把握好,一般两到三年为宜;不要太频繁,否则会让人对你的稳定性产生怀疑。每一次跳槽要设定好自己想要得到的空间、资源、薪资和title。对去创业公司的同学多说一句,虽然我不想承认,但的确99%的创业公司都会失败的,不过公司的失败未必是你的失败,你只要确保在每一家公司都能得到成长,就可以踩着河里的竹竿逆流而上。
写到这里连我自己都觉得有些势利了,但大部分公司和员工本身就是赤裸裸的利用关系,你不替自己打算是没人帮你的,老实也未必能有好结果。当年有个和我一起入职的同学,因为是应届,所以月薪只有3k,她一直勤勤恳恳的工作了四年,期望能靠自己的努力得到认可,但 后薪水也只有7k,远低于行业平均水平。后来终于想开了,跳槽去了竞争对手那边,直接13k+。
总之,用多家公司作为自己职业生涯的调节杠杆,就像用并行进程处理高并发一样,是非常有意义的。你未必要真的跳来跳去,但多个选择总不是坏事。