只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 商城网站建设 >  作为 IT 行业的过来人,你有什么话想对后辈说的?


作为 IT 行业的过来人,你有什么话想对后辈说的?

发布时间:2019-08-07 19:56:59  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
40岁的老程序员,经验(教训)有不少,今天只说一点:“不要一味的迷恋所谓的管理,把当官作为职场唯一的追求。”我20年的职业生涯,总的来说,可以分为3个阶段:技术->管理->技术。第一阶段,从实习生开始
作为 IT 行业的过来人,你有什么话想对后辈说的?

40岁的老程序员,经验(教训)有不少,今天只说一点:“不要一味的迷恋所谓的管理,把当官作为职场唯一的追求。”

我20年的职业生涯,总的来说,可以分为3个阶段:技术->管理->技术。

第一阶段,从实习生开始,不断“打怪升级”,最后到资深软件工程师。

第二阶段,从team leader到开发经理,然后困惑、恐惧,最后果决的从管理岗退出。

第三阶段,也就是现在,重新做回技术岗(技术专家)。

现在,虽然要不断的学习新技术,但心里却安定了很多。所以,对管理的认识,我不仅有自己的思考,更有切身的体会。

中国人都有“官本位”的思想,好像在职场上,不混个一官半职,就有多丢人似的。但是,大家一定要明白,在企业里做官,不像在体制内,只要不违法乱纪,不犯大的错误,基本不会丢掉乌纱帽。

在企业内,尤其是私企。且不说面对激烈的内部的斗争,失去职位。即使你总能“八面玲珑”的应对各种关系,但也控制不了你所在的事业部、所在的公司、甚至是所在行业的衰退。而应对衰退,企业最常见的做法就是裁员。

别以为企业裁员只裁一线,不裁管理层。很简单的道理:“皮之不存,毛将焉附”。市场没有了,员工没了,要领导有什么用?

以我所在的公司(500强外企)为例。10年时间,大大小小的裁员经历至少5起以上,每次裁员都是以部门为单位,领导和员工一起滚蛋。之后我观察,面对失业,管理层往往比普通员工更加悲惨,真是“脱了毛的凤凰不如鸡”。

而之所以更悲惨,除了因为金字塔结构,管理岗本身少外,还有更深层的原因。

对绝大多数中级管理职位来说,无论是个人的价值,还是地位,都严重于依赖所在的组织,以及其中的title。一旦离开这个公司,失去了对应的title,这些管理者一瞬间就会失去所有光环。真真的应了那句话:“公司有名我无名”。

在职场上混,尤其在中国,中年危机是每个职场人挥之不去的阴影。在有效应对中年危机的因子中,最核心的就是要拥有“硬实力”,要自带光环。

在这一点上,作为一名技术人员(例如软件工程师),精通技术,虽然不敢说自身硬如铁。但好在技术是一个容易说明白,也容易证伪的东西。因此,只要社会还在发展,企业对生产力还有需求,技术人员就很难彻底失业,不过是一个性价比的问题——只要价钱合适,总还是有口饭吃的。

但是,做管理就不一样了。因为管理是相对“务虚”的东西,所依赖的更多是大家津津乐道的“软实力”(包括交流能力、协调能力等)。当然,软实力对任何职场人来说都非常有价值,即使对纯技术人员依然如此。但是,软实力最大的缺陷就在这个“软”字上面。因为它不容易展现,尤其是在面试的时候。

而且很多所谓的软实力,在很多程度上,严重依赖于所在公司和文化,甚至是有些公司会“因人设岗”。这样的管理者一旦离开所在的公司,价值一定会出现断崖式下降。

我听过一个例子。

行业著名公司空出一个高级管理岗。刚好那段时间,公司的高层也想搞一下“先进文化”,敞开胸怀引入先进血液,因此,就通过猎头公开招聘。一时“应者云集”,其中不乏大小公司的各种CXO。但问题是,不像招聘技术,“是骡子是马,拉出来溜溜”(包括面试题,上机操作,专利和论文展示)。

而招聘管理,更多就是靠以往的成绩。但问题是,这些成绩有多少是管理的因素,又有多少是其他因素(例如行业红利、公司的行业地位)。这些都不是简简单单通过面试能说清楚的。

因此,这个职位连续从外边招聘几个经理,最后都证明非常“不上道”。没办法,最后还是从内部提拔了一个来补充。

就这一点,以我们公司为例,老牌的五百强企业,对普通的中高级管理岗,也始终坚持从内部提拔。至少我眼力所及,在公司服务的10年时间里,还没见过一个空降的中级管理岗。

而且,管理岗,在某种意义上说,就是一条“断头路”。

做技术 的,可以转管理,可以转架构,也可以转教学。但是反过来却不成立,尤其是在一日千里的IT行业,脱离技术,最多只用3年,技术基本也就“废”了。因此,所能做的,只能是在管理的路上一条道走到黑。

我们都知道,应对职场危机的一个有效方法是制定ABC计划。也就是以当前工作为A计划,一旦遭遇不幸(例如裁员、年龄歧视等),能够补上B计划,B计划不行再上C计划。

例如对一名资深软件工程师来说,A计划是当前工作,B计划可以是架构师,C计划又是培训师。虽然不敢说万无一失,但通过个人努力,这条道路完全是可以实现的。因此,在很大程度上,命运还在自己手中把握着,

但对一名经理来说。失业之后,因为市面上公开的管理岗非常少,再加上久疏技术,大部分人能做的也就是创业一条路。但创业成功有多难,估计大家心里都有数:“九死一生”都不足以形容。

当然,在职场上混,永远没有谁是真正安全的,无论是做技术,还是做管理。但是从长远看,做管理却更不安全。

这篇文章,我的意思绝不是说劝大家一定不要走管理这条路。只是说不要一味的迷恋它,美化它。这世上所有的事情都是有两面性的,也大概是公平的,你得到一些,也必然会失去一些。

就普通人来说,选择技术这条路一直走下去,虽然在人前可能不那么光鲜,但好在这条路却稳很多。而且,好不好,适不适合自己,不同的人一定会有不同的答案,正如禅家所言:

如人饮水,冷暖自知。”

不要盲目迷信技术氛围好的团队,好的技术氛围的建立在于自己,而不在于别人。

不要约束自己在某一个领域和语言的学习。

技术人员和技术人员沟通也是需要技巧的。

技术管理和技术专业不是一个选择问题,而是判断问题,什么时候更适合做什么。

新技术焦虑每个人都有,但是记住人生是长跑。

学会敬畏自己不懂的专业和人,学会在技术探讨上平等交流,学会从优秀的人身上快速吸收技能。

总结是帮助自己成长的过程,每个it人都要有规律的总结自己。

开拓眼界,不局限于小技术圈子,语言,公司,国家,项目,优秀的人。

主动高效,被动低效。

作为技术人员,要学会了解自己在商业公司里属于业务的哪一环,了解自己的产值和生产价值,了解互联网公司的盈利方式,才能更好地帮自己在公司里找到合适的定位。

身体健康比什么都重要。

直接领导一定某些方面和自己属性一致。

勤是能补拙,但是同等条件下,还有性格,运气等成分,有时候更重要。

做对人和做对事,选做对的事。落地能力不是每个人都有。

独当一面和无中生有是不同阶段的能力。

信任的力量很强大,单打独斗在哪都不合适。

学会建立自己的影响力和个人魅力。

生活和工作要分得开,劳逸结合。

大概这么多,想到再补。

很多想说的已经在我其他回答里说过了,这里算是一个总结吧。

拥抱变化,持续学习

IT行业还是一个年轻的行业,不管是硬件还是软件。硬件有摩尔定律,软件到目前都没有找到“银弹”。我06年还在广州爱立信开发3G业务平台,现在5G已经要开始了。

我刚毕业的时候,公交车上还听到有人问上网的猫和鼠标是什么关系,经常看到宣传说IT是朝阳产业,现在却很少看到这么说了,IT已经想空气一样充满我们的生活。

但是,必须保持清醒:IT是朝阳产业这个大环境没有变。和传统的建筑、机械、纺织、等等行业相比,IT还是刚刚起步。

在给企业内部培训的时候,对他们内部那些不思进取的程序员,我经常问的一个问题是:你们的父母有工人、农民、经商的、当兵的、干啥的都有,有没有程序员?请举手。

以前其实也有编程的工作,但大多都在科研单位和院校。真正形成程序员这个职业的,就是我们这一代人。和那些有几百上千年的传统行业相比,IT业还是一个婴儿,每天都会有变化。一个行业的技术怎么可能在第一代人手上就停滞了呢???

那么就请IT行业的人,尤其是我面向的“程序员“群体,一定要拥抱变化,持续学习。否则你就不适合这个行业。

见过太多的程序员,就打算把刚毕业时候学到的那点技术用一辈子,用到退休。他们会以任何借口拒绝学习新技术,任何新语言、新框架、新思想都能找到拒绝的理由。就像戒烟失败的人一样,能找到任何理由再抽一支烟。

再重复一遍那个古老经典的段子:

一个程序员找老板要涨工资。老板问他理由。他说:我来咱们公司十年了,已经有了十年经验,可是一次工资都没有涨过。老板说:你虽然来公司十年了,但是却用第一年的经验混了十年。

永远不要脱离代码

如果你的行业规划是干个三五年转市场销售,甚至转其他行业,那就无所谓了。只要你想长期做技术,今后升到技术管理层成为CTO什么的,那就不要脱离代码。

我见过很多人的梦想就是脱离代码,真的。很多人写代码的时候就为尽早脱离编码做准备,希望自己早日走上管理岗位。甚至以不用写代码为荣。在和有些公司技术负责人交流的时候,他们甚至很自豪的对我说:我现在已经是管理层了,不用写代码了!

我丝毫感觉不到他有什么值得骄傲的,而是感到国内整个软件行业观念的偏差。

为什么国内 IT 公司 leader 以上就不怎么写代码,而据说 Google 的 Jeff Dean 还写代码?到底哪种情况好呢?

我在上面这个问题下面说过:leader不写代码的时候就成了《三体》里的质子,会锁死公司的技术,让公司的技术永远停滞在自己还写代码那时候的水平。他们以”稳定、这个技术不成熟、这个技术不适合我们“为理由,拒绝一切新技术在公司的落地。

软件技术上的管理有其自身的特点,就是能力比资历更有效。当我能够掌控现在技术,我就能掌控公司的研发人员。如果下属问我问题,我都答不上来,我不能帮他们解决实际问题,只会谈资历谈过去,那么没人服我,就没人听我的。特别是在那种中小型扁平化管理的公司。

为了达到对技术的掌控,就出现了两种路线和两种对策。

其一,就是禁止公司的技术升级换代!必须用我会的技术。这种人往往是公司成立之初就是公司的技术骨干,公司的早起核心产品都是他参与开发的。之后,他就坐在了已有成就上,不思进取,但又害怕被公司淘汰。他们是技术出身,根本谈不上管理能力,只有自己以前会的技术。如何保持自己的地位呢?就是锁死公司的技术栈,不允许自己不会的技术被应用,不允许自己早起为公司写的核心产品被新人用新技术重构,因为这些都是他在这家公司安身立命的资本。

其二,就是不断的学习,不断地思考。自己的经验,只能成为自己比别人学习更快,少走弯路的基石。对于新技术的涌现,还要尽快掌握其思想。思考是否适用于自己的行业,比公司现有的技术是否更合理。在成熟的时候,自己带头在公司内部实践和摸索,形成适合自己公司的解决方案,然后对年轻人进行培训。

很可惜,我看到的都是第一种。希望95后00后的年轻人能够改变这种现状。自己不要成为第一种技术管理者,如果发现自己身处第一种人的管理下尽早脱离。

长期在一家技术被锁死的公司做研发,对自己的影响非常大。半年以后,慢慢的你就会被环境同化。因为这种环境也不需要你学新东西,不需要你钻研技术,需要的只是你加班再加班。加班时间越长,就越没有时间提高自己。最后会怀疑自己,是否只适合在这家公司,如果再出去找工作,是否能适应现在的主流开发。

英语很重要

现在互联网的格局还是没有变,大多数内容还是英文的。你要说搞笑短视频中文的最多,我肯定不反对。但高质量的技术类的文章,还是英语内容占绝大多数。

在整个IT产业上,除了少数几个领域国内处于快要赶上的水平外,其他都还处于落后状态。

为什么高质量计算机书籍几乎都是外国人写的?
为啥有名的框架 angular react bootstrap jquery 等都是外国人发明的?

类似上面两个问题说的情况还很多。英文资料更及时、更全面。

任何新技术、新语言、新框架出来以后,大致过程是:首先是英文文档和书籍配合出现,然后才是中文翻译版,然后才有可能中文原创的内容出现。

很多人早在高考后就彻底松了一口气,觉得再也不用学英语了。上大学以后,英语也是以不挂科为目标。大学毕业以后就打算彻底和英语永别了。

中国java程序员这么多,为什么idea不做中文界面?

连每天比用的IDE上的英文都看不懂,你的职业之路能走多远呢?

技术不能解决所有问题

技术人员,尤其是优秀的技术人员,往往习惯只从技术的角度思考问题,用技术去解决问题。这样是远远不够的,还要提高情商,学会政治。

我之前的开发团队写了一堆烂代码,然后跑路了,我该怎么办?重构?还是重新开发?

就像我在上面这个问题下的回答一样,先从”政治的角度“考虑一下,然后才是技术方案。

一边工作一边思考如何能更好地工作

这句话是我经常对实习生说的。主要是四个层面:

  1. 编码开发。思考是否这样写能够让代码更清晰易懂?是否这样写在出现Bug的时候更容易定位和分析?另外一个框架是否更适合我们当前的产品?等等。
  2. 工程思想。如果我们先这样做,是否能更早的让客户确定需求?如果先这样做,是否能够让前后端配合起来更高效?设计文档怎么写才能更有意义而不是应付验收的摆设?
  3. 日常管理。是否应该这样做,才能更好地激发员工的积极性?是否这样做才能真正体现以人为本,让大家工作更有尊严?如果我当领导,这方面我要这样改。
  4. 市场战略。我们的市场定位是否合适?这个市场将来的发展趋势是什么?下一个高速发展的市场在哪里?

在开放的、人性化的公司,很多想法可以提出来。但是在国内大多公司,你的想法可能仅仅只是你的想法,根本没有在这家公司提出来的意义和必要。恶略的环境只能阻止你实践,但并不能阻止你思考!

先写这么多....

1.抓紧挖掘 IT 和互联网的红利

IT 和互联网行业的定义,既包含腾讯、阿里这样的互联网公司,也包含华为等硬件、信息技术公司,还有类似 IBM 等面向企业的软硬件服务公司,等等。

和几个在技术圈和产品圈很资深的朋友聊天,我和他们半开玩笑的说,要认清楚,大家今天取得的成绩,未必仅仅是自己的因素,尽管很多做专业工作的朋友,容易认为自己的前进,都是因为产品、技术、运营等方面的专业技术。比如,过去和现在的 IT、互联网红利,让大多数都搭了一班好车。

IT 互联网火热了,CS 人才火热了,等等,这个说法,从十几年前就有很多家长、老师在说,后来的情况大家都知道了。很多人看不清楚的,是这是工业革命到信息革命的巨大转型,是生产力上的变化,而不仅仅是一个专业与否。

现在红利仍然存在,尽管没有之前速度那么快,但是体量更大了。如果已经置身这个行业,要抓紧跟上步伐,有机会不要错过。不要认为这一切是理所当然的,这是一个时间差,十年、二十年、三十年,互联网如钢筋水泥和公路大桥一样普遍,各个职业上的红利差异就没这么大了。

2.能力边界得越来越宽

专精一个方面是不错的,这是我们说的专注。但是,我们会发现这个领域变化太快,很多时候不是你的原因,是趋势和浪潮决定了,突然某个时间点,你还在奔跑,但是赛道变了。

以前有朋友说,他们在做视频播放软件,在技术、市场等方面都做的越来越深入,终于做的差不多了,才发现自己面临的对手不是其他软件,而是在线视频播放。

你的专业能力,如果只在一个赛道,就可能有类似的风险。

随着你的发展,能力边界应该越来越宽,更新,拓展,找到新的领域,增加自己的护城河。

3.警惕自己的体制耦合度

当你在一家大公司、某个产业呆的久了,会发现自己的很多能力,其实和这个体制耦合度很高。比如你很熟悉一些业务问题,但是这些问题是体制特有的。

等某一天你真到了外面,一下子发现自己没法办法适应。

比如之前有个例子,一个人在某家业内知名的公司很多年,待续也很好,但有一天不得不离开,这时候发现,自己的技术,对于一些生产线的熟悉,都是这家公司特有的,在别的地方没有用武之地。这时候就很尴尬,不上不下。

4.平台高和能力强不成正比

一些时候,你能做成很多事,未必是你能力有多强,而是因为你站的高。

一些朋友在很好的公司里,能做的很不错,于是认为自己出来也能做的很好,结果却发现自己丧失了很多资源之后,连最基础的事情可能都做不好。

要对自己有清醒的认识,往往我们都容易高估自己真实的能力和对环境过于乐观。

待续。

世界上没有技术驱动型公司,不论google、facebook,还是腾讯、阿里,都不是技术驱动型公司。因为技术不是源头,需求才是。因此一切技术问题,都要服从产品交付和市场反馈。所以,任何公司,都不可能以技术去驱动自身。人可以以技术驱动自己进步,但公司不行。一家公司可以以技术切入某个市场,但如果它想生存下去,就一定不能以技术为导向,坚持以技术为导向的公司的生命力为零,其下场有两个:破产或者在破产之前被收购。如果你真的很痴迷钻研技术,请读研读博最后留校或者进研究院让国家用纳税人的钱养你。

资本富集的地方,人都得加班,加班的本质,是人跟着机器跑、人跟着钱跑;更为本质地说,资本富集的地方,人作为劳动力,也是资本的一种。即,人是资本而不是人本身。资本的运转是不能停的,因为停一下损失的钱太多了。中国、外国,都一样。知道发达国家为什么产业工人不加班吗?因为制造业已经不是这些国家主要创造财富的领域了。发达国家资本富集的地方是金融行业,所以西方国家的金融狗一样加班。劳动法?加班费?都不存在的。劳动法和加班费只有在资本离开这个市场后才能给你保证。一般公司的策略是:付给你高于其他行业的薪水、换取你“自愿”加班。不想加班的同学们,你们可以去考公务员或者去欧洲做IT,我保证你不加班、不但不用加班,你甚至会闲出病。

IT是工科,不是理科,和IT行业相似度最高的行业是盖楼房。真的,相似度相当惊人。

IT领域最重要的是经验而不是你有多聪明,不聪明的人或者更准确地说不适合做这个行业的人,大学毕业后就改行了。记住:你做得好不好,不取决于你是否聪明,而取决于你是否愿意不断读书不断学习和不断积累。因此,如果你打算投身这个行业而你还在学校,请抓紧一切时间多读书。

公司是你创造财富的地方,公司不是学校。你可以在工作中学习,但你不能放下工作然后去学习除非你的工作已经做完了。

能大规模商用的技术,都不需要智商,否则这种技术就不可能规模化。某些程序员们,请停止你们的蜜汁自信。

技术栈,一旦确立了,就很难改了。一个技术人员是如此,一家公司也是如此。根本原因是:每一个栈的size都太深了…就像是ulimit -s unlimited过一样。

一个程序员,应该花80%的时间做代码设计、画UML图、画时序图,20%的时间写code和debug;菜鸟程序员的这个比例恰好是反的。一句话,不论这个需求有多紧急,你都一定要“想好再动手”;“想好”的标志就是设计文档写好了;文档一旦写好,写代码就是纯粹的无脑工作。

写文档的目的是让你在code的时候,不需要停下来思考更不需要推倒重来。如果没有文档也可以做到这一点,你当然可以不写文档同时思考下自己水平这么高是不是可以要求升职加薪了……或者,你是不是在做无聊的if else编码工作?

英语,很重要。能否使用英语查阅资料,是区分技术人员水平的重要指示之一。寄希望于“有人迟早会翻译成中文”的人是愚蠢的、是会被淘汰的。

要有分享精神,不要担心你知道的东西告诉了别人你就没价值了。你最大的价值在于你知道那些东西的过程,而不是那些东西本身。你愿意和别人分享别人自然也会愿意和你分享,最终达到1+1大于2的效果。不分享,就像一个失去了互联网的程序员,试问他还能创造多少价值?恐怕他连日常工作都无法展开了。持有“我把别人知道的都学会、我把自己知道的都藏起来别让别人学去”想法的人,其实是默认全世界只有你聪明别人都是傻瓜,这样的人,在信息传输成本高的时代,可以活下去,但是在今天这个时代,他们的路会越走越窄最后会自己走入死胡同。当然,如果你真的知道了了不得的黑科技,那就请你保护好自己的知识产权然后自己开公司玩吧。

工作要有热情。

智商决定你的起点情商决定你能走多远爬多高;混职场,靠的是情商。情商高就是:别人愿意和你一起工作、你有问题的时候别人愿意帮你。智商有时候可以稍微弥补一下情商但不起决定性的作用。

现代管理学的精髓,就是让每个人(包括老板本人)都变得可替代。如果你觉得自己不可替代,要么是你的错觉,要么是你在一家管理非常原始的、摇摇欲坠马上要完蛋的公司。

怎样让程序员变得可替代?三个字:写文档。不愿意写文档的程序员,应该立刻马上毫不犹豫地开掉。程序员工作创造的价值,至少一半是通过文档体现出来才对。“一个项目换一个人就要让项目大地震一下、解决bug换一个人就不行因为只有老人知道要改哪一行的哪个关键字”,这不说明这个项目所涉及的技术有多复杂、不说明这个老人是什么技术大牛,而只说明这个项目的项目经理是蠢货因为这个项目已经失控了。

文档不是事无巨细的流水账,写文档以及组织文档是需要智商的、是需要架构师去设计的。美国的航天飞机那么复杂,但是在pilot手里的手册也就那么多,而这个手册可以在航天飞机出问题的时候协助pilot快速定位绝大多数问题。

不可替代的打工者只有一种:以中高层领导的身份跟完了一个项目而且这个项目正处于大红大紫的阶段,公司为了防止你跳槽到竞争对手那里,愿意付给你薪水养着你天天在办公室喝茶。只要项目一直红着,公司就愿意一直养着你。


读完这个答案后如果你觉得我是一个轻视技术的人,那么恭喜你,你和我一样,是一名钢精。钢精读别人的回答,永远不会去正面理解,而只会想尽一切办法找这个答案的漏洞。

觉得我轻视技术的人,麻烦看下这个:https://www.zhihu.com/question/36729502/answer/613762292


======== 下面展开一点谈文档和技术驱动 ========


“开发人员的文档的作用”:

给正在code的自己看、给几个月后已经忘记这个模块当初是怎么开发的自己看、给要接手自己工作的新人看、给周边有关联开发任务的同事看、给领导等有关人员看、产品出bug的时候用来和别人怼的武器。如果没有文档,这些工作量都会成倍增长。

代码再精简再直观,也不可能有人类语言直观,谁觉得自己厉害到读代码和读人类语言写的文档速度一样快读地步,我给你个我上大学时候写的小程序,麻烦你读一下代码,看看你多长时间可以看明白:https://github.com/YvesZHI/FallingCode

这段代码本身并不复杂,应该说非常简单,但是没有文档……读读看吧。

简而言之,文档,就像盖楼房的设计图,没有图纸,你是不能开始搬砖的。

领导有没有给你看需求分析文档?有没有拿着需求分析文档给你宣讲你要做什么?没有?不干活;

测试的同事有没有给你看测试用例文档?有没有给你宣讲?没有?不干活;

你自己明白领导的意图了吗?明白测试同事的意图了吗?想明白后,开始想自己要开发的模块里的各个功能模块之间的关系,可以画时序图;时序图画完了,看看是否有(可能)频繁变化的模块/需求,如果有,请务必使用一些设计模式,如果要用设计模式,请务必画UML类图,如果没有频繁变化的模块/需求,请一定不要用设计模式;最后,看看在一个功能模块中,有没有逻辑比较复杂的地方,如果有,请画流程图;模块和模块之间有没有需要明确的协议?如果有,请把协议写出来。

上面这一段话,就是你要写的文档,这个文档的读者主要是你,在你的模块出问题之前,别人通常不会读这个文档(不排除你的领导会要求看你这个文档)。如果你既不需要时序图又不需要类图又没什么协议需要明确,那么,你就可以不写这个文档。另外,如果这个文档写得好,你的代码是不需要任何注释的。


“技术驱动”:

一些朋友认为我对“技术驱动”有误解,对此我不想辩论了。题目是:作为IT行业的过来人,我有什么想对后辈说的。上面那段话就是我想对后辈说的。什么意思呢?就是告诉后辈,如果一家公司打着“我们是技术驱动型公司”的名号在招人,那么如果你决定要去这家公司,我劝你一定要想好考察好。为什么呢?因为我知道他的那句“技术驱动”很吸引你你想学东西,但是对小公司来说,它最大的任务是活下去,然后才是其他,我不是说小公司学不到东西,我只是说小公司很难很难做到真正的技术驱动;评论区有人坚持认为微软这种公司是技术驱动,这个问题我后面会专门补充,目前我只能说:我是没见过微软大张旗鼓地说自己是什么“技术驱动”公司然后忽悠新人。


“技术驱动2”:

看来有不少朋友愿意和我纠结这个“技术驱动”的问题,那我就和你们杠一杠。

我以华为为例来说说。

华为成功的内在原因,早就敲锣打鼓地告诉全世界了:

以客户为中心,以奋斗者为本,长期艰苦奋斗,坚持自我批判。

这四句话,没一句是直接和技术相关的。这里我先特别声明一下,我不是说,技术人员在华为就不会搞技术、不会提升自己的技术水平、华为的技术水平差。我绝不是这个意思。华为的技术,不需要我多说,全世界的人都是有目共睹的,华为公司的技术专利数就摆在那里,那是谁也抹杀不了的;华为公司里的技术大牛,多了去了;但在这里,我要说的还是第一段的意思:一个人可以以技术驱动,但一家公司不行。华为公司的核心理念,本质就是“成就客户”,你把客户成就了,你就也把自己成就了,华为不是先成就自己再去成就客户的公司。你去华为工作,你可以以技术驱动自己,但华为不能这样做。这一点和微软与IBM的合作极其相似:IBM说,你们微软现在搞的东西我愿意用,但是我需要你们给我搞个操作系统,这样我们才能继续合作。然后微软怎么做的呢?它马上购买了另外一家公司搞的DOS操作系统,然后直接授权给IBM使用。这里面有四个问题需要各位精钢们思考:1)为什么那家开发DOS的公司没能直接和IBM合作?2)微软购买DOS系统的钱哪里来的?3)微软为什么不自己开发操作系统?4)技术在前三个问题中的角色和作用是什么?

至于评论区有朋友说Intel是技术驱动公司,我建议他去了解一下Intel为什么放弃了手机市场:重点关注Intel决定放弃手机市场的原因,然后你就会发现,这个原因的本质,就是一种技术情节的产物。Intel放弃手机市场与华为决定进军手机市场是截然不同的。华为本来是做基站、路由器和交换机的,这是它的主营业务。那么华为为什么决定进入手机市场?是什么原因驱使华为在没有任何技术积累的前提下进入手机市场、以至于最初华为的手机被华为员工戏称为“暖手宝”倒贴钱都没人愿意用但现在华为手机如此成功?

所以,我还是那个观点:世界上没有技术驱动型公司。我本人就是程序员,我一直都以技术在驱动自己我一直都在努力提升自己的技术水平但是我还是要说:世界上没有技术驱动型公司。

“技术驱动3”:继续怼

一个新的team要开发一款软件。它首先要解决的问题,是在产品1.0开发出来并且赚到钱之前这个team的经费;其次,它要提前找好产品的客户群和可能存在的销售渠道并且做完相应的工作;再次,它要做产品规划,如什么时候出1.0版本的产品、哪个模块开发大概要多久、什么类型的问题可以暂时搁置什么类型的问题不能搁置要组织攻关组公关等(全是项目管理相关内容,和技术没有直接关系)。最后,进入产品开发阶段。

一旦进入产品开发,就像工厂的流水线一样,是不可能出现什么导致产品开发进行不下去的技术难点的(否则技术leader就是白痴这种产品应该在头脑风暴阶段就被拍死才对),所以,“期望出现什么决定产品生死的技术难点然后自己nb闪闪地搞定”这种事情,是不可能发生的;同时,在开发过程中,难免出现各种意料之外的bug,比如,你负责的模块出现了三个bug,其中一个是必现问题且直接影响功能实现,那这个一定要搞定的,如果你搞不定,team会找其他老手和你一起攻关,攻关结果有两种,一种是bug解决了但是不知道为什么,另一种是bug解决了也知道了是为什么。对于第一种情况,team是不会让你“潜心研究几个月最后找到了原因”的,为什么?因为你还有后续工作要完成而这个bug已经解决了不影响用户使用了,什么时候才有可能让你继续跟进这个问题呢?1.0版本的产品市场反馈符合预期且公司决定要继续投入搞2.0版本 ———只有这个条件满足,你才有可能继续跟进这个问题,为什么是有可能呢?因为这个bug已经不影响客户使用了,没必要投入人力去搞了,你如果花几个月的时间去找这个bug的原因,那么请问:2.0版本的工作谁做?在很多项目中,类似这种“问题解决了但是不知道原因的bug”现象,是比较常见的,很多时候,直到这个产品生命周期结束,这些bug的原因都没有找到。因此,“期望碰到神秘bug然后自己潜心研究几个月终于把原因找到”这种事情,很多时候是不存在的。

接着上面的“三个bug”继续:另外两个bug,是概率发生且发生概率很低。这个时候如果工期比较赶,公司会想办法绕过去这两个bug,比如定时重启服务器、定时清理缓存等(这些方法通常可以绕开低概率bug),不会给你“潜心研究三个月然后把bug解决”的机会的。什么时候才有可能让你继续研究这两个bug呢?和第一个bug一样,只有在后续继续开发,才有可能让你继续跟进。

现在,请各位再重新品味一下“技术驱动”这个词。到底什么是技术驱动?其实这个词真正的含义就是:我们公司效益很好能养活nb的技术团队所以产品能不断迭代演进开发,随着产品的不断迭代,技术人员有可能会遇到一些其他公司遇不到的问题。所以,如果一家新成立的小公司说自己是技术驱动的……连1.0版本的产品都没有就敢说自己是技术驱动?你信吗?不管你信不信,反正我不信。

简而言之,“技术驱动”的同义词就是“我们公司很有钱”+“我们公司不是炒股炒房而是做产品的公司”。至于为什么不直接这么说呢?这是因为这种说法不容易被十年寒窗苦读潜心研究技术的同学接受……被“技术驱动”迷惑的同学,其实就是读书读傻了,什么叫“读书读傻了”?就是把社会和学校等同成同样的东西……

“很有钱的做IT产品的公司”,这个世界上当然是有的,但是这样的公司,根本不会用“技术驱动”这种词来忽悠新人。



最后,隔行如隔山但隔行不隔理。如果你读完上面的东西,对自己所处的行业有了进一步的认识,我以为,是很正常的。

每个人的身体体质不一样,

有些人之所以成为大神,不单单有过人的智慧,还有强人的耐力和身体素质,

真不是比你聪明多少,而是他们天生就有良好的基因,抽空了身体也不会得什么大病。他们能不眠不休地学习,吃不健康食品,而且不定时。可是,你的身体真的和他们一样吗?

有些人去几次健身房就能增体重增肌肉,有些人能跑完整个马拉松还能马上去打球,可你能吗?

那时候的我,还以为和他们一样,有那个身体资本,

谁知道你熬夜几次,不单单就是脱头发了,身体也虚了,

再熬几次夜,急性慢性炎症都来了,

再熬几次夜,癌细胞也聚集起来搞派对,

当你躺在病床里,知道你的家族曾有亲人得癌症去世,才领悟到物竞天择是真的。

有些东西你可以通过努力得到,可身体弄垮了,就是一生的。

每年记得去体检一次,而且建议有时间去做个基因测试,可以知道一些病的得病机率。

随遇而安,命里无时莫强求。多那30%工资又怎样,我宁愿早点下班回去煮煮饭,早点休息。现在能温饱,睡到自然醒,有点时间旅旅游、陪陪家人即可,还有何求?

其实你真的成为不了谁,你只能活出你自己而已。

到目前为止从业11年,待过的企业类型依次是:软件企业、传统集团公司的互联网部门、电子商务企业,干过的职业有全栈程序员、研发经理、项目经理,现在在京东跟东跟做“兄弟”,担任资深前端工程师。

这11年来我有过许多的迷茫,但又无人可问,只能自己摸索,因此走了不少弯路,看到这个问题,我忍不住想分享自己的一些心得体会,技术性的问题网上很容易找到答案,但职业选择和职业规划类的观点却很少但又很重要,方向错了,平台错了,再多的努力都是浪费时间。

一、自学能力才是竞争力,别指望培训班

报培训班可以节约时间,能快速了解到从事相应岗位需要的知识体系,千万别指望老师教你所有的知识和技巧,通过培训就能找到不错的工作。那么多的知识,几个月密集的讲解,哪能吸收完?培训班和老师只是领路人,关键还得靠自己下来自学,什么都等着人教,这样的职员是不受欢迎的,自学能力是程序员很重要的能力,有助于以后快速学会新东西,也有助于解决问题能力的培养。

选择培训班一定要看老师的资质,我个人建议选择有多年实战研发经验的讲师。比如有多年开发经验的《大话设计模式》作者程杰,写出来的书既能结合实际又通俗有趣,选择那种没有实战经验的讲师,纯属浪费时间和钱,花钱买个心里安慰。

二、打好基础很重要,多动手练习才是王道

对于刚人行的人来说,一定要打好相应的基础知识,不要急于求成的去学习XXX框架,不要通过博客来获取知识,基础知识不好、知识不成体系,出了问题你都不知道是哪引起的。我带的校招生,用webpack打包出来的代码有1.js、2.js等等,他很奇怪是怎么产生的,这不是他想要的结果,但又无从下手修改。我看了他的代码使用了webpack的动态加载,很奇怪他连配webpack都有难度,怎么还会动态加载这样的技巧,问他是哪里学的,他说是看博客上这么写的,被我狠狠批了一顿,刚入行就复制粘贴,害自己。博客上的资料缺少连贯性,很多博主的文章没有交待前因后果,只是自己清楚,是根据自己的理解形成的,我们在用一个技术前应先把官方文档过一遍,不要依赖二手资料。

学了东西以后,最重要的就是上机练习,通过实战来巩固知识。别老找借口说没有实战机会,精品照着做一个不就成了,上机实训是必不可少的环节,通过实训可以看自己哪些东西没熟练掌握,通过实操中再去看书可以加深印象

三、求职简历不要太夸张,生动形象的例子胜过套话

简历上写精通JS、精通CSS,精通XXX,一看工作经历只有短短几年,这种简历只会起反作用,让人觉得你很浮夸,像张鑫旭这样的前端大佬,也只是在CSS领域有所成就(在博客中也提到了他JS水平一般),人的精力是有限的,用人方的技术主管又不傻,不是不知道人的精力是有限的,一个人不可能精通那么多东西,对于刚入行没几年的人来说,不如写写自己看过什么书、掌握了哪些知识,做过什么实训项目,用到了什么技术什么知识,遇到了什么困难,是如何思考和解决的。

我很勤奋,很好学,有责任心,有团队精神这种套话大家都会写,不如举个例子更生动具体。

四、活到老学到老,平时多总结,面试一定要准备,然后随缘

在我的求职生涯中,遇到过不少面试时考造火箭的理论,进去后干的拧螺丝钉的活。开始时不理解,现在我懂了,也许面试官想看侯选人的底子,应对未知问题时的应变能力和抗压力,突出公司要求高的形象,又或者就是面试官纯粹的装逼,凸显自己的优越感,以难倒和打击人人为乐。面试时自己的水平很重要,面试官挑人的能力也很重要,面试失败可能不是你能力不行,而是你跟面试官气场不合,面试这东西,看缘分的,面不上不要自卑和自我怀疑,没啥大不了的,很普遍。

有空时多去看看理论,去leetcode上刷刷算法,面试前一定要找一些面试题来做,不是投机取巧,而是有助于回顾自己的知识体系,虽然入职后很多东西可能用不上,但是面试时一般都会问。

五、大公司还是小公司

我在小公司工作了六年,几十号人吧,因为请不起那么多人,做开发时都是撸全栈,还得兼带做运维和dba岗的活;熬到研发经理时要管人,管项目,管需求,画原型……我以前看职场指导时,毒鸡汤文章告诉我年轻人不要计较,干得多,会得多是好事,可以提升职场竞争力,我当时就真信了,后来我想明白了,小公司可以为起点不高的人提供进入职场的机会,可以随心所欲的试用各种技术,所有的大公司也是从小公司成长起来的,但是如果待了三年左右公司业务还是没有任何成长和变化,建议闪人,因为啥都干,啥都不精,你的知识只有广度没深度,这就好比你去应聘数学老师,首先数学知识要扎实,并不会因为懂一些数学还会画画就会优先录取你。初入职场时我们需要积累的是知识的深度,在一个岗位上专注干几年远比几年干n个岗位更能积累经验更具备竞争力。

毕业时能去大公司就去大公司,大公司岗位分工明确,做的事情专一,可以积累知识的深度,可以学习规范化的流程(千万别学里面的推诿扯皮和甩锅),可以开拓你的眼界,技术氛围浓厚,各种内部分享和学习资料库,代码评审等等,当你遇到各种问题,能找到相应的人答疑解惑,当你的同事跳槽去了另外的公司时,你可以获取内推机会,免去hr乱筛简历的烦恼。有公司的工作经历做为背书,求职会更顺利。

于我而言,到大公司后,我向曾经的公司证明了我的技术和价值,我并不是随意要求涨薪的。原公司主动付费邀请我周末去给他们做技术培训,老总居然觉得性价比很高,又还把我介绍给了他朋友的公司,假如我没有去大平台工作,谁会请我去讲课:)

六、外包公司能不能去

在软件外包公司工作是什么体验?

七、会多少种框架并不重要,重要的是你从框架中学到了什么

想当初jq是多么的火,可现在Bootstrap5却宣布移除jq,github项目也不再依赖Jq,反观vue和react火得一踏糊涂...千万不要觉得自己会了XXX框架,就可以一招鲜吃遍天、高枕无忧了,每个框架都是某个时期为了解决相应的问题而做出的解决方案,随着新技术的发展,必定会有淘汰的一天,脱离了框架啥也干不了,肯定会被职场淘汰。我们在学习和使用框架时,不要只满足于会用,用熟后去看看实现原理,去学习框架是怎么解决问题的,去总结框架的适用场景、一个框架稍微变通和改造 ,可能又成了新的技术框架,又能解决新的问题,这才是经验,是技术人员的竞争力所在,一定要抽空阅读开源代码,保证你的代码水平会有很大的提高。

不信的话去阿里面p7级试试就知道我说的对不对了。

八、关于软件设计模式问题

刚入行时我们不理解为何要基于接口编程,要使用各种各样的设计模式,看OOP和设计模式的书很难看懂,会觉得把简单问题复杂化,觉得代码很绕,这些都是很正常的反映,不是你笨。等你项目经验丰富了,遇到的问题多了,再回过头去看看大神总结的设计思想和理念,才知道精妙所在,千万不要为了模式而模式,生搬硬套,这只会适得其反,弄出来的东西四不像

九、程序员是不是吃青春饭的选择权在于你

这个问题很多人都有困惑,我也写过一个高票回答,如果觉得我是打鸡血,是奋斗逼的,请便。你可以去咨询 @程墨Morgan ,听听他的意见,别人一场知乎live,保守估计收入就过万了,年龄真不是问题,而是你随着年龄的增长,你的能力是否有增长,是否有意识的去积累了人脉,是否主动去规划了自己的人生,并为相应的技能做了准备。

程序员年龄增大后的职业出路是什么?

十、我不建议你靠.NET Web为生

上图是2019年全球IT岗技术人员需求量最大的9个岗,可以参考。


学web服务端开发的话,建议java,不建议.net。 .net core现在也跨平台了,c#也足够优雅,中文文档也多,IDE宇宙无敌,但是.NET开源太晚,生态链不够丰富,招中高级开发不好招,所以就干脆用java,这会让.net开发人员觉得发展空间有限,转其他语言了,造成恶性循环。我所在的一个.net群,里面各种招聘信息,群友抱怨15K以上的坑位少得可怜(成都地区),我去年求职时也面临同样的问题,想找个20K左右的.NET,对不起,没有......如果我技术不够牛,我可以学,但是根本就没工作机会,还好以前撸全栈,前端底子好,就转专职的前端了,我只用专心提升自己的技术,年入50万的工作机会有一大把可选。

博客园上有一个搞了10多年.NET的工程师在求职时也遇到同样的问题,也有很多感悟,有兴趣的可以看看。

现身说法:37岁老码农找工作 - 自由飞 - 博客园


十一、我不是科班的,不行

前端界的大神司徒正美不是科班出身,VUE作者不是科班出身,PHP大牛张宴也不是科班出身,阿里国际部的一位JAVA大佬只有高中学历,不也是干得好好的,不是科班不要紧,去学呀,世上无难事,只怕有心人,少给自己找点借口,种一颗树最好的时间是10年前,其次是现在。

十二、学好英语

英语不好的同学,一定要补下英语,工作这么多年来,越发觉得英语很重要。英语好,轻松看文档,先进的技术都是从国外传进来的,越是先掌握新技术越有竞争力,到stackoverflow上提问时才能顺畅交流。再不济还能翻译下国外的文章或书籍,不靠写代码吃饭。英语不好,想去外企的几率都小,有人问为啥要去外企呢?我个人觉得外企加班少些,裁员走正规流程,不得通过考高数啊,搞996这些下三滥的招的逼着你自己走。

十三、别让情商成为硬伤

别让你的情商成为硬伤,技术做到一定年限可能会转管理、转项目、又或者是自己创业,无论干什么都离不开情商,情商低,容易处处碰壁,还不知道自己哪里错了,最后归因于别人不懂自己。

比如我们有的同学有不好的习惯,别人讲个东西,如果是他知道的,马上就打断别人去抢话题或者来一句这个我懂,这是非常不礼貌,招人烦的行为,而自己却浑然不觉,长此以往,别人都不愿意跟你交流,觉得你不尊重人,自大狂,倾听是一种情商也是谈吐气质。

十四、跟对领导很重要

好的领导知道带团队就是带人心,会把合适的人放合适的岗位,知道宽严相济,赏罚分明。不好的领导是什么样呢?喜欢装逼和自我吹嘘,不关心成员的职业发展,遇到问题不承认领导无方,先甩锅给下属,喜欢用权力解决所有的问题来代替懒政。举个例子,某个领导遇到下面的人抱怨工作分配不合理,他不仅没有进行及时沟通和疏导,还数落下级觉得分配的工作不合理为啥不反馈,埋怨下级太消极,抱怨有什么作用,为了增加自己的威信,还当着其他人吹嘘自己管理水平还是有一套的,可以随时拉来一个团队继续把活干起走……这就是垃圾领导。一个不抱怨的人开始抱怨,这不是一种反馈是什么?不会振作士气,不懂沟通,还自我吹嘘,动不动就要开除这个开除那个,谁愿意跟这样的领导?不仅不觉得他牛,反而觉得跟着他没前途,何来团队凝聚力?

小码哥已经在IT业打拼7年了,马上奔三,小码哥这个称呼也是工作中得来的,,从完全自学成为技术团队leader到PM再到自己创业也确实总结了不少的经验,自己也经常跟学弟学妹聊天,分享职场经验,当老家有人报考计算机或者从事相关工作时也会咨询我的意见,我很明白IT人的艰辛。哈哈,那也注定我的这条回答有点鸡汤,逃~。

1、不要高估自己的能力,也不要低估自己的潜力。

有时候不要高估自己的能力,当初我做技术的时候,什么都想学,觉得什么都简单,php,java,go前端混着学,觉得自己学的快,别人不行我行,可是后来发现典型的囫囵吞枣,没有那个精力也没有那个时间。 反而浪费了大量的时间,应该每个阶段用每个阶段的工具,做每个阶段应该做的事情。

再者当老板安排任务的时候也不要高估自己的能力,什么都接什么都承诺,有时候就算你24小时每分每秒在做也完不成。反而会留下什么都做不好的印象。

不管做什么事儿都要量力而行。

但是也不要低估自己的潜力。当初我从php转到java,其实很吃力,但是做了很多复盘,每天比别人努力一点,周末少玩一点,最后顺利的超越别人。也影响了项目的核心决策。

2、成为某一领域的专家

多争取资源,积累在某一领域的能力,当你在某一领域具有影响力的时候,你也就成功了。我有个朋友,之前做电商运营,对各种玩法研究很透,现在做讲师学员遍地,口碑爆棚。

如果你是技术,那么一定要对自己的技术栈深入下去,不管多么小的市场永远缺的是头部玩家,什么都会的其实什么都做的一般,那么公司只能让你当做码农,奋斗在开发一线。

3、积累人脉,与人和善,切记不要做老好人

不管工作中还是生活中,一定要积累人脉,与人和善,这些人脉将是你后来发展的重要资源,很多人的成功就是因为有不一样的圈子和人脉。

在工作中不要做老好人,否则你永远都不是被优先考虑的对象,大家永远觉得你一般般。

4、不要迷失在平台里

很多人在大厂,在大的平台,觉得自己很牛逼,其实牛逼的不是你,而是你所在的平台,都是平台成就人,很少是人来成就平台。

在哪个平台就要积累这个平台能给你带来的资源和经验,要透过平台看看外面的世界,不要离开了平台,就变得泯然众人矣。要对的起平台给你带来的光环。

5、既要低头拉车,也要抬头看路

很多IT人焦虑,作为IT人一定要突破自己专业的屏障,要抬头看路,做好未来规划。不要自己默默无闻勤勤恳恳的付出,然后被公司一脚踢开,出去才发现世界已经变了。

6、心要大,也要胸腔装的下

做人要有野心,IT业也一样,要争取机会发展自己,但是野心不要过大,不然会适得其反,把自己逼入无人敢接触的境地。

7、大部分公司是青春和健康驱动的公司

在中国绝大部分公司都是青春和健康驱动的公司,消磨时间和健康创造价值,996遍地都是,你要钱,人家要命。

8、技术不是一切,生活才是

如果你是技术,千万别盲目的追求技术,有时候不差那点儿时间,技术人就是一直在不断的学习,工作日没时间,周末可能还要学习,没有时间。有时候不差那点儿时间,多享受生活,陪陪家人。毕竟学习技术的初衷就是养家养活自己,过上更好的生活。

9、说员工不努力的公司都有问题

之前我朋友向我抱怨,公司说员工不努力,要求大家跟公司一起成长,要改下班时间,每天固定9点,其实之前不固定每天安排的工作都做不完,要到10点多甚至凌晨下班,现在固定后任务更重了,已经要把自己拖垮了。

这种公司千万不能留到过年,任务安排不当,效率低下,管理混乱,乌烟瘴气。这些却让员工背锅。最好远离这种公司。

公司要大家跟公司一起成长,其实对于员工来说什么都没涨,公资待遇没涨,倒是发际线和黑眼圈还有亚健康增长了。

10、不要总是守着自己的一亩三分地

要学会全面发展,不要总守着自己的一亩三分地,做技术的也可以学学营销,时间充足学下下产品,理财。代码写的好并不妨碍你文章写的好,并不妨碍你歌唱的好,也并不妨碍你具有牛批的商业思维。

认知,思维,视野只有突破自己圈子的局限性,才能看得更高,走的更远。

11、抓住机遇,但不是所有的猪都能被风吹起

互联网每年都有风口,每年都有新的方向,但是很快就会出现头部玩家。比如移动互联网,比如团购、外卖、直播、共享、打车等等。

无论是找工作还是创业要跟随趋势,抓住机遇,虽然在互联网上说,猪在风口都能飞起,但是毕竟是个别的猪,大部分猪还是被宰的。

作为一个IT人,我一直认为“既要鸡汤鼓励,也要脚踏实地!”,一定要突破技术造成的屏障,看看外面的世界,不要太精彩。

我想说:

1、编程重在实践,而不是光靠看书与表面。

2、作为大学生或者学习编程的阶段,要重在学习基础和原理,不要急功近利!

3、算法很重要,即使平时编程很少用到编程,但是算法是进入大厂的敲门砖,是必考题。

4、编程的学习,重在修炼内功。技术的更新迭代很快,但是它们更新迭代的再快,也是外表的框架,属于花架子。

回顾计算机发展的这几十年,框架和语言层出不穷,发展迅速,但是计算机最基本的原理却没怎么变化。

5、程序员这个行业不是吃青春饭的,如果能力不行,其实不管在哪个行业也不好混!

6、程序员这个行业最累的可能并不是加班,并不是熬夜,可能是要持续保持学习的心态。

7、作为程序员,不应该仅仅只关注技术,还应该跳出技术的空间,来了世界发展的视角来看一下世界,才能把握技术发展的趋势。

8、程序员前期要学会注重技术的积累,后期发展空间才大。既要专且深,也要广。可能有助于你以后职业晋升的发展。

9、最重要的一条:多运动。

第一:

无论你是做技术,做管理,做甲方,做乙方,做产品经理,做售前,做售后。

你都要永远记住一点:拳不离手,曲不离口。

你的码技才是你赖以为生的根本,才是你的核心竞争力。

不要忘了他们,不要放下他们。


第二:

不要加班。

钱是你用时间换到的价值最低的东西,因为他会被通胀。

美国通胀了100多年了,不要指望经济危机会给中国这种大体量的国家带来长时间的通缩。

只要整个国家没有倒下,那么通胀就是主旋律。

八十年代物价闯关。

九十年代物价闯关。

千禧年代物价闯关。

现在还是物价闯关。

大下岗、开发大西北都来过几波了,通胀的趋势改过吗?

瞧瞧人美国,谁让你瞅隔壁太监日本了。

所以,只要有选择,就不要用时间换钱。

如果没选择,那特么说明你过去一直做错了,重做,直到有选择为止。

不要为了老版的玛莎拉蒂努力,那简直脑子有毛病。


第三:

任何时候,你都要记得:

离核心业务越近越好。

这就和炒房子一样,location,location,还是location。

你在公司里也是,position,position,还是position。

尽一切可能抓住一切资源占据一切和核心业务有关的一切工作。

牢牢抓在手里,绝对不要放。

那是你的本钱。

除此以外的工作,能不做就不做,能拖就拖,能放就放,关你屁事。


第四:

不要把自己局限在技术上。

中国作为继承了苏联衣钵的国家,

单纯的技术人员在热钱退去以后,

注定不会有多高的社会地位以及经济价值,

换言之你看他们现在蹦得欢,

将来都得拉清单。

这个时候,如果你不是一个局限在技术上的技术人员,那么你的余地就会比他们大无数倍。

在风云变幻的年代,切记每时每刻都要去给自己谋求一条退路。


暂时就这些吧。

工作十年的老程序员。或许我这个老家伙能给你点经验。我个人算是loser。我不一定能告诉你成功的秘诀,但是我会告诉你失败的教训。本回答不适合佛系选手。友情提示:剧情中的某些高难度动作请不要学习和模精品,否则毁你一生。


无用之用,方为大用。—庄子

我更多教你关于人生和职业,我不会具体到告诉你怎么学会各种范式编程、也不会告诉你如何学习设计模式、还有如何搞定敏捷开发。人生更多是哲学问题,而不是纯技术性问题,技术问题我觉得好解决,但是例如什么是最好的架构?这问题很哲学,不信你用搜索工具去查,你绝对找不到标准答案,这种问题没有一个标准的答案告诉你所有要遵守的规则。但是你不可否认,这个问题是所有技术都想知道的答案,也是最好的一个问题。可假如我问你快速排序算法原理、有哪些常见的安全问题等等,即使你不知道你也能快速的通过搜索工具学会。所以抱着学习偏技术性的经验的人,可以看看其他答案。但是记住没有银弹,不要相信任何技术是绝对完美的,否则技术异构性就没必要了,所有技术都有他的理念和设计思想,考虑具体业务场景有所偏向。

首先我要说最重要的教训就是:职业规划你要时刻记在心里。一定时刻记得有个规划。

我的职场经历失败最重要原因是没有规划,败在战略上的懒惰,战术上看似成功,但是也无法否认loser的事实。

“自董卓已来,豪杰并起,跨州连郡者不可胜数。曹操比于袁绍,则名微而众寡,然操遂能克绍,以弱为强者,非惟天时,抑亦人谋也。今操已拥百万之众,挟天子而令诸侯,此诚不可与争锋。孙权据有江东,已历三世,国险而民附,贤能为之用,此可以为援而不可图也。荆州北据汉、沔,利尽南海,东连吴会,西通巴、蜀,此用武之国,而其主不能守,此殆天所以资将军,将军岂有意乎?益州险塞,沃野千里,天府之土,高祖因之以成帝业。刘璋暗弱,张鲁在北,民殷国富而不知存恤,智能之士思得明君。将军既帝室之胄,信义著于四海,总揽英雄,思贤如渴,若跨有荆、益,保其岩阻,西和诸戎,南抚夷越,外结好孙权,内修政理;天下有变,则命一上将将荆州之军以向宛、洛,将军身率益州之众出于秦川,百姓孰敢不箪食壶浆以迎将军者乎?诚如是,则霸业可成,汉室可兴矣。”
-----------------------------------------------------------------------摘自《隆中对》

刘玄德一生败仗无数,看过三国演义应该知道,刘备遇见老诸前他只有野心可并没有谋略。亏得《隆中对》,否则刘备下场比我强不了多少。论规划的重要性,当然如何规划这又是个学问(没有成功经验,所以无法传授,问问身边那些CXO们,或许能知道答案)。当然有规划不一定代表成功,你说你规划的最终目标是去日本当一个动作影星,跟苍老师演对手戏,这个我觉得就有点不现实了。记住你得规划要结合你自己的实际情况,我现在认为能做到自己能力最大化的发挥并且拿到相应的回报 这就是成功。

1、菜鸟时代

天下难事必作于易,天下大事必作于细。是以圣人终不自为大,故能成其大。——《道德经.第六十三章》

2009年我入了这行,在一家中型公司做开发,做到2011年8月份。我在这家公司犯的错误是:沉迷网游,意识不到竞争压力,玩心太重。那时候我每天上班想着我那副本,想着巫妖王。丝毫不关心领导给的任务。两年时间换来停滞不前的技术。促使我离开的理由:看着同事涨薪,另外领导也不待见我。也赶时代好,那时候web前端市场需求量大增,遂借势去了sina,在我当时看来我那技术都不配进去新浪。拿到新浪offer,各种跟人家装13。当时的同事都在想:“这xxx也能进新浪?”。这里我说明下,我在这个初恋公司,也就是我的第一家公司,做的不是web前端,你可以理解是一种GUI开发。

2011年8月份去了新浪,去新浪之前的几个月我其实才开始努力恶补技术,但是直到去新浪之时,我还是个菜比。同我一起进部门的还有两人(阿乖、阿男),阿乖刚进公司老大就给他个练手活,让他实现个评论功能,结果规定时间(两周),阿乖没做出来,直接试用期不合格干掉,他走那天我和阿男去送他,看着阿乖那迷茫的脸,忐忑不安的我内心想自己那菜比技术不也得被干掉?然而bug出现了,入职第三周,网易那边居然通知我面试过了(这里我说下,新浪入职前我去了趟网易面试)。然后我向网易那边老大表忠,说自己更向往网易,自己现在还干wow,夸网易更有态度,说自己等网易消息没等到,很伤心,恰好此时新浪这婊子来勾引我,一时鬼迷心窍,被她给上了。之后顺理成章的进了网易的怀抱。新浪这份工作最大失败就是自己不知道想要什么,乱找工作。

2011年9月份,我就成了丁磊的人了。注意此时我也还是菜比,因为菜,所以老大给的任务时常delay或上线前bug太多。领导经常不分场合对我一顿骂,当时觉得这leader不近人情,不仅这个leader,第一个公司的领导也经常骂我没产出。当然我也一直在学习,这时候我不认为自己不努力,反而觉得是领导和周围同事有病。于是乎2012年6月我决定出去,不在这2b领导手下干了。(其实那阶段的自己心态有问题,不成熟,认为自己怀才不遇,其实自己不懂事)。当时跟我一同入职的实习生在领导眼里比我强很多。事实上后来我反思了,确实比我强很多。我这么说,也是承认自己当时能力不过一个普通实习生的水平。不过网易确实是一个很好的公司。网易这段经历让我觉得,遇事不反思,一味推卸责任另外记住了,你能面试进一个公司不算厉害,厉害的是你能hold住那份工作,并且做的很好很认真很有责任心,做到你上级觉得没看走眼。做到你上级觉得他给你得薪资对不起你的付出。有时候这不仅仅是技术问题,这是一个人态度问题。网易这份工作,我更多是觉得我无法hold住。此处不留爷,自有留爷处,处处不留爷,爷爷我就去百度。于是乎2012年6月份,我去了百度。——此时我第一家公司同事炸猫了,听说Xxx这二逼居然都能去百度,于是乎我入职百度导致第一家公司员工大量离职,公司业务一度停滞。(后面剧情我自己脑补的)。

—————————

说一个在网易的插曲,当年进入网易后一个月,腾讯开放平台在京开了新部门,我去面试,很成功。拿到了口头offer,但是我坚持要比口头offer多1k的薪资。最后腾讯的hr跟我saygoodbye了,事后我同事告诉我,即使月薪一样,tecent的年总pkg比网易高,而是人家是一线噢。可怜当时的我傻傻的不懂什么叫一线bat,什么是二线新浪网易。哎!可惜了,不过后来我最终还是和tencent有一次邂逅(这个咱后面聊)。那时候我还记得淘宝让我去面试,但是那时候我不知道淘宝是个在前端领域很有造诣的公司,于是乎拒绝了淘宝面试邀请(那时候自己觉得四大门户我都拿下了,你小小淘宝还不是轻松?)。谈到四大门户不得不说搜狐,我和搜狐的故事后面我也会提到。当然后来我也和淘宝这“娘们”发生了关系,我后面也会写到。

2012.06 进厂。厂长!!!小的来祸害你了。说错了,是来给您当马前卒的马前卒的马前卒的马前卒..........。就职于厂子边缘部门,运营类工作居多,整天做着一次性的活动。没有任何工程而言,没法,运营驱动的流量变现部门。跟百度核心部门技术上差n条街。此时我住大兴黄村,工作在软件园。每天地铁一个半小时。这一个半小时,我都在学习技术。(安全类的、算法类的、编程珠玑、ruby元编程等等)。你说不努力吗?我不这么觉得。你说我第一份工作懒,没觉悟,但网易以及百度时期我绝对很用心。我对工作上的技术不感兴趣。此时我最大的问题就是学习技巧不对,出发点不对,脱离工作实际,我个人是个前端。没有在正确时间学习正确技术,没有聚焦在前端这块,切记时刻考虑当下自己应该学什么、怎么学。千万别乱学。最好找个明白人带,他能帮你少走很多弯路,别以为弯路说出来容易,你和别人有的最大资本就是时间,你的职业生涯搞不好就二十年(23-43)这行业的人不允许浪费时间。高效充分利用二十年者赢。说我个人,我学的这些对我工作有些帮助,但是帮助不大,而且过不了多久我就忘了。2013年02月,部门来了新高层,来了之后各种作。我直属leader跟我关系很好,直到现在我仍然认为他是唯一一个能跟我和谐相处的老大,但是此时我的工作产出只能说一般,也就是说我能力还是不够强大,离职的原因吧,说实话也是觉得部门业务在前端没什么挑战,觉得自己在工作中无法学到牛逼的技术,另外一个原因就是我脾气不好,是一个情商为零的人。当时自己觉得外面那么大,怎么不找个比这个工作更好的机会,最重要是自己产生了错觉,一个自以为自己技术已经足够好了的错觉,这种错误不仅仅是我,任何工作三年五年的人都会产生,觉得前端不就那么点东西,觉得自己会用这个流行技术,那个流行的工具,知道了前端各种网红,前端娱乐新闻。于是乎我就开始作了,一直作到现在,作到2019年3月份。因为之前各种跳很成功,所以觉得新浪、网易、百度offer很好拿嘛。所以这次我直接先提离职吧,提完之后再找吧,反正爷拿过那么多名企offer,此时膨胀,但是实力很渣。结果这一次跳槽我栽了,欲知后事如何,且听下次分析。这里我问在座各位,尤其是自我感觉良好的,有想过你能把你所知道的,在微博、头条、百度、简书、知乎等等看到一切技术点串成一个体系吗?如果不能,那你可能也产生了错觉。

2、回忆篇

回忆——————————————时间线切回到2009年七月份。

有人质疑我编的,我其实没说2009年7月份毕业于百名之外的某211大学。我在某海边城市每天wow跟着工会活动,海山、黑暗神殿、太阳井各种金团,抽烟喝酒但是不烫头。没钱了去工地当民工。一天八十,早上六点坐上工头的车,我清晰记得六点天刚亮,太阳光额外刺眼,工头车放着“夜半三更有盼天明,寒冬腊月又盼春风.....”,那歌声真好听,那感觉跟《肖申克的救赎》安迪给狱友放的莫扎特音乐。2009年经济危机。你永远不知道人生低谷的时候对美好的期盼。我出生在东北某农村,毕业于一所不知名211大学,原生家庭是一个非正常家庭,极其不正常,我原声家庭从来都让我异常压抑。导致我后来有过一次精神疾病,这次精神疾病对我影响极大,后续我会提到。我个人性格也是极其复杂矛盾的。2009年11月初和发小北漂。

北漂,刚开始也不那么顺利,我刚来北京住在一个月300的贫民窟,比现在沙河条件还要差。兜里带着不到一千块。那段时间也很困难,我走上这行业不是偶然和意外。我大学时期因为总玩wow,挂很多课,唯有计算机数据结构和语言课程异常牛逼,不用期末复习,不用看老师划题,也能拿到全系前几名。所以当程序员也是自己一直想做的。那时候很多培训班学员出来比我实战能力强,刚到北京面试一个多月,各种被虐,其中面上了德邦物流公司,不过要发配到青岛,内心十分不甘心,不甘心没有做自己自认为很擅长的工作,不甘心没有在北京落脚。当然我最后也是跟着内心出发,选择死磕下去,最后迫于生计去了一个保安公司,在里面当网管和seo推广员,说实话我根本啥都不懂,真的是为了能吃到饭。网管我也干不好,seo其实我也不懂怎么做。没到一个月被辞,当时说好一个月1600,最后干了三周老板只给三百。时间到2009年12月,然后我又继续找程序员工作。每天快的话赶四场, 慢的花2010年一月份的时候找到了我的第一家公司,当上了码农。

我自己最有战斗力就是这段时间,那时候连基本吃住都无法解决,那种求生的欲望,激发一切战斗力。记住如果你是一个在校大学生,千万不要等毕业时在后知后觉。尤其在2019年这十年又一次的经济危机。上一个轮回就是2009年我毕业那时。我建议毕业前一年你可以选择培训班(选择一个好的)。自学不是不建议,但是0到1,是最难的,学习方法不对,有可能前功尽弃。自学的人先想明白,学习方法论。

回忆end———————

2013年7月份前,我个人觉得自己还有目标有规划的,没入行的时候想当程序员,这是个目标是个规划,入行了之后想去名企工作也算是个目标,可接下来我却没有明确目标,唯一驱使我换工作的目标就是钱了。

3、下坡路时代

塞其兑,闭其门,终身不勤。启其兑,济其事,终身不救。———《道德经》 第五十二章

2013年的7月份,我开始想从百度出来,记得哦,是我先提离职,再找工作得哦。但是这次没有那么顺利了,2013年,互联网金融很火爆。我去了一家互联网金融公司面试,还有各种其他公司,当然其中还有一个外包公司。你说这时不想去腾讯和阿里吗?想,非常想,但是我去面过,很不幸死在第一轮面试。那退而求其次去滴滴、京东呢?面试也都挂了。此时 时间一点点逼近离职日期,我心里慌的一逼,我居然手里只拿到一个外包公司的offer,一个互联网金融公司的offer。外包公司的offer从薪资看来还不错,可惜五险一金按最低交。金融公司倒是还不错,说是让我进去后带人。最后离职时间到,离职后我很无奈的选择去了外包公司(为什么选择这个外包公司,因为工资高那么一点点,没错我这是就是这么看重钱)。可当你习惯进出百度大厦,看到办公楼那么气派,你也能体会到去小公司看到那作坊式的办公环境的心理落差。你也能体会到 与技术和能力差大厂一等的同事共事时的无奈(但是我很喜欢和这些同事私下里接触,感觉他们更真实。但是工作中可能就不那么愉快了)。为什么做出这种选择,因为我穷过,穷害怕了,穷的智商情商都没了,就为了多出的几千块。不过我在外包公司也没待多久,当时外包公司把我外派到中国平安去做开发,我待了不到一周就离职了。为何离职,因为我实在接受不了自己从bat选手居然沦落到一个外派开发的事实。然后选择了另外一个offer,那个互联网金融公司(其实这公司在金融行业挺厉害的,当然干不过蚂蚁和腾讯金融)。离开外包公司那天我都没有去办离职,我直接给我的外包公司leader 发短信说我要离职了。那leader直接暴了,电话过来,给我一顿骂,挺难听的,我也直接告诉他:”老子他妈的不要那一周工资,你给爹滚!“。就几千块钱,真的就多几千块,在职业初期,你要是仅仅看到钱,那说明你很短视。不管你之前多穷,多缺钱,记得年轻时候别为了多那么点破钱打乱自己的规划,别把钱当成择业权重最高的维度。你会问我难道我工作不就是为了改变生活条件吗?沒錯,但是你要权衡长期的收益。别以为你短期超过别人,其实这行业是个马拉松,你自己作,有可能40你就得考虑转行。为何我现在面不进去阿里和腾讯,一方面机会没把握住,另一方面最大的问题是你工作年限越长别人对你期待也越大,你问阿里p7+、百度T6+那些内升上去的,他们也不敢说社招直接T6、p7进他们的公司。这也就是我本是菜鸟,但是工作四年后人家会把你当高级工程师来面试。而我段位还是那么低。如果你想去大厂并且希望在大厂稳定,记得三十岁前,三十岁后难度直线上升,另外发展空间也没那么大。大厂leader岗位和专家岗位大多是内升。

2013年的8月份入职互联网金融公司,说个笑话,面试金融公司的时候,面试官问我:a标签有哪些伪类? 我居然回答 不知道。好在那个面试官没有话语权,否则她会让我滚蛋,真正招我进来的leader是个设计总监,他直接看我履历上面 赫然写着 网易、百度,直接命中他的需求。哈哈,牛逼吧,技术渣的一逼,可我有网易 百度的背景,当然我没把新浪写进去,太短暂了。为什么会出连简单的伪类都不清楚的笑话,这归功于我长期看武林上层秘籍,对具体的招式全然不在乎,以至于出现这么大笑话。说实话我现在也对那些实用层面的技术不感兴趣,更多喜欢研究抽象概念,不过这不是一件值得炫耀的事情,每个技术人员都会有技术死角,当然伪类这种不能算,这是最基本的常识,只能说我很二。做技术的别像我这样,急躁,总认为学高层技术可以快速超过别人,且不论你是否能应用的上,就连学你可能都是一知半解,因为高层技能都是从基本技能从提炼抽象出来的。这家公司我进去后先是跟着招我的ued总监干,后来公司组织架构调整,我又跟了另外一个逗比老大,这老大许诺我跟着他能吃香的喝辣的,我觉得挺好,直接被技术leader管理,总比跟着ued老大更名正言顺,不过我跟着他干的时候手下一个兵都没有,他让我去招兵买马,但是预算很低,我只能招一个初级的和两个实习生。于是乎,我去联系母校的辅导员,招来了一个学弟,两个学妹。然后逗比老大竟然出尔反尔了,他也想组织一个ued部门,然后把前端组塞给ued管理,说白了架空我。于是我开始反抗,在公司小闹了一下,结果是我离职了,逗比老大名誉也受损了(几年后偶遇他,看样他也从那公司离职了)。事后反省下,其实在职场里面,你跟对人很重要,你跟着明白人和跟着糊涂蛋完全不一样。所以择业时候记得不光看钱和公司,还要看下这老大值不值得跟?怎么衡量老大是否值得跟,这就是另外一个问题了,在此不展开。当然你可以跟着逗比继续干下去,但是他可能不认可你的产出。择业是个双向选择,当你足够强大的时候你也有足够的选择权利,如果你不够强大,你只能被单向选择。2014年的7月份我选择从这家公司离开,原因主要是糊涂蛋让我太伤心,另外就是心里觉得还是大厂靠谱点,内心还是希望能与能力更强者一起共事。然后我就去了一个大厂,真正的大厂,中国市值最高的互联网公司。

题外话——面经

大言不惭的讲,面试确实我比较擅长的。你问我我面试过多少家公司?抱歉,我觉得这个问题不太好,我觉得你应该问我:北京但凡有点名气的公司还有哪家我没去面试过?其实前端在没有发展带今天这么复杂前,其实面试问题是可预测的,花点时间猛刷面试题其实就都能覆盖到。最近几年我不太喜欢刷面试题,可能是懒了,另外国内前端面试官我懒的为了讨好他们去刷面试题了,因为我发现他们大多数不合格,少见有我看得上的面试官。好的面试官第一条标准就是同理心,第二个就是反思自己问题是否有漏洞,第三自己的问题描述是否清晰,最后再就是问题是否具有代表性问题。那种面试当审问的面试官,我更多是忍忍,别得罪,期望面试早结束,当他俯视我之时,我更多是同情这个公司。面试不过找些志同道合之人的过程。以前是这行新人的时候,面试更多是接招,被人审视。现在面试,除了部分能力很强的技术leader(我指的不是前端这层面leader,这些人有时候无法揣摩人家的深度,高手有时候过招,几句话你就知道对方是否有料)其他绝大部分整场面试结束,绝大部分面试官不一定很了解我,但是我能从面试过程中,大致了解到面试官技术格局和人品,还有他的技术能力。自己面试过很多人,每次面试都生怕自己对候选人的评价过于主观。对于面试:我个人觉得刷题是有必要的,但是别依赖刷题、背题。平时多去刷题,收集面试题,不为别的,就为好的面试题能帮助你成长不少。我发现前端有个很有意思的现象,面试题都出自圈子里最近一年产生的好文章里。例如异步事件宏任务和微任务,这玩意存在很久了,只是最近被曝光频率增多,于是就成了面试必问的问题。千万别背题,好的面试官会展开问下去,你是否背题,在你回答之时就能分辨出来。我个人面试前刷题更多是为了帮助回忆,把忘记的细节点给捡起来。


4、迷茫时代

不自见,故明;不自是,故彰;不自伐,故有功;不自矜,故长。——《道德经 第二十二章》

2014年7月份进阿里的坑,以一个低p的身份就职业淘宝某事业部,入职时情形记不得了,我只记得国家广告产业园办公楼内,墙上各种图案,当然我也有了自己的花名,但是花名没有让我感到我与上级之间的平等。当时所在部门的团队氛围让人觉得压抑,我其实为了顶替即将离职的阿呆,与阿呆关系比较好的是阿瓜,当时阿瓜要transfer到杭州总部,能跟我说话的也就他两,我直属leader还有其他同事城府都很深,不好接触。阿呆阿瓜其实被边缘化了,团队主流成员不喜欢他两,阿呆被离职的,阿瓜被转岗的。团队当时995工作制,而我当时扛不住这种压力,我要说明下,团队的业务前景很不明朗。最重要的是,我去阿里前一个月我居然患上了抑郁症,在安定医院确诊并每天吃着百优解。至于怎么得的我忘记了,我只记得有天清晨四点醒了,我发现这世界有点不一样了,我感觉情绪很低落,然后怎么都睡不着,我当时觉得可能身体出点小问题,过两天就好了,结果过一周越来越糟糕,那种绝望的感觉时刻伴随着你。怎么形容那种感觉呢?你平时最喜欢的事情在得了那病之后你都一点没兴趣,而且不想动,最重要是那种无以言表的精神上的难受。不到一个月,我就从阿里离职了。这个经历也永远写进了阿里hr系统,导致我后来再也无法再进阿里大门。我曾试图再进阿里大门,但是发现阿里已经没有我想要的东西了。此外我对阿里hr也有难以消除的偏见。所以现在找工作也从不重点关注阿里的机会,当然阿里hr也不考虑我了,毕竟我已经是35岁的老程序员了。阿里这段经历最大教训是进团队前,什么都不去了解,做什么产品什么技术栈,工作职责内容都不问清楚,明知直属leader跟你气场不匹配还硬要进。所以择业记得问清楚团队情况,正面问侧面问都可以,问你关心的,看看是否跟你很搭?是否自己期望团队,当然你忍受能力超强,也不在乎除了给简历添加色彩之外其他收获,那个也无所谓了。我最讨厌别人跟我说团队有问题,你应该更努力去帮助团队改善出现的问题,而不是选择逃避。说这句话的人我真想抽他,每个人都应该知道知难而退,也更应该找一个更适合自己的团队,为什么我一非技术人员去浪费青春在一个没意义的团队,我得评估做这事风险还有收益吧,你站在XXX制高点上对别人指手画脚,你丫为啥不是你们公司ceo呢?你他么《琅琊榜》看多了吧。得嘞你内,小爷我不侍候您了,您觉得哪个奴才能干的了找谁去,小爷我要去下一家公司了。起轿,爷去下一站了。

我离开工作的部门或者公司没有一个让我现在觉得后悔的,因为基本上不是裁撤了就是黄了,唯有两家硬挺着。我接下来要说的这家就是现在硬挺着的两个之一。


天地不仁,以万物为刍狗;圣人不仁,以百姓为刍狗。 ——道德经

2014年8月份,接下来投了张朝阳帐下。去搜狐也是觉得搜狐工作压力小点,因为我有病,所以别人骂我有病,我都没意见,直到现在我只是症状轻了,但我还是跟正常人有点不同,扯回工作,骚狐是我觉得压力最小的公司,早9晚6(如果有骚狐其他部门加班狠的别跟我杠,我那部门确实这节奏)。我在sohu开始担任了一部分leader岗位,但在搜狐吧我当时眼界窄,整天使用老旧技术,殊不知前端发生巨大变化。具体变化不谈,有很多非前端同学。但说实话,当时就我这样的确实帮领导扛了很多事儿。后来吧部门技术高层变动,所以你懂的,整个部门味道变了。其实这仅仅是一部分原因,最重要的是我帮领导分忧解愁,领导居然没心思帮我加官进爵。反倒那些在我看来那些论背景能力差我一截子的后辈居然在领导帮助下有赶超我之势。一年多了,级别和薪资都原地踏步呢,于是乎我找领导谈,老大跟我说我职级和薪资比他们高太多,要平衡下。我当时就不明白怎么理解这句话。我替你扛事儿,你不为争取点战功,反倒想着制衡。ok,你制衡去吧,你让那帮后生来扛我那活吧。爷不侍候了。说个挺逗的事儿,当时前端有几个小伙子故意在老大面前给我“美言”几句。文人相轻,什么时候程序员也特么成文人了?这部门彻底让我失望,走吧,虽然搜狐办公环境和工作压力都很好,但是这时候抑郁症状好多了,于是又可以继续再战。其实从搜狐粗来时间点也不是特别好,另外我也说到我技术栈太旧了,面试对我来说已经不如刚毕业那时候了,总结下这段经历,作为技术人员,千万记得保持开放的心态,我遇见一个后来同事82年的,比我还保守,拒接新技术,不开放可能因为在一个技术栈积累太多,反而放不下,所以我这么多年比较喜欢研究抽象层面的技术,或者一些不变应万变的高层思想千万别过于执着某个工具,否则技术格局上不来,等年龄大了,该积累不积累,到时候竞争力也不行。我那82年同事据说找了半年工作没找到。我坐井底之蛙两年,这两年被时代给狠狠抛弃了。直到2015年年末离开搜狐,我已经工作了六年多了。搜狐这个部门现在属于勉强活着,当然搜狐整体也是这种情况。作为曾经搜狐一员我期望老张有天觉醒,搜狐崛起。

接下来回答疑问时间

1,针对大厂难进的问题。有人说大厂难进,我可以告诉你大厂我见过很多能力不如你的,大厂平均能力比小厂强,但是大厂那些能力很渣的我见过太多太多了,包括我自己,我连伪类都不知道都能进大厂,当然我可能赶时代好,是个被吹上天的猪。但是现在大厂也不难,我当面试官很多年了,其实标准真不高,因为大厂好多脏活累活招牛逼的怕他不愿干。招任劳任怨的,性价比合适的就行了。

2,我是不是个loser。我个人认为真的是loser,我现在薪资比我2014年离开搜狐时才高了20%。到2019年,五年了,你知道我这五年怎么过的吗?贪玩蓝月..,呸!我没渣渣辉那么有空,这五年我突破了两次技术瓶颈期,到现在一二线不收我,创业团队嫌弃我年老,工作变换频率大。你跟他们说能力,人家说我们看加班和潜力。我这么老了,很多公司不招三十五及以上,我这么老了了,还得跟小年轻抢饭吃,我这么老了,整天被90后面试官傲慢对待,我这么老了,还得跟着自己带出来的那帮小弟们们讨口饭吃,我要养家糊口的,上有老下有小的,我已经没得选了,我年轻时候喜欢北京,喜欢它灯红酒绿还有热闹,喜欢新鲜刺激,喜欢无拘无束。我现在更多期盼告老还乡,期盼赚够我儿子学费然后回老家找个轻松活干着,享受下生活。而不是天天早十晚九,年龄大的老狗工作中估计都会感觉孤独(因为你身边都是90年之后的,你除非装嫩去跟他们打在一起),周末偶尔去上班,每隔一年两年拖家带口搬家,孩子上学解决不了等等。我要是赢家我就会有选择权利,而现在我是被选择。很多决定都是无奈之选。你见过的winner有这么苦逼的吗?

迷茫时代二

见素抱朴,少私寡欲。——《道德经 第十九章》

2015年末,被一有钱的主招致麾下。团队规模不大,也就三四十号人。刚加入公司没多久,就出去tb,说出来你都不相信,那tb消费标准很高,住着好几千一晚上的套房,那吃的喝的更不用说了,简直是奢侈。当然薪资也比搜狐高了一截,但是很惭愧的讲,过了5年的薪资也不过跟这家金主给的差不多。[捂脸哭]。我说说我对那团队的印象,整个团队之间各种矛盾,团队氛围相当不和谐,刚进去就先跟产品干一架,之后经常跟UI死磕。你以为他们只跟我干,他们之间互相死磕。每次死磕最后都会上升到人身攻击。我都很奇怪老板哪招来的这些奇葩,后来我才特么知道,这帮人大部分都是关系户进来的。记得有一次上线的那晚,凌晨两点了,技术老大过来做上线前的测试,居然流程跑不通,产品忘记了一个关键的功能点,于是乎凌晨两点讨论那个功能需求,讨论一个小时,设计半小时,之后丢给我们开发。这还不算啥,UI给一图片,清晰度很差,技术老大直接过来跟我说:“哥们,你是不是眼瞎,这块看不太清,你怎么搞的?”。我跟技术老大解释,这图片是设计直接给的,不是我用代码实现的,这老大直接跟我说:“那你就不能给他弄清楚点啊?”,我实在太累了,笑了笑然后我直接跟设计说,弄一张清晰点的吧,我替换下。你说上线前增加需求的事儿?其实那需求大部分都是前端工作,我也没说啥。之后的工作这帮关系户照样这么干,最后坑的都是我们某几个开发,这老大又不分青红皂白给我一顿骂,反正就是他只要觉得测试过程中有问题,他不会定位问题就直接丢给我。终于有一天,2016年的春节前,我在群里给技术老大骂了,骂的内容就是他对技术理解不到位,做为一个领导素质低等等。目的不为别的,舍得一身剐,敢把皇帝拉下马。我就是不想干了,但是也要让你名誉受损。当然最后的结果也是我离职了。据后来其他同事说,这老大也离职了,因为金主对他工作不满意。老实讲,这公司薪资真的挺不错的,承诺多少肯定能给到多少,不想某些公司入职前跟你说我们14个月薪资,最后你就拿到13个月的。其实你说你要是赚钱,不为将来考虑,当然你可以混着,这种传统企业给的薪资还不错, 但是这种传统企业的环境可能你会不适应,另外就是从传统企业出来之后,你得下家公司可能会质疑你得职业规划。因为互联网圈子的人很少往传统企业走的,就好像绝大部分名医你给再多钱也不愿意去私人诊所。所以,如果你考虑去一家没有技术基因的公司去做技术,一定考虑清楚了。我的做法也不可取,没必要跟老大斗气,大不了自己走,没必要做损人不利己的事儿,可能当时自己太气盛了。

时间节点到2016年了,离现在2019年最近还有三年。本连载“小说”已经接近结束了。还有三期要更新的! 后面剧情反转比较大! 下一期预计4月12日,如果群众呼声高,我也提前点,赶紧结束。这更多算是复盘自己这个反模式,给你们做个警惕。也算是忏悔录。

哦,对了,我是如何扳倒技术老大的呢?我忘记细说过程了。回顾下这个过程,骂完之后那一天整个微信鸦雀无声,似乎都等着看老大如何应战我这个叛徒?因为群里那帮平时互相死磕的战士肯定都在想:我们再牛逼也是底下人互相攻击,没有看到谁找死挑战boss,跟boss死磕的。我当时的想法也是cnm别墨迹了,直接放马过来。第二天的撕逼台词我都演练好了,什么脏话都准备好了,甚至也做好了肉身格斗的准备,结果第二天,对方没任何反应。到了第三天,boss终于单独回复我:你就是给我打工一小弟,别把自己太当事,我分分钟让你卷包滚蛋。奇耻大辱啊,你准备跟他死磕,人家却认为你段位不够,这可咋办?咱不能这么被人轻视啊,都没激怒对方,这太失败了,突然,我灵光一现,受到了启发,嗯,不如换种思路跟他斗吧!想想对方怕啥,很显然吗,他怕金主嘛!然后我整理了很多关于项目的问题,例如流程问题,产品设计问题,最重要安全问题等等,我跟技术vp说,你要是不针对你之前言论道歉,我就直接群发邮件了哈,你看着办吧,这下可好了,丫怂了,问我:你想怎么样?,其实我就想让他跟我道个歉,他一开始挺强硬说办不到,后来我说截止xxxxx日期,不道歉立马群发邮件,说实话我觉得群发邮件老板不一定信我说的那些证据,毕竟他是外行,但是这事儿上头一定觉得他没有管理能力,连这种事儿都摆不平。没想到自己最后送死来了,跟我说:“项目问题确实挺多的,另外我对你态度多少我也有问题,你说那些项目问题,我也看到,以后我也会改进的”。哈哈,这下好了,自己承认项目控制不力了。当然我其实本着不做损人不利己的事儿的原则,我也没有最后真的群发那封邮件,我就跟他说发生这事儿我肯定留不了的,你帮我个忙,我要休息一个月,然后回来办离职,工资嘛,你照常给我发。结果他答应了。过了一个月,我如期回来办离职,办离职当日,另外一个跟他不对付的小弟过来跟我聊天,这家伙故意想知道我怎么跟他死磕的,大家边聊边吐槽,聊到high处,我把那个机密邮件发给这货了,其实我也知道那小子用意,虽然我答应不群发这邮件,但是我没说不分享给别人啊。于是离职前做了一次“分享”,然后我办完了离职,后来的事情大家猜到了,有人把我的作品给更完美的修饰了,然后这公司人都欣赏到了,再然后我就听说,技术vp正找工作呢。我对他挺够意思的,我还让qq上几百号猎头照顾下他呢,想想他对我那么过分,我对他这么好。真是以德报怨。

二进宫

人生失意须尽欢,莫使吟性空产出

2019年晚8点46分我在为你编辑接下来的故事,一瓶麒麟一番榨、一瓶超日super dry。爽哉!爽哉!难得做把神仙!

2016年6月,啊哈,百度。就职某边缘部门,此时百度已经搬入百度科技园,再次邂逅度娘当刮目相看。真的感叹铁打营盘,流水的码农。清一色90后。才三年,我都不敢认识了。说实话2016年开始我对工作已经无感了,那种频繁换工作,激情?没有了,我丢哪去了?有时候感觉自己像一个留级生,人生不同阶段应该有不同经历,起码越走越高,这才是我认为正常晋级。再次回到百度还是做三年前差不多的工作,只不过职级涨了两级。说实话有时候我都觉得人生每一天重复昨天,还是那一套工作流程,还是没事儿讨论如何前后端分离,还是要搞个列表页、详情页.....想想都吐。为何会这样?因为我不及格留级了。你非要说有什么变化,个人感觉工作已经彻底就是养家糊口的事情,年轻时工作带来成就感,写业务代码有快感,现在呢?呵呵。那感觉跟天天吃酸菜猪肉水饺。那时开始怀疑自己做的事情价值点在哪?好像跟毕业两三年差不多吗?刚毕业人有激情,我有经验。但是我发现能做好一件事靠的是激情。说实话二进宫回百度,我在工作态度有太多问题,因为没有激情,做什么都很消极,因为仅仅为了吃饭这个理由我劝服不了自己。于是在当时部门整体早10晚8点半的节奏。我每天早11点晚7。于是绩效各种低,老大看你态度嘛,产出这玩意谁在乎啊。结果2017年百度裁了这个部门俺也就离开了。二进宫百度自己技术确实有所长进,全凭业余时间自己造了个大轮子。如果深挖技术你得看牛人代码,然后自己再从头实现一遍,怎么读源码这个问题留给你自己。切记自己对自己狠点,否则天天写hello world。十年后你还是就会写个hello world。朋友!记得先找到自己目标,先做职业规划,目标和规划越明确,你越不会迷茫。否则就如我2016年开始一样,写代码已经没有任何感觉了,为了养家糊口而工作。理想是特么什么玩意,都不如给我来两瓶啤酒。别迷失自己,朋友。朋友,你积极工作也是一天,消极也是一天。为何不让自己积极过这一天?就我个人而言,我对管理无感,性格使然,另外执行层面工作已经让我彻底怀疑自己的价值。2017年我当了爸爸,同年去了一个神奇的网站。

感谢您能看到这儿!愿风指引你的道路。

天地一指也,万物一马也。

2017年6月份我去了58,以前我还挺拿我背景当回事儿,但是2017年左右,我觉得不管你是什么公司的,大家都一样,我们的身份都是一样的,我们都是五湖四海的打工者。所以从那时候开始,我跟同事或同行的交谈都是以前公司,5前公司来指代过去的厂子。百度的骄傲属于李彦宏和各大股东的,阿里是马云和孙正义、蔡崇信等大佬的。跟我没什么干系,我为那几个厂子写过的代码也不属于我的,只有给我的生活费和盒饭属于我的,还有那逝去的工作时间。假如我跟我一同事说:“以前我在百度怎么怎么样”,可能会有好多人反感,而不是钦佩(或许人家google来的,还会鄙视你一顿)。来,我们聊聊58,我眼中的58。作为技术人员我们肯定要先点评下58的技术氛围。我个人觉得神奇网站的工程师也很神奇,当然我拿他跟网易、百度等对比,神奇在哪呢?神奇在58的技术跟网站页面UI一样,这么说你可能还是不懂,58网站什么感觉,是不是跟菜市场一样“乱七八糟的”。像不像最初的好123。58技术也一样,58老板还在某节目招人呢,那个啥前端什么java那事来着。对了,我记得58老板陈晓华说:“保持原有那样,因为使用58的人普遍学历低,年龄大,怕他们用不明白”。对他这句话我保留意见。可能这句话透露技术在58的地位。说来说去不懂的同学可能问了,你就一句话总结。好,我告诉你:“58技术在我看来,技术很旧,但是还守旧。旧没关系,你还守着,拒绝别人改变”。我去面58那个部门时,老大说他们当时技术栈还是jq,而且系统都是最近一年做的。当时我就哥伦布附体了,这不是新大陆嘛?连backbone、ember等都不用,更别提arv了。顺便说下业务场景哈,都是b端系统,无兼容问题,而且系统复杂度还有那么一点。我这要是进来了岂不是屌炸天了,avr随便哪个给他们落个地,配合webpack&ts、再搞个express,再搞个ant组件库,搭个业务组件库等。那不是成就感满满?基于这样的幻想,我成了失足少男。进去之后,我先熟悉业务,三月过去了,正好有个项目做到最后前端维护不下去了,好比闭着眼撅起嘴唇的女神等着你一吻,我向主帅主动请缨xx了这女神,不,说错了,主动请缨应战这大坑,其实那时候谁都不愿意碰这项目,老大一看,呦!这还来个主动填坑的。正所谓养兵千日,用兵一时。大佬说:“此事非爱卿无人能替寡人分忧了,爱卿我观纵将之中你是我唯一信得过的,你不要令寡人我失望哦”。我:“末将定不会忘记主公招聘之恩,如未能拿下此系统,我愿自此切回jquery技术栈”。大佬:“纵将听令,命Xxx(大猪我)为征坑大将军,单兵重构XXX系统”。我一听,顿时后背冷汗直流,如果我自己去搞估计重构还不如系统新的需求迭代快呢。于是我要求大佬给配了两个小弟,遂亲赴战场,经过五个月的厮杀,拿下来这系统重构,剧情神反转来了,项目前端总结会,大佬说了句:“xx啊,五个月啊,你们三个月重构了这个系统,很辛苦,这种创新意识很不错,可是项目虽完成,产品觉得之前没重构版本使用起来更顺手,另外你这套学习成本很高,玩意有一天你离职了,谁来接手主导呢?另外我也没有感觉代码量减少,还有开发速度也不是很快,用jq好好重构一遍说不准比你还快呢。”。我内心在想:“ant不如jquery.ui?组件化方式不如面向dom?我有私自封装库导致挟自定义技术栈以令猪猴?”。算了吧,我本以为拿这个系统当作试验田证明自己,没想到彻底否认了。你觉得我应该跟他们据理力争,告诉他们组件化开发方式更好?还是告诉他们,他们审美不行?不是,有时候他们知道但是他们不关心,系统稳定性更好、可维护性更好、快速响应需求这些难到不是做技术的价值吗?我搞不懂,我换位思考过,做决策需要权衡各种利弊,但是我得不到答案。我跟其他同事聊天,他们不太喜欢讨论技术,更关心谁怎么怎么样了?后来我又一次的尝试,结果还是被否定。后来面试hr都会问:“你为什么不坚持坚持,把正确事情曲线救国,有可能你没有站在老板角度考虑,有可能你没有深入和老板沟通,你们信息不对等?”。对不起,决策者有时候不是神,他是人,他有他的利益平衡。他站在角度不一定是公司,有可能是他自己,我在角度也不一定是公司,我也站在我自己的角度,只不过我希望能和公司共赢。于是我离开了58,很有挫败感,这时候我开始真正意识到,技术真的不是万能的,有关技术的一切“技术改变世界”。你对他的信仰有可能是资本家安抚你们的套路。跟传销有点像。它就是个商业工具。别太把它当回事,也别太不当回事。58,再见。

大连,你好。2018年5月,从58离开后,连续搬了四次家,加之考虑老婆孩子漂泊问题,脑袋一热去了大连“度假”9个月。在大连一外包公司干活,薪资不错。你也别跟我计较什么阿里百度怎么去了二线一外包。还是那句话我觉得都是打工的。说说二线城市工作,氛围很官僚,二线城市的程序员技术都不错,甚至我觉得不比bat差,当然得是二线比较好的公司,他们可能不习惯漂泊,喜欢安逸。但是氛围很官僚,因为大部分是外包,所以对新技术他们都不太关心。二线城市工作确实跟北京大相径庭,回二线城市的要考虑好。你回去你的leader对你期望很高,但是对你了解一般,他不了解你在北京的工作节奏和方式。另外就是河浅王八多。说说二线城市生活,节奏很慢。加班也不算太少。整体好一点。对了,二线城市可选择范围太有限。如果去了就不能这么欢快跳巢。其他的二线一线对比你们都知道,房价低、物价低点、离家近、能解决娃上学问题。

水之积也不厚,则其负大舟也无力。

所以呢,我从大连又回到北京,2019年,也就是距离我写下这行字,已经是我全家搬回北京一个月了。这次回京赶环境不好,加之年龄太大,工作挺难找的。什么?你问我在不在batmd?我听不见。人家hr说我没潜力了,年龄大了,人家都是92年的带一群95年左右的了。当然我现在公司也这样,有时候感觉很寂寞,想找找跟我同龄的老鸟,甚至联系n多年不联系的老同事,只想有个懂我的人说说话,老鸟们,我感到很孤独,我感到年轻人说的游戏我没玩过,他们看的电视剧我没看过,他们能加班,并且下班了精力还很旺盛,而我却以精疲力尽,他们说的梗我不懂。可我得和他们一起工作,我努力融入他们的圈子,我很疲惫。我还要和他们讨论一些问题,那是我工作三五年总面临的问题,现在跟他们讨论,我感觉我回到了小学三年级。可我为了养家糊口,再次回京我的愿望就是为我儿子攒点学费。这就是我现在的状态,这就是我现在的归宿,this is my story。thank you for your reading!goodbye!


愿你的未来不迷茫,陌生人!

2019年5月1日,连续喝四瓶啤酒,答主在家做完本答案的最后一更。

你以为代码会陪伴你终生,其实代码和女朋友一样,抛弃你时连句再见都不会说。



很多年之后,很可能你会和一个在公司里从未打过招呼,只是知道名字的人坐在一起吃饭聊天,亲热的如同多年未见的好友。


产品经理和研发没有太多过不去的槛,但一团和气的团队可能最终只是一团和气而已。


一百个公司就会有一百个公司的缺点,无论环境,同事,上级或者是项目,学会尝试改变而不是逃离。


他可能水平很菜,责任感不强,但他离开后没多久,就去了一家大公司,薪水翻倍。


三年之内,你可能觉得大家没什么差别,五年之后,你才会觉得和别人有点不一样,十年之后,你已经想通了。


改变你人生轨迹的,很可能是一个老领导的推荐,很可能是同事去了新公司在招人,也很可能是你想去的公司问一个已经入职的前同事关于你的表现。


以前觉得月薪3000很高,后来觉得6000就很好,过10000了之后就很开心,不知不觉升到了24000,再跳一次拿到34000,猎头挖你到了50000,可是你仍然什么都没有,仍然很迷茫,反而是那个提前买房的,后来卖房,再买了房子的人,写着BUG佩服着你技术高超。


跟一个好老大,如果不是他对不起你,如果不是他没上进心,一直跟下去吧。


不要给自己贴标签是什么语言的程序员,更不要给自己贴标签只是程序员。


多考虑十年,考虑自己十年之后应该做什么。


没有永久的甲方,也没有永久的乙方,没有永远的团队,也没有永久的爱人,更没有完美的产品或运营,只有发锈了的键盘,让你误以为你可以创造一个世界。


你不能避免自己不写BUG,但你可以自己把它找出来并修复掉。

本人普通二本毕业去的一家小公司,半年后去了某知名大厂, 后来继续在大厂之间跳槽 。如今已娶妻生子 买房定居。这几年经历过面试,买房,学车,结婚,生子,职业沉淀。也算是真正领悟到了编程到底有什么意义!编程的意义这个话题留到以后再谈。

每年都有无数年轻的程序员,加入软件行业。他们在学校里学过编程,但是对这个行业的现实一无所知,我今天介绍这个行业的一些实际情况。这几年自己在技术博客沉淀很多技术。其他方面也算成功,至少和同龄人和自己起点一样本科生来说,作为过来人有几点说一下:

关于跳槽的我在专栏写过文章 也可以关注微信公众号开发者技术前线 :Tamic:年后离职跳槽指南

前面四点主要针对三年经验以内的。后面的几点写给3年到8年的同行,最后一段写给所有的同行。

1.不要迷信“大牛”

看到你问题中有什么踩坑的,技术人唯一的不好就是对非技术盲目崇拜,尤其对非技术网红。就放前面说说:网上的“大牛”多半不靠谱。

其一是真正的大牛没时间混迹在网上做人生导师,天天讲道理,整天出现在你Timeline里的人要么半吊子水货,要么另有所图(赚钱智商税)(我黑起人来连自己也不放过)

其二相比较入门的你比就算是大牛,他的经验对你未必有用。大牛说我学 Python 也就翻了下基本语法,当天就上项目开干了。(大神说我觉得没有顺手的语言,就发明了 Python)大牛说我从不看基础知识,因为大牛天天忙着公司架构 哪来机会看基础。

2.少说废话,多写代码

废话有很多种,程序员届最多的大概就是整理哪个语言/框架/平台/技术好,准程序员则喜欢问,我是不是应该学Java Python php……学了是不是有用之类。我学习什么技术好?技术讨论并不完全无意义,但在你打好计算机基础、数据结构,熟练掌握至少一门语言、开发过一个能看的项目之前,这些讨论对你来说就是浪费时间的废话,而不是今天跟风学这个,明天又听人说那个好。不要等毕业的时候说出XX技术学校没教过,所以我不会这种话。

有这时间多写点代码,刷刷算法题,找点项目做做,找不到就从自己日常身边找点需求去用代码实现。不要说你觉得没有什么可写的,如果是这样,那你要反思下自己适不适合编程这条路。

我能告诉你的是 接下来几年内不会算法是不行的。不要说我进去公司用不到这些话 如果你拒绝学 那没必要做程序员了。

华为 ,头条面试对算法要求越来越严格 ,或许几年后全民算法。 不代表我本人对算法有什么兴趣,只是是市场需要。

3.做一个程序员,不是码农。

码农的工作和搬砖没什么区别,就是把一些模块拼到一起,有问题了就东修西补,程序能跑通就不错,只会用教过的一两种技术。做个码农很容易,天天改改Bug 水水群 ,编程5的分钟 扯淡两小时。就是说的是码农。但程序员是个长期的职业,你在学校学习的是编程的思想、解决问题的逻辑、持续学习的能力。重视基础课程,深入学习一两门语言和技术,理解透彻了,以后学习别的新技术自然触类旁通。没事看看就行,别去跟风凑热闹。你上的是大学,不是技能速成培训班。

总结一句, 码农喜欢说颠覆 喜欢说取代 更喜欢扯布道者。天天喊着新技术。

程序员专注基础能力,谈业界影响,说贡献,谈价值。

4.短期不要高估自己,长期不要低估自己

绝大多数人都会犯的错误就是“短期高估自己,长期低估自己”。除非你天资聪慧,否则别想着大一就捣鼓出什么牛逼程序来一鸣惊人。学编程的过程会经历数个瓶颈期,中间你也许会数次感到万分绝望,甚至开始怀疑人生。

但你要相信,只要坚持写下去,瓶颈总会突破,成为一个超越平均水准的职业程序员是没有什么大问题的。

毕业三年拿到15到20k 的人不少,不代表你牛逼,因为行业曲线就这样。但是你想6年拿60k 确实没几个人,毕竟50w年薪是大部人的天花板,所以也别灰心 。

5,最后相信自己,尊重自己的职业

  • 不要自称「 xx 狗」,尊重自己
  • 不要为了谈恋爱而谈恋爱,不要相信「程序员找不到女朋友」
  • 除了计算机知识,也要学好英语 + 数学
  • 基础学扎实,学算发,不要追求热门
  • 不要迷恋语言,不要陷入语言的战争
  • 多写有质量的代码 别瞎折腾实践

6. 90%的编程工作来自内部软件

计算机专业的学生,可能有一种错觉,觉得大部分程序员,都在编写公开出售的软件或者通用软件。

这种看法是不对的。大部分程序员,实际上编写的是不公开的企业内部软件,这就是说所谓的外包。比如企业内部聊天工具,追踪费用的软件、优化装运成本的软件、帮助记账的软件、设计新部件的软件、计算保单价格的软件、识别恶意订单的软件等等。

各种各样的商业公司,开发内部软件,解决它们自己的问题。市场上对程序员的大部分需求来源于此,只有极少数程序员直接编写面向外部用户的软件。

内部软件的开发(OA B端),通常非常乏味,令人厌倦。因为它们的技术复杂性低、技术决策非常保守、预算很少、缺乏长远考虑。但是,世界上大部分编程工作都是这种。你如果想入行程序员,你就要有心理准备去接受这样的工作。

7 别人雇你的目的,是让你创造利润,不是让你编程

商业公司最关心的(或者说唯一在乎的)事情,就是增加收入、降低成本。因此,它们实际上需要的不是程序员,而是能够帮助它们增加收入、降低成本的人。

开发优美的软件,解决技术难题,编写没有 bug 的代码,这些都不是商业公司的目的。它们雇佣你,是为了让你帮它们完成某个可以增加收入、降低成本的项目,而不是为了让你追求个人的软件成就。

你对于公司的唯一价值,就在于能多大程度上为它们增加收入、降低成本。

这就是为什么阿里p8拿不到业务就是滚蛋的情况 ,在没有业务就没有产出,没产出就没有利润,那么技术好坏 只成为你不容易被裁的几率。

8 好的程序员专注于为公司带来价值

很多公司的开发经理不懂技术,在他们心目中,程序员就是一群高成本的劳动力,只会在一台复杂的机器上干一些他们难懂的事情。

如果你自称为”码农”,只会写代码。当公司需要压缩成本的时候,某些经理首先就会想到解雇你,因为你的工资高。

有一家公司叫 Salesforce,口号是”没有软件”,意思就是如果经理们购买了他们的服务,就不再需要别的软件管理销售业务了,也就是说,不再需要自己雇佣程序员了。

正确的做法是,你应该把自己描述成与增加收入、降低成本有关系的人,比如”xx产品的开发者”或”改进者”。有一个 Google Adsense 程序员的自我介绍,是这样写的:”Google 公司97%的收入,与我的代码有关。

9 不要给自己设限

年轻学生经常会问,应该选择哪种语言或平台?Java 是不是比 python 容易找工作?

过分强调某一种语言或平台,都是不必要的。如果你把自己限定为 Java 程序员或 .NET 程序员,你就已经输了,因为首先你不应该自称为码农(理由见上一点),其次这种限定使得你自动被排除在世界上大多数编程工作之外。

现实生活中,学会一种新语言,只需要一两个月,然后再过半年到一年,你就会变成老手。那时,根本没人在乎你以前用什么语言。

天才程序员是很少的,可是需要天才程序员的工作机会却很多很多,大多数场合都是需求远远大于供给。

这意味着,即使你不是天才程序员,只要你是一个优秀工程师,那些招聘公司也会立刻录用你,因为它们知道招聘到天才程序员的机会微乎其微。(重复一遍,所谓”优秀工程师”,就是你的履历上有一连串可以为公司增加收入、降低成本的记录。)

某些公司的人事部门,会根据某个关键词(比如 Java 或 .NET)过滤简历。虽然这样的公司根本不值得去,但是如果你真的想过这一关,也很容易:投入几个晚上和周末,在你当前的项目中设法用到这个关键词,然后再把它写进简历就行了。

你要知道 语言只是工具,公司为了利润,在任何时候都可能让你转语言。

10 如何提高求职时的谈判能力?

(1)记住你不是在求职,不是在展示编程技巧,而是在推销某种商业问题(增加收入或降低成本)的解决方案。

(2)面试时,要有自信,要平等的对话。你要的是一个互利的录用合同,不要每次对方提出要求,你都说Yes。

(3)雇主可能会问”你的上一份工资是多少”,他们其实在说”给我一个理由,压低你的报酬”。你要想好如何适当地回答这个问题。

(4)要还价。这里不仅仅指钱,还指其它你关心的方面。如果你无法要求更高的薪水,那就试着要求更多的假期。

11 创业公司是否适合应届毕业生?

如果你一毕业就加入创业公司,最可能的结果是,接下来几年你都工作得非常辛苦,然后公司悲惨地失败了,你失业了,不得不又去另一家创业公司工作。

如果你真的想去创业公司,应该首先找一家大公司干上几年,攒一点钱,积累一些经验,然后精心挑选一家创业公司,再去实现自己的梦想。

在创业公司工作,一般情况下,你遇到的都是创业者。他们大多数人没有能力在两年后带你;而在大公司工作,你遇到的都是其他大公司的人,他们中很多人将来有能力带你或者帮你介绍工作。

12 沟通技能是最重要的职业技能

前面说过,工程师被雇佣,不是因为会编程,而是因为能够创造商业价值。所以,你得让人们相信你能创造价值,这是帮助你找到工作的最重要的能力。这种能力与你真的能创造多少价值,实际上联系不是很紧密。很多情况下,你向别人展示的是对你能力的一种期望,而不是你当前的能力。

所以不要时刻说技术,因为技术只是工作的一种手段,价值才是你的武器。

最后关注技术的同时 不要忘了关注自己自身能力的提高。这一行都应该有面对时刻失业的准备,因为大部分的的危机来自于体制外的工作当成了体制内。

最后有几点道理

1 普通人为了达成某个目标,需要舍弃一些东西,舍得舍得,有舍才有得。

2 职业生涯早期有机会去大公司大平台,还是要去大公司见见世面。很多事情不是一蹴而就的,如果能力不够可以采取曲线救国,只要最终能达到目的就好。

3 技术是根本,没有技术你就没有钱。技术又不是全部,因为你很难搞一辈子技术。

4 眼光和机遇很重要,机遇可遇不可求,但是机遇来了,眼光不够没有做出相对准确的预测,做错了选择,那也是很伤。

5 学历和起点不是问题,其实能力和眼界才是程序员核心竞争力,大厂不一定就是铁饭碗。

6 人都需要学习,并能不断敢于挑战自己,才能离成功几率越大。


有好多人私信问大龄程序员出路在哪里

我这里刚刚回答了一个相同的问题 。

https://www.zhihu.com/question/267634367/answer/687458260


最后祝你程序人生顺利 、从公众号来知乎刚不久,同行有问题欢迎与我交流 感兴趣的关注我的公众号:开发者技术前线

也欢迎有疑问者向我咨询。

70后程序员,我属于一直走技术路线的。20年的编码生涯,目前还在技术第一线。

到目前为止,我在职业生涯里面的第二个公司里面。是的,我只跳过一次槽。第一个公司是某勉强二线城市的一个小公司,连老总在内大概30来个人。现在某公司里面做技术顾问,为客户解决具体问题,服务的客户基本上是大家耳熟能详的知名企业,包括知名IT企业。

我分享几点:

1、你要经常反问自己,是否真正熟悉你每天工作中使用的这些技术,尤其是你自认为已经很擅长的。你要不停追问自己,不要害怕,你就会发现即使这些熟悉的领域里有太多自己不知道的。我也经常发现一些技术书籍的错误,甚至有流行技术书籍。有些错误出现的太多,甚至你都很难通过网络搜索来证明这是个错误。

2、感觉追逐新技术追的很累,是不是?感觉技术更新太快?那说明你对技术的发展历史和脉络不了解。当你明白这些新技术是怎样一步一步的发展过来的,在发展的过程中各个涌现出来的技术都在解决之前的什么问题,为什么在那个时期要解决那个问题,解决同一个问题有哪些不同的方式,…。我在为不同客户解决问题的时候,经常有我首次遇到的新东西。帮客户团队解决问题的过程,也是让他们学习我是如何学习的过程。

3、不要忽视一些看似很古老的技术,能够存在二十年三十年不是没有道理的。而这些老技术往往也是新技术的基石,很少会有凭空出现的新技术的。对一直存在自己身边的老技术保持敬畏之心。

4、反思自己的工作。程序员通过编程来帮助客户更高效的解决传统工作,或者说用计算机把一些工作自动化。作为程序员,你是否在每天重复着之前的工作?比如感觉每天都在枯燥的增删改查?我经常说我最喜欢枯燥的工作,枯燥意味着重复,重复就意味着简化。

5、分享,不要害怕别人学会自己的经验而超过自己。这种事情很少会发生,因为你在解决问题的过程中学到了很多的犯错,这些犯错都将成为你解决新问题的关键。你分享的永远都是探索问题过程中的一小部分。每一次的分享每一次的争论都是学习。我不太爱写东西,我喜欢即兴分享,我喜欢讨论,每一次被别人指出错误都是宝贵的财富。

今天写东西,是因为我刚刚到客户所在的城市,倒时差,坐在这里刷手机。

-- 评论更新

我把回复两位朋友的评论贴在这里吧

关于入行,学习会不会枯燥?

只有入门的时候带来的新鲜感会让我们感到兴趣,但深入的学习没有不枯燥的。外行看程序员,就好比看数学家的工作,每天各种计算各种公式各种推导有什么意思?但真正发自内心喜欢这个行业的,在这个看似枯燥的过程中会兴奋的无法自拔。我接触计算机的二十多年来,从来没有让我感到烦躁感到无聊感到没趣的时候。但我也不是那么宅的一个,甚至会让别人觉得我很健谈。所以,你要问自己,为什么要进入这个行业?你发自内心的真正的原因是什么?

感觉没有未来?

我在大学毕业的时候是被推荐省厅级部门的公务员破格免试资格,但我拒绝了,我不喜欢在那样的环境里,我要有自己希望的自由,后来就去了我们当地高新区的一个小软件公司。为此,我父母一直抱怨了我十来年,你可以想象到这个压力吗?未来和发展都是自己争取来的,不要指望别人或者环境能给你多少捷径。最重要的是,我是真的很喜欢计算机这个行业,包括软件硬件,就连修电脑我都会觉得很有趣。

我老婆也是在一个国企,平时的工作其实也挺无聊。在刚结婚的时候问过我一句话『你说,我到底喜欢什么工作?』我的回答是『别人怎么会知道你喜欢什么?』。后来,她随便找了一个觉得还算有用的技能开始,比如练习英语口语。她竟然在我们这个二三线城市里面找到了一些不同社区,有练习演讲的有玩即兴表演的有培养教练技能的。我都没想到我们这个小城市里面会有这些社区。为此,她也花了好多精力和金钱去学习去探索。现在都有一些社团会邀请她去组织或参加活动。而且她也尝试着把学来的这些看似不着边的技能用于在她的工作中。她在最近这些年也再没问过我那个傻傻的问题了。

所以,你要清楚的知道你喜欢什么?如果你不知道,那就去找吧,从扩充自己的生活圈开始。

-- 评论更新

关于 996、工作和生活。

前几个月问了同事才知道996是啥意思。对我来说,工作和生活分的不那么清楚。先说在生活上,只要我不出差,我会尽量在家接送孩子,一日三餐。我家孩儿还是非常喜欢吃我炒的菜的。周末还要陪孩儿玩 Switch,全家一起到附近的公园散步或者游泳或者科技馆图书馆,说起来还是挺忙的。但平时不管去哪里,电脑一定是随身携带的,这是我在大学就养成的习惯。随时可以拿出电脑继续,有太多要研究要学习的了。孩子在图书馆看书时,公园里面和小朋友玩耍时,去机场的路上航班上等人时,我都会随时开始工作。

对我老婆来说,担心最多的是我的身体。毕竟现在每年出差极多,作息时间很不规律。和三十来岁的时候比,确实会感到不如以前那么精力旺盛了。

大家看到我写的这些,或许看上去我还算成功。但这要看如何定义『成功』了。如果从收入上来说,我就是个 loser 了。为啥要在一个准二线城市生活?成本低啊。我的收入和存款真的无法负担一线城市的首付。虽然我老婆有时也抱怨我的收入和付出不成正比,看人家谁谁谁又买了房又换了车、孩子上了好学校blabla。但她也很高兴看到我每天的工作很开心,和同事们的关系都非常好。而且她和我同事们的老婆们关系也好,这些老婆们还有自己的群,悄悄吐槽我们这些老公们。

这就是生活,不是吗?

--2019-04-28 评论更新

关于职场、阅历和经验

首先,这句话『技术的提升在于不断分享和借鉴』我非常认同,事实上我的工作也在诠释着这句话。我保持匿名,是不想透露出关于我个人的任何外部信息,就不会让其他朋友阅读这个回答的时候因为这些信息给这个回答贴上一些标签,这些标签可能会影响到你如何理解我写下的这些话。同样的一句话,由不同背景的人说出来,别人是会有不同的理解的。即便同一个人说出来的话,不同的人因为不同的知识背景和经验阅历,也会有不同的理解。

我大概翻看了一下这个话题的其他回答,高票的回答基本上都涉及了职场、公司这些方面。而我相对简单的职场生涯确实让我无法在这方面有什么体会。有时我也会觉得自己很幸运,一直没有涉及过复杂的上下级关系和办公室政治。事实上,我在第一个公司离职后,有相当长的一段时间是我一个人独立在工作。在那些年里,完成了我人生中的几件大事,相亲结婚生子买车买房。

我不止一次的想过,当我脱掉公司、职业这些外壳后,我还是谁?丈夫、父亲、儿子、程序员是我不变的标签。对我的妻子来说,她很确定的知道我非常爱她。我们既是夫妻也是非常要好的朋友,我们经常在一起聊天互相八卦,也可以毫无顾虑的让对方拿上手机去打电话或者帮忙看有什么新提醒。对我的孩子来说,周末的奖励就是写完作业后爸爸可以陪着他玩游戏。说到这个,玩 ARMS 我总是输,我真的不是要让着他。平时上学的时候他会和我聊刚刚看过的动画片里的剧情,或者聊自己想象的 Minecraft 世界。有时我对孩子还是比较严厉的,虽然我不关心他考多少分,但不管做什么,写作业也好玩游戏也好看书也好,一定要认真的用心的去做。对同事来说,我们即是同事也是朋友,包括我们的家人之间也是朋友。当他们遇到某些特定领域问题的时候,会立刻想到我,这让我感觉很棒。

也不止一次的想过,如果目前的工作立刻消失,我还能做什么来让我的家人尽可能的保持现有的生活?我也问过一个好友这个问题,他目前还算有些级别的公务员,日子过的也很不错。他想了十多秒,说『不会的,这种事儿不会发生的』。我老婆我的朋友也不止一次的问过我,你这样要奔波到什么时候?要不要找个大公司去养老?我觉得起码目前没有这样的想法,也就四十来岁啊。就算找个大公司,谁知道后面会发生啥。

我不是什么人生赢家或人生导师,我只是在分享我真实的生活和感受。看到这些文字的朋友们自然会有不同的理解和诠释,有任何帮助那就足够了。


今天周日,刚刚起床又写了这么多。过去的几天还是挺忙的,等下吃过早饭后准备进城逛逛了。

-- 2019-05-09 评论更新

关于学习的分享

计算机是一个工程学科,学习的过程就一定要动手写代码,这大家都明白。我从其它方面来分享一下我的学习过程,简单来说就是『保持好奇』。

不管学习什么,最常见而又意识不到的事情就是『我们不知道我们不知道什么』。当我们都不知道有哪些东西要学习,何谈去学习呢?所以,最重要的事情就是把那些『我们不知道我们不知道什么』变为『我们知道我们不知道什么』,当我们知道了这些我们不知道的东西后,就可以去学习了,『保持好奇』就是我用的方法。

我在前面有提到,是否能够意识到我们有多熟悉每天使用的这些软件或者工具?比如有些使用 macOS 的程序员说 iTerm2 比 Terminal 好用,可他们几乎说不出 iTerm2 特有的功能,甚至都没有留意过菜单里面有一个『Install Shell Integration』。我有一次和朋友聊天时提到,当我发现一些软件升级的时候,我会去看升级日志,也就是 Changelog。他们很惊讶的说,还真的有人去看这些内容啊。是的,我会好奇新版本升级有哪些变化。通过软件的更新日志,可以了解到软件的功能变化,会时不时的给我一些惊喜。天,原来竟然有这个功能,或者那个功能比我知道的还要强大。我用 macOS 上面一个包管理工具 Homebrew 时,闲暇时就会执行 `brew update`。每次更新后,会显示有哪些新增和更新的软件。或许很多人会直接忽略这些内容,但对我来说这都是宝藏,我会好奇为什么那些贡献者觉得这个软件很好用,要把它加入到 Homebrew 的包仓库里面。我会一个一个的看软件包的名字,用 `brew home` 命令来打开那些让我感到好奇的软件包的官方网站,尤其是我不知道的、看上去名字挺有趣的,新增的软件包。通过这个方式,我发现了很多有用的工具或者技术,可能有些技术都已经很多年了,结果我是通过这种方式找到的。

同样的,用这种方式可以让我们很简单的更快的去了解我们每天工作使用的工具和编程语言。比如见过太多的 Java 程序,虽然使用 JDK 9 或者更新的版本来构建,其实从代码里面都没发现多少 JDK 7 甚至 JDK 6 就引进的语言特性。虽然不见得新的语言特性都适用于我们的工作,但去了解这些新的特性可以增长我们技能,或许可以借鉴到其他领域中。

『保持好奇』就是一种广度优先的学习方式,让我们知道了『我们知道我们不知道什么』。看似『三分热度』,但对于我们的知识领域而言是从0到1,这是很重要的一步。在具体工作中解决问题的时候则又是『深度优先』的学习,这让我们知道『我们知道我们知道什么』。随着工作经验的积累,慢慢的我们会『我们不知道我们知道什么』,这就是我们宝贵的经验财富了。


(写了这么多细节,我的同事、熟悉我的朋友应该会猜出来)

职业生涯20年,我一直处于“比较走运”状态。遇到经验丰富的领导、遇到理性的客户、遇到优秀的老板……所以,我一直就是同事里面升职加薪比较快的那一个。

鉴于此,我有一些经验可以分享给你:

1. 要把技术作为你的爱好,而不仅仅是职业

你需要清楚的知道你目前所处的IT行业是一个技术快速发展的行业,目前你所精通的技术很有可能在两年之后就已经过时了。所以,如果仅仅把技术作为自己的职业的话,一旦你步入管理岗位就很可能意味着你开始逐步远离一线的技术领域。

但是,请你记住,没有技术背景的纯管理岗位的可替代性是非常强的,这样的人员岗位竞争力也是比较弱的。只有你将技术作为自己的爱好的时候,你才有可能长时间对于技术领域的发展保持持续的关注与兴趣。

拿我自己作为例子,由于我的技术基本功还算不错,所以其实我早早就步入了所谓的管理岗位。工作一年之后开始作为项目经理带项目了,工作三年之后开始辅助部门经理工作,工作5年的时候在同时管理2个以上的部门……以这样的状态,其实我基本上很少有机会能在公司的项目中从事一线的编码工作,但我发现这样是有很大问题的。

所以我会有意识的主动在公司申请一些内部项目的开发工作,一方面保持我在编码方面的熟练度(编码工作其实很大意义上来讲是个体力活,需要肌肉记忆),另一方面也是我能够有足够的机会对新发展的技术进行实践。

所以,即使现在,如果需要的话,我也可以与一线的开发人员直接进行技术方面的沟通。


2. 定期停下来总结

如果只能有一句话来告诉年轻的同事们的话,那这句话就是:要定期停下来进行总结!

说起来很简单,但是执行起来却未必;所以如果你真的能做到的话,你在成长速度方面就直接超过90%的同龄人了!

你的职业生涯注定是一个快速迭代的过程,因此定期总结才能使你对自己的成长路线不断的纠偏;你的工作经历其实都是你的资源,只有定期总结才能够使你这些资源得到充分的利用,不至于浪费。

坚持定期总结一段时间,你慢慢的就会理解:3年的工作经验和1年的工作经验重复了3年之间的区别到底是什么。


3. 拓展你的视野

我一般来讲早上上班的第一个小时是不工作的,而是打开各大技术社区进行冲浪。这个习惯我坚持了20余年。IT行业是一个有巨量细分技术领域的大行业,作为一个人来讲是不可能掌握所有流行技术的,但是这个习惯起码保证了我能够及时的知道:目前,大家都在说些什么。

这个习惯让我在Dot Net框架还在beta版本的时候,我公司就在我的建议之下开始跟进了;

这个习惯让我在敏捷开发概念刚刚进入中国的时候,我就找机会开始实践了;

这个习惯让我在Rails框架还是1.0版本的时候,我就开始使用它了,并且持续获益了10年;

这个习惯让我在Vue.js框架刚刚出现的时候我就开始持续关注了;

……

这个习惯让我比别人多了不少更早的准备,所以也多了不少可以抓住的机会。


4. 要对外部环境有判断的能力

针对同样的一个事物,每个人都会有不同的判断和解读,基于自身的利益考虑或者基于自己的经历和眼界。

于是,在你的职业生涯中会充斥着各种各样的建议和主张。

比如有的人在15年以前会告诉你,中国软件行业的未来是软件外包……比如有的人会在前年告诉你,现在就应该ALL IN到区块链技术上……比如有的人会告诉你PHP是世界上最好的开发语言……比如有的人会告诉你在中国做IT30岁以前还没有走上管理岗就没前途了,赶紧转行……

这些人的心态各异,有的是想给你画饼,有的还真是发自肺腑。

但是,你需要有自己的判断能力,一定不要道听途说,人云亦云,甚至变成羊群中的一份子。

就比如,我会和年轻的工程师们讲:你如果想成为技术大牛,那就不要仅仅停留在“据说”的水平,一定要所有的坑都亲自趟过去!


5. 要正确的认识自己

一定要正确的认识自己包括三点:自己的长项、自己的短板以及自己的真实价值。

其中最后一项的真实含义就是:你要搞清楚你现在很牛B到底是因为你自己很牛B还是你现在所处的平台很牛B。

一个人正确的认识自己,才能够合理的管理自己的期望值,这样做起事情来才能够有足够的韧劲。

再有,对于前两项,我真正的意思是:你需要问问自己,这真的是我的短板吗?

最后一层意思是:当你在某件事或者某个行业做的非常成功的时候,千万要保持清醒,不要认为自己已经掌握了唯一正确的做事方式!


6. 转换自己的视角

在我做部门经理的时候,一般来讲,我会对新近提升为项目经理的人员提一些建议:要养成转换视角思考问题的习惯。

例如在管理项目的时候,第一步就是使自己由原来开发人员看待项目的视角转换成为客户方看待项目的视角;而第二步呢,就是由客户方看待项目的视角转换成公司的老板看待项目的视角。

这样,你就会突然发现,过去有一些你觉得古怪的行为或决策现在变得可以理解,过去有一些你认为非常严重的问题现在看其实都无关紧要……


7. 保持良好的心态

你经常会发现,上学的时候,你最看不起的那个同学,工作几年之后非常有钱,过得人五人六的……

你经常会发现,客户方的负责人明明是个没脑子的,但是由于他是甲方,所以你还不得不拿出你最大的耐心跟他周旋……

你经常会发现,你的老板其实真是个SB,总是做出一些古怪的决策,对于自己经营的企业总是花样作死……

你经常会发现,你原来不看好的技术方向,突然间就赶上了风口,瞬间鸡犬升天,而你深入研究了很长时间的技术方向眼前却是个微利的行业……

这个时候,请你要保持良好的心态。你需要知道,这个世界,存在的就是合理的;你需要知道,这个社会,从宏观上来讲是公平的;你需要知道,这个世界上,吸引力法则和因果逻辑是起作用的;你需要知道,从成功学来讲,很有可能是彼之蜜糖、吾之毒药。

你需要做的是,从短期来讲,眼前的每一件事儿都尽最大的努力做好;从长期来讲,做你喜欢的事儿,并坚持下去。

其它的,交给时间。


8. 要有长远的规划,不要随波逐流

我所在的领域是IT行业中的一个细分领域,但是技术的发展仍然是快速而多变的。

比如世纪初的时候基于Windows的桌面开发正当盛世,VB和Delphi开发环境几乎一统天下;Web开发刚刚兴起,最流行的工具当属Microsoft ASP,那时PHP还提不上台面,Java的爆发正在酝酿;软件外包行业前景一片大好。

几年之后,CMM兴起,各大公司趋之若鹜;Dot Net生态起步;Borland帝国眼看就要被微软用钱砸垮;物流行业还是微利;Java的MVC框架开始兴起;

再接下来,敏捷开发初露端倪;Web开发席卷,桌面开发和CS模式逐渐没落;沉沦多年的互联网重新崛起;而手机方面,正是功能机帝国崩溃之前的盛世;

后面的情况,多数人就都比较熟悉了:移动互联网颠覆传统互联网;电子商务颠覆传统卖场;大数据技术崛起;3G & 4G的战争;前端开发框架的兴起;云计算、区块链、人工智能、容器、物联网、虚拟现实……各种新的概念层出不穷。

新的技术一波又一波的涌现,就好像植物大战僵尸。推而广之,整个IT行业更是如此。

每一波新的技术浪潮,都会有人乘风破浪,瞬间变成风口上的猪。但是你需要清醒的知道,真正能够顺风前行而且滑翔得更远的那一批人,其实都是在风起之前已经蛰伏了很长时间的人。

所以,在这里,给你的建议就是,不要被一波一波的风口晃花了眼;而是要对自己的职业生涯有一个相对长远的规划,然后坚持下去。


综上,说了不少,但是回顾一下却会发现都是没什么实际用处的“道理”。

这里,作为给题主的小小建议,也作为给自己的一个阶段性总结吧。

劳动只能获取报酬,经营才能得到利润。

这句话并不是说让程序员们立马辞职去开公司,而是说要有“经营”的意识。包括经营自己、经营自己与其他人的关系。

经营几乎是人的本能,这种意识在其他行业从业人群里常有,而年轻的程序员往往不常有,为什么?

路径依赖。

在刚毕业的年龄,在IT行业往往能获得比其他行业更高的收入,工作环境也还不错。而获得这些只需要一个看得过去的学历并掌握主流的技术就可以了,这往往会让程序员们产生“技术就是一切”的错觉,更容易对“经营”不感兴趣。

在社会上工作其实就和原始人打猎一样,既要捕获猎物,又要防止被猛兽干掉,所以一定要组队,这个队伍的成员不一定都是公司的同事(公司内部有时候甚至是对立方), 大家在同一个行业甚至不同行业里互通声气,相互支援。

中国的小县城里以血缘关系为纽带的人际关系就是这样一种模式,只是这样的地方IT往往不发达,而IT从业人员很多是大学毕业以后留在(或来到)大城市,除了同学之类几乎没有什么熟人,实际上处于毫无根基、孤立无援的境地。

程序员们工资往往不会低,但是基于996之类的原因,导致在工作以外几乎不认识什么人,唯一获取收入的方式是工资,长此以往不要说经营人际关系,女朋友找不找得到都是问题。在我观察过的一些软件公司里新生代程序员似乎不怎么注重和同事建立工作以外的伙伴关系,除了工作交流以外很少,认识最多的是程序员,最乐意沟通的是产品和技术问题...

十几年前以前有位前辈说过一句话——你要和那些优秀和努力的的人做朋友,而且要多认识不同专业、职业的人,未来他们会给你带来很多机会,十几年过去,的确如此!

远离小型互联网创业公司,别管工资有多诱人

亲身经历:

15年年中加入一家很典型的互联网创业公司,薪资高,加班多,小团队,有技术大牛带队,产品不错,工作氛围极好,办公环境高大上,那个时候真是股市最为疯狂的时候,全民皆股,用我朋友的话来说,随便买都赚钱。

那时候,已经有好几家风投想要投钱了,本身老板就是金融业出身,但是老板在市场形势一片大好的情况下,觉得前期估价太低,毕竟一开始靠个ppt,几张设计图,都有人愿意给300万,想进一步打磨产品,做点好看的数据出来拿更多融资,加上团队本身很给力,技术出身的总监人也相当不错,大家都是认真的想要做好一个产品的。

后来的事情,大家都知道了,股市跳水,全民收割,一切都让人措手不及,那个时候,我们这群技术宅尚未意识到,会对自己有什么影响,只是在休息时当随便闲聊的话题而已。

时间一下子到了年底,那个时候我们的产品已经相当完整,也有市场的推广人员开始进行推广营销,一切都按部就班,有条不紊,突然到了16年1月份,当月工资没有按时发放,我们询问技术总监,得到回复是:资金一时周转不灵,回推迟几天,我们当时没有没放在心里,然后就是2月、3月、4月、5月一直拖延,老板也没有跑路,只是不怎么在公司露面,一直在外会见各种风投,但是,此时,市场已经发生巨变,热钱几乎被股市洗劫一空,用我老板的话说,他的朋友,3亿直接变300万吧,风投异常谨慎,再也不是人傻钱多的时候了。

有人要问,为什么你们能坚持这么久,原因很多,第一:我们所有人都没有遇到过这种情况,我曾经soho过一段时间,自己接项目来做,就靠口头约定,也没有被拖欠过一毛钱,别人也都是工作过多年,完全不知道该怎么处理。第二、我们的技术总监人非常好,一直在帮我们与老板交涉,多次发生激烈争执,我们到后期基本上都是冲着他一路坚持。第三、对自己的东西有感情,不想就此放弃,毕竟一路加班过来,也算是付出了不少心血。第四、老板一直在开空头支票,而且也没有逃避,多次掏心掏肺与我们所有人解释目前公司的情况,并说已经在变卖自己的房产,但是需要时间,让我们在坚持下去。第五、我们对劳动法太过无知,以为最后走劳动仲裁,怎么样都能拿到钱,事实证明,做技术的人员,真的都是一群非常善良好忽悠甚至有点想法天真简单的人群,这也是我从这件事当中吸取的最大教训。

最后,到了16年6月中旬,我们这才意识到老板长久以来对我们的欺骗,到这个时候,我们已经被拖欠了近5个月的工资,而在这5个月期间,我们仍然每天在勤勤恳恳的加班,结合现在沸沸扬扬的996是不是有点讽刺。我们约定与老板最后摊牌,当然没有结果,有同事选择了报警,一群人被拉到了派出所,结果民警说,这事他们只能调解,管不了,之后,老板的无赖嘴脸彻底暴露出来,我与几个同事开始了漫长的仲裁道理,作为一个过来人,真是经历过这一切才会意识到自己之前是多么幼稚。

我们一进劳动仲裁处,还没有说明情况,负责接待我们的算是办公室主任吧,第一个问题就是,被拖欠了多少薪水,我答:5个月。对方一脸的不可思议,劈头就是一句:你们还都是高学历的本科生研究生,自我保护意识这么差吗,被拖欠了5个月工资才来仲裁,一个月的时候就应该来了啊!我当时居然被说的接不上话,脸蹭的一下通红(本人女生),然后就是漫长的记录过程,欠薪人员材料收集,结束。对,剩下的就是漫长的走内部处理流程,具体流程我就不一一列举了,总之就是听他说完我已经不想仲裁了。上法院?对不起,走完仲裁流程,双方协商无果,你才可以向法院起诉,可是,提起诉讼等法院排期到真正上厅,可能已经是3个月后了。这时,我们还没有放弃希望,找了若干律师咨询,都是很资深的专家级律师,当然也是朋友介绍的,一轮咨询完以后,我觉得我可以放弃了,为什么?首先,你要明白一个道理,劳动法绝对不是保护劳动者的存在,因为按上面的规定你根本拿不到钱。1、我们公司是有限责任公司,注册资本200万,如果200万用完(此时,我们公司已经存在了1.5年,按我们的工资水平,肯定是用完了,这些通过财务账目可以查到的)如果他申请破产,就不能追究法人或者股东的个人财产,而我们公司的股权比例是老板99%,老板的爸爸1%,被套路了吧,why?如果股权比例100%老板个人,那么就算是注册资金用完,可以无限追究其个人财产。那么破产后财产清算的钱,可以用来支付我们的拖欠工资,一个互联网有什么固定资产?办公场地,租的,固定资产:几台电脑,几张办公桌,几把椅子,你会要吗?反正我是不会要。

在经过了两个月的奔波后,我选择了放弃,首先,只要老板不跑路,法院或者仲裁大队传唤能及时到场,就可以一直拖着,一句话,没钱。你呢?你有那个时间精力一直跟他耗着吗?房贷要不要还?工作要不要找?一家大小要不要养?所以,我们一群人在坚持了两个多月以后,选择了解除合同,重新开始找工作的道路,这件事我只能当成自己职业生涯的一个巨大黑点牢记在心,时刻提醒自己绝不能重蹈覆辙。

在我已经遗忘了这件事情以后,去年大概七八月份,我居然接到了法院的电话,让我去进行调解,距离这件事过去经验1年多了,不得不佩服天朝的办事效率,然后,在约定的时间,我与之前还留在本地的同事以及外地的同事提供书面授权书一起去了法院进行调解,在去之前,我们还对结果抱有乐观态度,结果事实又会给你当头棒喝,接待我们的是一名法官,我的前任老板也姗姗来迟,在我看来过的挺好,甚至还发福了,我们一行人对法官老板对面而坐,首先法官就说了,这个案子已经宣判了,结果就是赔钱(废话),但是被告(前boss)明确表示愿意还钱,但是暂时没有(什么逻辑),今天喊我们来,是被告处于人道主义精神(what?)由法院牵头来协调处理,尽量帮我们争取多的利益,看我们能不能接受这个方案,如果今天协商没有结果,这个事情就结束了,也就是错过就啥也没有了!全程一副居高临下的态度,语气傲慢,好像被告是我们,而我前boss才是受害者。

说实话,我们大家当时有点懵圈,毕竟第一次遇到这种阵势,我提出要大家出去商量一下才能答复。接着我们大家到了外面的走廊,我的意见不要接受,这时前boss已经被列入失信人名单,我强烈怀疑是否我们大家同意签字他就会解除失信人,没过多久,法官走了出来,对我们说:我劝你们能拿多少就拿多少,法院这个时候是在帮你们争取最后可以拿到钱的机会,错过了就没有以后了,这种案子,拿不到钱的人多了去了,让我们不要犯傻(多好心啊!)

紧接着,我们又重新进入房间,我前boss拿出一张纸(所谓的赔偿方案),挨个说愿意付多少,轮到我,他说觉得我家条件最好,没有生活压力,意思是我不缺钱(我。。。)只给我5000。。。其他人最多1万。法官这时说,同意的人就签字拿钱,不同意的就直接走人,这件事就结束了。我当时直接就走了,其他同事也是。我们离开后大概过了半个小时,我又接到了法院的电话,说我的前boss愿意提高赔偿金额,大概是4折,我在征求了其他同事的意见后,选择了拒绝,然后我就再也没有接到法院相关的电话了。

写了这么多,为什么我要说这些,因为根据自己多年的工作经历,纯粹的技术人员,真的是一群想法单纯逆来顺受善良简单的人,这就是为什么996这种毒鸡汤都能喝的下去,对技术领域以外的世界、人性的险恶、社会现实都缺乏必要的认识,情商低的人大把。我这家公司的一个同事,大学刚刚毕业,这是他的第一份工作,就踩了这么大的一个雷,事后我和他聊过,我说,这对你来说是一件好事,起码以后不会再被套路,不会画个大饼给你,你就傻傻的为别人拼命。

至此以后,我对于互联网公司,尤其是早期的创业公司,一概敬而远之,你去面试的时候就会发现,一样的套路,一样的画个大饼给你,高薪,加班的套路也大同小异,为什么现在程序猿收入尤其是所谓的互联网公司,在这几年突飞猛进,像我说的这位前同事,他的第二份工作,也就是工作的第2.5年已经月薪15k了,坐标二线省会城市,说到底还是资本在作祟,卖个概念,运气好的,不停烧钱,几轮资本运作下来,高层套现跑路,你呢?继续在底层996,然后被裁员,一句话,你只是一个写代码的,永远只能被玩金融玩资本运作的套路。

个人意见:有条件有能力的还是应该去大厂镀个金,但是没必要久留,一句话,工作是为生活服务的,工作不能等于生活的全部。时刻保持危机感,因为现在技术更新实在是太快了,尤其是前段,看自己能不能快速的掌握一门全新的框架或者语言并且能投入生产,在我看来,解决问题的能力以及快速的学习能力是程序猿最需要的,技术面的精度和广度都要兼顾。数据库很重要很重要很重要。千万不要放弃编码,比如我,是真的喜欢写代码(非机械性的重复劳动),挑战新的知识,不喜欢重复以前的东西,如果可以,我愿意写一辈子代码。

针对程序员35岁就要被淘汰,我是绝不同意的,任何行业,处在金字塔尖的人都是稀缺且抢手的,所以持续不断的提升自己的能力,而不是安于常年只是在几个模块几个功能里不断的重复工作,年轻时不要过度的透支自己,因为有一天你也会老去,别人的今天也许就是你的明天,另外,最近软件行业从业人员水平太过参差不齐,造成总体行业水准下降,但是,泡沫终将褪去,自身的硬实力才是你最大的竞争力。

最后的最后,去年开始成为自由职业者,只想感叹一句,在我大天朝,果然只有抱紧政府大腿才是最为安逸的(适合全行业)

关于这个问题,可以从以下几方面来理解:


1. 入行第一个月、第一个季度、第一年的发力点

- 第一年需要有意识去学习、积累哪方面的知识和技能

- 如何从学生思维转变到职场思维

2. 进阶时期,如何培养核心能力

- 如何在新技术的萌芽期,快速发现其价值

- 如何在当前的工作中锻炼自己的思维能力,不被钝化

- 互联网行业风云变幻,如何搜集信息识别行业动向

- 如何利用较少的时间快速学习新技能

3. 技术人员需要应对的挑战有哪些

- 与新人相比,成熟的技术人员需要应对的问题是什么

- 技术 VS. 管理,未来应该如何选择

- 跳槽前,需要想清楚的几个问题


具体内容详见视频讲解~

https://www.zhihu.com/video/1134869360186388480
使用 App 查看完整内容

目前,该付费内容的完整版仅支持在 App 中查看

??App 内查看

关于这个问题,可以从以下几方面来理解:


1. 入行第一个月、第一个季度、第一年的发力点

- 第一年需要有意识去学习、积累哪方面的知识和技能

- 如何从学生思维转变到职场思维

2. 进阶时期,如何培养核心能力

- 如何在新技术的萌芽期,快速发现其价值

- 如何在当前的工作中锻炼自己的思维能力,不被钝化

- 互联网行业风云变幻,如何搜集信息识别行业动向

- 如何利用较少的时间快速学习新技能

3. 技术人员需要应对的挑战有哪些

- 与新人相比,成熟的技术人员需要应对的问题是什么

- 技术 VS. 管理,未来应该如何选择

- 跳槽前,需要想清楚的几个问题


具体内容详见视频讲解~

https://www.zhihu.com/video/1134869360186388480

1.年纪轻轻不是迫不得已,千万不要进传统公司的伪互联网项目。事儿少,福利好,混子多,和老油条们摸鱼一两年,哪天项目突然被裁掉了,再出社会,你完全没有竞争力。

2.进公司第一天,一定要跟同事们吃吃饭,主要是探探口风,了解下公司的财政状况。因为真的存在不少厚脸皮公司(包括所谓的集团),入职后,连第一个月的工资都发不出来,有甚者,还直接闹到劳动仲裁去了。所以公司有没有经常拖工资,一定要了解清楚,早走早轻松,免得白干几个月。

3.远离灰色行业,诸如网络赌博,网络贷款,网络传销,网络嘿咻小视频等行业,这些老板见人就洗脑,总结起来就是”熟行熟路没风险,海外操作贼保险,一碗金饭等你来,半年宝马乐开怀“,谁知最后,金饭都变成牢狱饭了,信不得信不得。

4.可以相信老板的大饼,但前提是你能强烈感觉到公司的整个组织冲劲十足,执行力极强,业绩发展迅猛,否则忽悠成份大一点。

5.莫要盲目迷信新技术,如区块链背后有分布式机制的缩影,人工智能是计算机+统计学+大数据的综合体现,所以只有扎实的计算机基础才能快速适应技术风口。

6.潜下心来,学好数据结构,设计模式,经典算法,计算机原理,Unix的内核原理,数据库和架构等等,这些东西永远不会过时的,九阳神功都会了 ,高级剑术入门神速,随便你玩,看你喜欢。

7.投资经久不衰的语言,如Java,有权威,跨平台,稳定性高,业务面广,社区活跃。后台,云端,安卓,物联网客户端,大数据,人工智能,都能见到它的身影,常年雄踞编程排行榜No.1。(虽然很想说,PHP天下第一哈哈。)

8.远离迷之技术优越感,我们的共同目标是让项目创造价值,服务用户。不是单纯的沉浸于某某技术方案多牛逼,如果没落到实处,有时候还真抵不过配合产品经理改一句能影响用户购买的文案。

9.学会合作,当今世界如此复杂多变,远非一人之力能够驾驭得了的。要有团队精神,要明白团队的力量是很强大的,绝不是1+1=2,而是1+1=11。

10.不要自视甚高,年轻就意味着需要成长,当下你死磕觉得对的事情,过两年,你可能会嘲笑以前的自己有多傻逼。

11.多做自我反省,像海绵一样吸收别人的优点,磨平自己的棱角。乘着年轻还是块泥巴,多用心把自己捏成心目中英雄的样子,老了风干成石块了,想捏也捏不动了。

12.最后说句虚的,做人要像大海学习,纳百川之激流,化万物之污秽。

望诸位前程似锦。


-------------------------------------

[补充点小细节的]

13.你得明白,你报的工期永远是不够用的,能报20天的绝对不报10天,因为指不定老板等会就跑到你旁边来一句“嘿~小李,这里帮我新增一个小功能,很简单的。”

14.不要轻易在工期上妥协,有一次就有二次有三次。要妥协就得砍需求,有多少公司的需求都是脑门子一热狂就加上去的,上线的结果都是凉凉了,所以你这是在做好事。

15.体谅小公司的产品经理,别老拿刀捅他,实在太惨了,你问我为什么,我没办法回答你,因为真的太惨了,人不如狗系列。

16.每月预留出几百块作为社交费用,多买几波喜茶联络联络同事间的感情,有了好印象,工作上有什么问题,都好商量,好解决。应验了中国那句老话“礼多人不怪”。

17.小步试错很保险,大步跃进有风险。在公司混得如鱼得水,不代表你出来单干就可以鱼跃龙门了,一个不小心就有可能水土不服窒息了。所以要有规划,先试水。

18.不要成为只会写“Hello World”的程序员,要积累自己的技术套装,力求能够快速从0到1构建整个项目,让自己具备担任技术负责人的能力,当机会来时,你才能牢牢抓住。

19.做技术,如果你是写后端的,那么你要适当的学一些前端的,反之亦然,不仅能大大提高合作效率,帮忙排除Bug。同时也能防坑,因为前后端技术人员互相忽悠是常有的事。

20.没能耐前,咱不去参合扯概念扯风口扯人生的事情,先学着把事情做好,务实才是硬道理。

希望对你有帮助。

----------------------------------

顺着网线,感谢朋友们的支持。

2013 年毕业加入微软,一直到现在,竟然已经有 6 年多的时间了。微软股价从我入职时候的 30 美元,涨到现在的接近 140 美元,市值重回全球第一。但我,从来没有忘记,比尔盖茨所说的话:“微软永远离破产只有18个月”。

  • 绝对不要有在一家公司待一辈子的想法。不论你在哪家公司,甚至像微软或是谷歌这样的大公司,你总会因为各种主观或客观的因素要主动或被迫地离开公司。也许,裁员就在明天,你做好准备了吗?
  • Plan B,Plan C,甚至保底方案。如果被裁员了,怎么办?你的技术栈和能力是否能让你在短期内找到一个满意的工作?如果不行的话,是否有保底方案?对于我来说,保底方案,至少可以回到高中当个计算机老师吧。23333
  • 技术多元化。多学,多看。比如说编程语言,建议掌握至少两门主流语言,对于其他语言或是技术栈也要有所涉猎。比如我,光 CI/CD 工具就用了不止五个了。嗯,其实我在微软还写过一年多的 PHP。
韩骏:谁才是世界上最好的 CI/CD 工具?
  • 时刻了解业界最新行情。平时多关注业界资讯,不要只局限于当前的工作内容。想想十多年前的诺基亚塞班系统的工程师?如果他们只局限于本职工作的内容,那结局可想而知。也许你并不想跳槽,但每年还是可以出去看看机会,了解最新的行情,也能更好地看清自己的定位,顺便还能去 Google 蹭个饭。23333
  • 做产品,不只是靠技术。技术是好产品的必要条件,但不是充分条件。作为一个开发者,我们往往会把大多数的时间放在实现上(也就是撸代码),但我认为一个好的产品是万万离不开设计、推广和维护这三个方面的。也正是因为意识到了设计、推广和维护的重要性,我才能打造出超过 800 万下载量的 Code Runner 插件。如果你100% 的时间都花在撸代码上,你的产品是没有灵魂的。
韩骏:[VSCode插件开发] 由浅入深,带你了解如何打造百万级产品
  • Soft skills。沟通能力、团队合作能力、解决问题的能力、演讲能力等等,都很重要。这不仅仅是在工作中,在生活中也很重要。我曾经也是个很羞涩的小朋友,但是通过 VS Code 的各项内容:写专栏、开知乎 Live、做演讲等等,很大程度上提升了 soft skills。
玩转VS Code韩骏:【线下活动】手把手教你玩转 VS Code 插件开发VS Code 从入门到进阶
  • 身体很重要。身体是革命的本钱。最近半年也在给公司做内推,已经成功内推了 11 位候选人拿到 Offer。内推成功的候选人蛮多都是在国内一线互联网公司:蚂蚁、阿里、头条、美团点评等。其中好几个来微软的原因,就是想 work–life balance 。最厉害的一位童鞋,在之前的公司是 10-12-6,具体我就不说是哪一家的哪一个部门了~ 身体不行了,钱再多,有何用?
  • 英语很重要。在外企的话,重要性就不用说了。不在外企的话,英语依旧重要。最新的技术文章、文档等等,很多都是英语的。

最后,我当然是希望微软继续好下去啦!欢迎大家找我内推~

韩骏:[内推] 微软 8 月最新热招职位(已经有 11 位候选人通过我的内推拿到 Offer)

责任编辑:
热门阅读排行
© 16货源网 1064879863