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