很长一段时间以来,不少媒体都热衷于炒作 35 岁或者说大龄程序员危机相关的话题,大意就是程序员吃“青春饭”,过了 35 岁要是没有走上管理岗,就失去了竞争力,整个职业生涯也就没什么发展空间了。
真的是这样吗?不一定。
人们总爱给一个群体贴上标签,这很正常,毕竟人们处理信息的能力有限,常常会通过捷径和一些特定规则来了解别人、认识世界,这也就是所谓的“最省力规则”,其中贴标签就是一个非常有效的手段。
但是,“35 岁程序员”这个标签实在是太宽泛了,只用年龄就定义了一个群体,很不负责啊。不同能力、不同背景、不同经历、不同性格的程序员们,只是因为处在同一个年龄段,就被划在了一个标签下,被媒体反复咀嚼编排,实在是有点过分了。
打个比方,你要做一个用户画像系统,在制定标签维度的时候,除了年龄,你肯定还要考虑性别、地域、消费特征、兴趣偏好、行为偏好等其他维度,对不对?
那为什么程序员就可以简单的用一个 35 岁或者大龄的标签来概括了呢?没有道理嘛~ 毕竟,35 岁的程序员,有年薪 20 万的,也有年薪百万的;有还在写业务代码的,也有已经当上 CTO 或 CEO 的,这差别可大了去了。
我之前看到过一个观点是这么说的,年龄只是世俗上的定义,并不能代表你的能力。每个人的经历、能力和态度不同,只看年龄的增长,是无法完全反映出你从流逝的时间中获得的回报的。
可能有些人写了两三年代码,就能获得其他人五年的成长。也有些人可能写了十年八年代码,但他的后面五年基本没有成长,还在用自己刚入行前几年积累的技术能力来应付日常工作,这种真的可以说是“数年如一日”,年龄的增长没有带来相应的成长,反而浪费了宝贵的青春。
那么,该焦虑的是 35 岁程序员吗?并不是,该焦虑的那些写着增删改查代码,应付着日常工作,不做思考,没有提升的程序员,不论什么年纪。
之前,有位十年前的老同事问我,好久不跳槽,不知道现在的市场行情怎么样了?面试的时候,我该和人家要多少薪水合适呢?我想了想说,20 万到 40 万吧。他听完显然很失望,啊,这么点啊,别人毕业几年就能挣这么多呢,我都工作十多年了。我听了沉默不语,过了许久说道,谈的时候你也可以尝试多要点嘛。然后就挂断了电话。
那个同事我还是有一点了解的,基本上是把工作当做吃饭的工具,缺乏乐趣和激情,代码写了很多年,但只问收获不去耕耘,属于干了十年还是只有一年经验的那种。心中不甘寂寞,能力却乏善可陈。
那么,你是这样的程序员吗?如果不是,以后看到类似的话题,完全可以当没看见。如果很不幸,你恰好被戳中了几个点,那就需要好好反思一下,并做出一些改变了,而不是焦虑个三小时,发发牢骚,然后就又回到原本的工作节奏中去。
之前,InfoQ 报道过一位 83 岁的高龄开发者若宫雅子,报道中对她的描述是这样的,“若宫雅子 60 岁那年退休,随后买下了人生的第一台电脑,开始了解操作系统、安装软件、设置网络连接并组装电脑,因为这之中的很多问题没办法解决,若宫雅子学会了通过网络聊天求助其他网友。”
很简单的一段描述,但可以明显的从中看出,若宫雅子有好奇心、有求知欲、始终保持学习,同时又积极实践、愿意交流,等等,这些都是一个优秀程序员必须具备的特质。后来,81 岁的若宫雅子开始自学 Swift,并在 83 岁成为全球年龄比较大的独立开发者。
国内也有不少类似的案例,比如宁波大学 52 岁的宿管大爷陈恭清自学编程开发了一套宿舍管理系统,还设置了双重密码防止信息泄露,宁波大学还准备将这套方法推广到全校使用;郑州的冯怀云老人退休后自学编程,并尝试自己编写小程序,用短短三天时间就开发出了一款“地铁问路”应用。
你看,年龄从来不是问题,连 60、70 岁的老年人都能保持思考,保持学习,并取得成就,你有什么理由说不呢?
你可能会说,那是因为她退休了有时间啊,我天天被老板压榨着加班,写各种重复代码,各种增删改查,哪有时间去学习和思考啊。或者说,写代码就是我的一个谋生工具,我就想下班后舒舒服服的看看球赛、打打游戏,怎么就不行呢?
是,程序员大都很忙碌,我也一样,但是,并没有我们想象中那么忙。除了项目攻坚期,或者产品上线前,那是真真正正的忙到抽出不时间来。其他时候呢?大家可以计算一下自己的有效工作时间,有多少是在看似忙碌的表象下浪费了时间呢?
大部分人都是心里明白,只是不用动脑子的日子实在是太舒服了,不想干什么,总会找到一个看似合理的理由,然后就顺着这个台阶走下去了。
但是,没人能保证你的未来,也没有公司能让你干一辈子。人始终是孤独的,能为我们未来负责的始终是自己。在工作的前几年,趁着精力充沛,大伙对年轻人也比较宽容,给机会,你应该把自己的经历打磨成经验,培养自己分析和解决问题的能力,并把事情做成。
把事情做成,比什么都重要。之前看到的一个月薪 5 万的程序员标准是这样写的:给定任务,就能发现困难在哪儿,知道如何解决这些困难,并能立刻设计方案后开始执行。这就是持续把事情做成的能力,你不妨评估一下自己要花几年才能达到这个标准。
刻意练习加上思考,打造属于自己的思维方法和知识体系,就相当于你在不断的升级自己的操作系统,理论上,年龄越大,你的操作系统会越高级,越智能,你也就拥有了独特的竞争力。
那时候不管你身后有多少优秀的年轻程序员,你也不会焦虑,因为你们的能力根本不在一个竞争维度上。通俗的说,就是你负责找到解决问题的方案,他们负责执行并解决问题。
InfoQ 的主编川哥之前写过一句话,“目前很多程序员都是所谓的‘体力向导型’的定位,这当然是吃青春饭,若是程序员能做到以技术为向导型,那自然与青春饭无关,这就要求程序员自己能为此做出努力。”
不论在哪个行业,需要的都是有能力又敬业的人,其他行业的人到了 35 岁也不能混日子啊。