Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

程序员生涯第一生存法则 #4

Open
lietoumai opened this issue Aug 27, 2017 · 0 comments
Open

程序员生涯第一生存法则 #4

lietoumai opened this issue Aug 27, 2017 · 0 comments

Comments

@lietoumai
Copy link
Owner

程序员的职业生涯,第一生存法则是什么?

追求理想、兴趣与爱好? 不免有点奢侈。坚守道德、信仰与纯粹? 也许太高尚了。

平衡生活与工作、兼顾家庭与公司、妥善处理人际关系、熟练掌握沟通能力与谈判能力、扩大社交圈、耐得住寂寞、熬得了夜、活到老充电充到老、懂得取舍与妥协、低调做人高调做事… 本文暂不打算灌输这类心灵鸡汤。

打开格局、扩大视野、开阔眼界、看准趋势、远见卓识,成为华尔街的宽客、CEO、CTO、首席科学家、首席架构师… 不幸的是,90%的量产程序员穷极一生,也注定无缘赖此生存,因为这个领域,天赋与机遇缺一不可。

数据结构、设计模式、算法架构、模型抽象、操作系统原理、编译器原理、概率统计、数论、代数、几何、微分… 相信我,90%的量产程序员编程10年,赖此生存的时间也不超过10天。

那程序员生涯的第一生存法则是什么?

很简单,拥抱开源,拥抱变化。远离远离开源的公司,远离技术落伍许久的团队。

职业生涯,无论做什么,第一要务是生存,而且应该是越过越舒适的生存。譬如律师、医生,程序员亦是如此。

程序员,到 34 岁了,被公司直接或变相辞退了,是挺悲催的。

但更悲催的是,离开这里,居然无法找到(至少)和之前同水平待遇的工作…

原因何在?

因为不少程序员都固执的认为自己所在的公司、所在的部门、所在的团队会基业长青,自己只需要埋头苦干,耕耘好自己的一亩三分地就能安享太平。

可现实是,你的工作并不是你想象的那样不可替代,你的业务代码也许一个初出茅庐的毕业生就可以接手,你的团队、部门、甚至公司也可能会在你想象不到的时刻宣布解散。

如果你的工作只是基于公司内部的闭源框架或陈旧的架构体系,调用一下接口,写写业务代码,修复一下bug,离开这里,还剩多少竞争力呢?

试想一下,同样是业务系统开发,一个基于Spring(称得上Java第一开源框架)、Spark(大数据开源框架)、Kafka(消息中间件)开发的程序员,和一个基于Spriii、Spaaa、Kafff(泛指公司内部专用的框架)开发的程序员,能力相当,走出这家公司谁更吃香?

再试想一下,同样是应用开发,一个玩转 Spring、Struts、Hibernate(Java开源老三样)的程序员,和一个玩转 Spring、SpringMVC、Mybatis (Java开源新三样)或 Spring Boot 的程序员,水平相当,出去面试谁更可受欢迎?

即使只是一颗螺丝钉,也要做一颗技术领先,在外界受欢迎的螺丝钉。去哪都能如鱼得水、畅快优游。

这也是90%的普通程序员,首要应该思考的问题。

当然,这不是让你心猿意马,而是要时刻保持危机感,否则一不小心就走入了职场死胡同。

职场上,最好的生存保障是,走出这家公司,我依然能过得很好,或更好。

公司实行成本优化,开始清退 34+ 的程序员了?挺好,对面那家公司正想双薪挖人。

项目市场反馈不行,团队面临解散?没事,另外团队的 Leader 前几日刚找我聊了,正希望我加入。

Salesforce 来推销他们的 SaaS(企业软件即服务)服务了,IT部门又可以优化几个人员了。正好,那家18薪出国游的公司正在招人,技术要求很匹配…

在一家远离开源的公司,或技术落伍许久的团队,即使你是首席架构、技术总监,熟练掌握公司或团队内部的各种框架,配置和接口倒背如流,还能一一填埋这些框架的各种坑,那又如何?

35岁了,换了一家公司,也许你又归零成了小白,因为别人不玩你这一套。

诺基亚塞班系统的专家,别说去微软了,即使去诺西(诺基亚西门子通信的简称),很多都得从头再来。

百度 Pyramid(细节自行百度)项目组的大拿,还不如一个精通 Hadoop 配置的工程师更有市场。

SAP、Oracle EBS 开发的资深工程师,选择公司的余地远比不上一个初级 React 工程师。

之前参加过一些创业项目的路演,遇到过一个项目,创始人是两位博士,号称研发了最先进的深度学习算法,用于医学扫描成像的癌症诊断。

但是,TensorFlow(谷歌)、CNTK(微软)等深度学习开源框架的图像识别算法,在癌症检测方面也许可以碾压小创业团队所谓的绝门秘笈。挺替他们的投资人担心的…

目前为止,只说了 90% 的普通程序员,那还有 10% 精英程序员呢?

毫无疑问,精英程序员更应该拥抱开源,因为那才是实现个人价值,提升个人影响力的最佳途径。

如果 Spring 没有开源,就不可能获得如此广泛的应用,Rod Johnson(Spring 之父)的影响力也会大打折扣。

如果 Lucene、Hadoop 没有开源,很多人可能都不知道 Doug Cutting(Lucene、Hadoop 之父)为何许人也。

如果 Linux、Git 没有开源,也许就没有 Linus Torvalds(Linux、Git 之父)的享誉世界。更重要的是,这个世界可能会被更多的蝗虫入侵。

注:“突然间,到处都是微软的产品了,被蝗虫入侵了似的。我并不是说蝗虫是坏蛋,我喜欢所有的动物和昆虫。” —— 摘自 Linus Torvalds 语录:

诚然,如上的大神毕竟凤毛麟角。但大牛级别的程序员走向开源,带来的个人影响力、声誉、技术伙伴、收入、成就感等,都是实实在在的。

说了这么多,也许你也挺无奈的,因为你所在的项目所用的技术体系,刚好是公司专有且闭源的,那怎么办?

你可以默默的把这篇文章转给你们技术领导看看,看他有没有这个思想觉悟。

如果领导悟性不够,半晌没有回应,你可以提点他一下:无论实习码农,还是技术大牛,现在优秀的人才都拥抱开源去了,我们再这样下去,会招不到优秀的人才的…

如果非常不幸,你从事的是银行、基金、保险、电信、电力、石油等领域的业务,而且还是古董级别的项目,领导说稳定才是第一位的。那你也有三条路可以走:

1、祈祷自己早日实现财务自由(据年初的胡润报告,一线城市财富自由门槛是 2.9亿)

2、祈祷所在的公司(部门)能够基业长青

3、更新一下简历,准备跳槽吧~

那这种古董级别的项目怎么办?总得有人维护吧?

加薪!加薪!加薪!不能给予锦绣未来,就给予更猛烈的薪水吧!

最后,即使是第一生存法则,也不是金科玉律。因为世上总存在一些奇葩的人,码农这个群体也不例外。

譬如我找人,最关注的还是逻辑思考能力。写一个新算法,学一门新语言,用一套新框架,不过几周的事情,何必那么纠结。

不过,玩过 Tensorflow 图像识别与目标检测,跑过 ResNet、Inception 等网络的优先…

题外话

本文通篇都是从务实的角度来谈开源的好处,事物都有两面性,那开源的坏处在哪里?

其实前面也提到了一点,TensorFlow、CNTK 等开源框架的算法,完全可以碾压大多数人工智能创业团队所研发的所谓独门秘诀,特别是通用算法领域。

也就是说,不少创业团队、研究院、实验室里,一门心思研究底层算法(包括图像识别、语音识别、翻译、NLP等前沿领域)造轮子的精英程序员、研究员可能会因此荒废多年的心血…

譬如,两个月前,百度推出阿波罗计划,将自家的自动驾驶平台开放。这同时意味着,国内自动驾驶领域的不少创业团队可能会面临被洗牌、解散。如果今后谷歌也来这么一出,行业震荡可想而知。

前些日子,还听我一位在某大厂研究院视觉识别组的同学说:谷歌物体检测与图像识别的API一开放,他们视觉组辛苦了3、4年的研发心血又白费了…

可开源是人类社会进化的最优选择,因为只有开源,才能实现人类顶级智慧的充分共享与协作。除了谷歌、脸书,连一贯封闭的微软、苹果两大巨头都已走向开放。

开源大潮,浩浩荡荡,顺之者势如破竹,逆之者举步维艰。

也许自然规律如此,人类宿命如此吧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant