我说出这个观点,可能会遭到很多做开发的工程师反对,这也是正常的。不过我只想根据自己的工作经历,认识的一些同行朋友的故事来谈这个事情。
【一】学计算机有很多选择
我大学修的是计算机专业,承蒙几位老师的厚爱,在班里学的也算是很好的一个。在老师的带领下,我参加过一些比赛的项目,也都拿了些奖回来,在同学们的眼里,我是专业的佼佼者。
在学校时,我没考虑过毕业后选择什么职业,做什么工作之类的事情,更没有什么职业规划的概念。让我现在说出来都不好意思的是,我很少关注行业趋势,比如互联网方面。古人云,一心只读圣贤书,两耳不闻窗外事,我算是***的一位实践者了。原因其实也很简单,潜意识的我们就觉得自己毕业后去做软件开发,并且经常在写完一个自认为很***的程序时,想象着未来的自己会像比尔盖茨那样大有作为,前途一片光明。
我后来发现大部分计算机学的好的学生,这种思想都比较严重,非开发不选,认为那才是有技术含量的工作,要不对不起自己所学的专业。其实,真的是这样吗?毕业后,我们才发现,计算机的应用无处不在,我们有很多选择,专业学的不是很好也不怕,学的好就更有优势了,可以做运营,seo方面,可以做产品,以后成长产品经理,可以做软件授权销售,可以做软件工程项目,不是非要做码农不可,也许你现在才明白码农对大部分人而言,是***层的体力活。据我了解,很多开发工程师做的技术都不会太深。很多底层的技术都被优秀的公司,工程师封装好了,我们只是拿来用,能用的很好很灵活的工程师都是大牛了。说那些没有设计模式,软件设计思想的工程师做的跟体力活差不多也不为过。
【二】码农有很多瓶颈
1、职业延续性不好
毕业后,我都是在公司的研发中心工作,做过开发,带过小团队做产品,也跟同学一起做过产品。我发现每个公司的技术方案都不同,主要原因是技术方案有很多选择,然后选用什么技术方案,跟公司历史背景有关,技术总监说了算。
做开发的工程师不是每种语言都精通,在上一家公司写java,到这家公司用c++是很正常的事,因为你决定不了,所以只能硬着头皮开始熟悉c++。我承认,你精通了一门语言后,再学习其他的语言也不会太难。只是这个不会太难,可能只是依葫芦画瓢,我们能参照别人的代码写点东西。每种语言都有自己独特的地方,要掌握这些并且灵活运用就不那么容易了,比如同为面向对象语言,java是单继承的,c++是多继承的,在顶层设计和设计模式的应用上就会带来很多不同的东西,这些也只有精通了一门语言才能领悟到的。
到了一家新公司,你可能面临重新开始的风险,而之前的积累不能继续深入,这就是职业延续性不好的体现。在你成为佼佼者之前,是别人选择我们,不是我们选择别人。
另一种情况就是开发的技术更新换代特别快,甚至是全新的。比如ios开发,就伴随苹果诞生的。你现在可能是ios开发领域不错的工程师,但是android也很强大,随着苹果的下滑,ios又是一套封闭的系统,面临很快没落的风险。你可能要转去做其他领域的开发者,又要从头开始学习积累。这方面塞班就是***的案例。
比如,我之前的一位的同事,他是前端主程,技术不错,收入也很可观,但他辞职了,他说自己不想做技术了,没有时间陪家人是一回事,更主要的还是青春饭,我现在再去其他公司,这种技术又快过时了,不好找,重新学新技术要时间,又没经验,同样这么高的工资也不好找。
假如你学会计,出来工作也是做财务方面的工作,你积累五年,不管你去什么企业,这些经验的延续性都很好,都不用从头开始,收入和职位也会越来越高,可谓越老越吃香。
2、不懂产品,不懂运营
也许你一上来就不同意这个说法,给我列举很多例子向我证明。马化腾做技术,有了qq,李彦宏做技术,中国有了自己的搜索引擎,还有老周,雷军都是技术出身。其实,这些跟我们在大学时候,想象自己也有可能会成为下一个比尔盖茨的想法类似,这些伟大的梦想都没有错,错就错在我们太天真,马化腾出来做qq已经是一位公司的主管了,自己已经赚了50多万,而李彦宏是有搜索引擎专利的专家了,老周做360前已经做过几家公司,只是没大成而已,雷军更是不在话下,金山混迹十余载,都是互联网骨灰级人物。乔布斯的苹果也是十年磨一剑呀,他敢放言:“我会告诉用户他需要什么”,可见他们都是产品高手,运营高手,你能做技术做到这个份上,也是可以的。可现实中,我接触太多码农了,有做游戏的,有网易的,有腾讯十年的技术牛,也就只能停留在写写代码这种级别,有多少位码农能做到这种境界,能做到网易的技术大那云风那样就很不容易了。
我们做技术也要做精通产品,熟悉运营的人,这时候你更像是产品经理。如果你不能在技术上有一定的突破,做到主管级别,还是趁早转产品或者运营吧,因为在这个级别之前,你只能是码农,接触不到产品,运营的太多东西。
3、缺乏跟人的交流
做码农整天做在电脑前,用的语言是计算机语言。整天跟电脑在交流,却很少跟人交流,这是码农不得不面对的现实。还得经常加班,程序出bug了,半夜都可能被叫起来。
小刚是我之前的一位同事,马上就跨入不惑之年40了。他依然是一位程序员,没完没了的写代码,改bug。经常加班到晚上九点,有时候遇到难题了,他老婆打电话来,气就来了,只是在公司强忍着没爆发。我发现他脾气特别不好,古怪,跟同事很难沟通,而且非常敏感,有时候在公司群里突然来一句很过激的言论,都没人敢接话了。有一次,策划要求改动一个小功能,刚开口就是一顿臭骂:“你们策划一点都不专业,案子做的跟屎一样烂,我这边改动很大,不能改”,结果经理跑过来沟通,才很不情愿答应改。其实他没花十分钟,就改好了。
我接触过很多码农,他们大多不善言语,生活圈子小,因为大家都是码农,除了炫炫技术也没别的节目,周末了要么还是在公司,要么在家蜗居,依旧对着电脑,到周一继续着这样的生活。
【三】真的热爱开发才做码农
做自己热爱的事情是幸福的,也相信只要坚持多少会有点成就。最近接触一些朋友,刚转行来做码农的,他原来学会计的,我问他为什么跨度这么大,他说做开发工资高,很多人都羡慕,刚毕业那会我也有这种自豪感,其实后来想想就是工资刚开始比较好,一两年后七八千,别人还是拿着四五千快。但是这些算上你加班加点的时间,可能工资还没别人的高。另外工资也不能衡量一个人的全部,做产品的,做运营的,做销售的,他们能接触到更多的市场信息,积累广阔的人脉,锻炼了社交能力,这些都是无形的财富,可不是一两千块钱的差距。所以如果你不热爱编程,别随便选择做这种工作,还花个一两万培训费去折腾,等到了35以后会很被动,转行已很难,创业又能力不足,就算别人和你搭伙可能你技术能力都不足,别说产品和运营了。
别随便选择做码农,除非你真的热爱它。