为什么我不想要 30 岁以上的程序员?
人们常说,程序员到35岁就不行了,我对这句话非常不认同,因为在我看来,很多程序员还没过30岁,我就已经看不到他们的未来了。
当然,我对 30 岁以上的程序员并没有偏见,我身边就有许多三四十岁的技术大牛和卓越的技术管理者,我欣赏他们并努力从他们身上学习我所不具备的习惯和技能,但是每当我在面试的时候遇到 30 岁以上的程序员,我就会慎重的考察他们的方方面面,结果也往往很难令我满意,在那些被淘汰的程序员中,我发现他们往往拥有以下三个特点。
一,他们在工作中拥有无法改变的坏习惯
踏入职场的头几年往往是养成良好工作习惯的最关键阶段,但并不是每个人从一开始就拥有培养好的工作习惯的意识,也并非每个人都能在刚毕业的时候进入一个好的团队,遇见一个好的上级或导师,可以通过耳濡目染的方式被动的学习到好的工作习惯,所以一旦他们养成不好的工作习惯,而且从来不反思不改进,那么他就像一个十年没重构过代码的软件系统,到处充满着匪夷所思的逻辑和冥顽不化的 BUG,而你又很难像引导年轻人一样去引导他。
他们往往不做工作计划,遇到问题不追根究底,他会告诉你,「我又不是搞底层开发的,为什么要去深究底层的原因呢?」当你质疑他的代码逻辑是否正确时,他会像看怪物一样的看着你,然后蹦出一句话来,「别人都是这么写的啊?」,好像一切都是那么的理所应当。他们在复盘中从来只会吐槽别人的问题而看不到自己的,更谈不上如何改进。圣人说,「静坐常思己过」,连圣人都这么重视自我反思这件事,更何况我们这些平常人呢。
二,他们拒绝学习
作为一个新兴行业,互联网行业的技术半衰期相当短暂,任何一门技术在5年后都会发生翻天覆地的变化,有的甚至会销声匿迹。塞班 7 年崩塌,jquery 10 年走下神坛,别的行业努力学习是为了站在行业顶端,而互联网的技术人努力学习可能仅仅是为了不被淘汰,相比建筑,律师,以及其他一些历史悠久,已经渡过初期爆发式增长的行业,程序猿在技能的积累效率上是远远落后的,因为在互联网行业,超过一半的技术你可能再也不会使用第二次,你对他们的学习和使用最后可能会成为屠龙之术。而当你把全部的时间花费在半衰期短暂的技术上,对商业,产品,沟通,管理方面的汲取就会显得尤其不足,渐渐的你会变成一个只会写代码的技术人,这就是高薪资的互联网行业对技术人员的禁锢。如果你恰巧不是一个上进的人,因为拿到其他行业拿不到的薪资沾沾自喜,固步自封,等你人到中年,被那些勤奋好学的年轻人取代,那时候就是你的死期了。
高薪资的背后是血的代价和花团锦簇的陷阱,如果你不能持续学习,10 年后你会发现,以前的同学中,苦 B 的医生崛起了,他们成为了名利双收的医学教授,下海经商的创业者崛起了,他们已经身经百战,融资无数。当年的小破公务员也已经成长为*要员,同学聚会时大家举杯碰盏,却独独无人敬你。为什么他们在成长而你却日渐落魄呢?因为世间万物都是平等的,互联网行业并不比其他行业美好,它的高薪资要依靠卓绝的努力来维持,而如果你一旦停止前进的步伐,掉进花团锦簇的陷阱,轻松的岁月总要用血的代价来偿还。
三,他们没有信仰
我非常欣赏房地产行业早会的做法,他们聚集在一起,在大庭广众之下跳舞唱歌喊口号,以此来放下自身的姿态,提升自己的自信心,根植成功的信仰和工作习惯。很多人可能会对这种传销式的激励方式嗤之以鼻,当然,因为行业受教育水平的不同,这种方式可能并不适合复制到其他行业。但是我们需要透过现象看本质,这种激励方式虽然稍显极端,但是在房地产这个特定行业,它的目标是正确的,效果是惊人的,如果一个方法的效果好?它用这种方法帮助人根植了自信甚至信仰,而对生活和工作麻木不仁的你,又凭什么嘲笑它呢?
心理学有一个很经典的理论叫「自证预言」,什么意思呢?是指人会不自觉的按已知的预言来行事,最终令预言发生。举个例子,很多人数学学不好,问其原因时,他会告诉你他天生不是学数学的料,如果他自己都这么想,无论他实际多聪明,都会令这个「不是学数学的料」的预言成真,最终真的泯然众人。这是心理学的一个很重要的理论,也是传销式激励方法用到的核心理论,只不过很多企业会把这种理论包装的更加高级和容易接受一些。但无论他的外表是肮脏还是华丽,我们都应该透过现象,去看到本质上这是一个很好的理论。如果马云不相信互联网能改变世界,那么阿里巴巴也不会有今天,如果乔布斯不相信智能手机能改变世界,那可能我们现在还在使用塞班系统,他们都是在有清晰认知的基础上,给自己根植一个近乎执拗的信仰。如果自己都不相信,那么又如何做到呢?
如果你是一名程序员,恰巧看到这篇文章,又恰巧拥有许多不切实际的理想,希望你放下自己的不自信,从现在开始给自己根植信仰,相信你只要持续不断的努力,这个预言最终会自证,如果连你自己都不相信,你又凭什么让他们相信,又凭借什么力量做到呢?
所以,文章题目其实有点危言耸听和哗众取宠,我并非不喜欢30岁以上的程序员,我只是不喜欢那些自以为是固步自封的所谓有经验的程序员,他们总在说别人的代码是一坨 shit ,需要重构,但鲜少有人能重构自己的认知系统和思维系统,他本身就是一台年久失修的机器,缺乏自我审视和检查的能力,所以程序员的危机并非是从30或者35岁开始,如果停止学习和自我反思,危机是从一开始就注定了的。
我会定期更新一些技术/学习/管理上的真知灼见,欢迎大家关注我的微信公众号「写诗的程序员」,公众号回复「MBA」免费获取价值「199元」清华管理学课程。
上一篇: 如何破解自证预言的魔咒
下一篇: 阿里云的这些疯子
推荐阅读
-
35 岁实现财务*,腾讯程序员手握2300万提前退休?-1000万房产、1000万腾讯股票、加上300万的现金,一共2300万的财产。有网友算了一笔账,假设1000万的房产用于自住,剩下1300万资产按照平均税后20-50万不等进行计算,大约花上26-60年左右的时间才能赚到这笔钱。也就是说,普通人可能奋斗一辈子,才能赚到这笔钱。在很多人还在为中年危机而惶惶不可终日的时候,有的人的35岁,就已经安全着陆,试问哪个打工人不羡慕?但问题是有这样财富积累必然有像样的实力做靠山。没有人可以不劳而获。 看到这里,肯定有人说,那么对于普通人来说,卷可能真就成了唯一的出路。但是卷也有轻松的卷,“偷懒”的卷法,对于程序员而言,刨除掉一时无法改掉的开会传统占用的大部分时间,如何把有限的时间和精力放在真正重要的架构设计、需求设计上,而不是重复的造*,编码、改bug、手动测试。因此在科技改变生活的今天,学会使用AI工具成为程序员们的必备技能。 以全栈式全自动的软件开发工具飞算SoFlu软件机器人为例,作为全球首款面向微服务架构设计和最佳实践的软件机器人,SoFlu软件机器人改变了原来手工编码的作业模式,通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。 而作为飞算SoFlu软件机器人的一个重要组成部分,FuncGPT(慧函数)支持所有类型函数创建。通过自然语言描述Java函数需求,实时生成高质量、高可读性的Java函数代码。生成代码可直接复制到IDEA,或一键导入Java全自动开发工具函数库。 FuncGPT(慧函数)具有五大核心能力: ● 自然语言:通过自然语言即可生成函数,降低软件开发门槛。 ● 秒级函数开发:全自动秒级开发函数,秒级完成,效率千倍提升。 ● 一站式函数开发应用:函数生成即可直接应用,效率、安全有保障。 ● 质量可靠:生成的函数代码符合业界规范、具备良好的可读性,符合最优解。 ● 灵活生成:可以根据开发人员的具体需求生成并支持调整和修改。 以“将文件流转换为File对象”这个需求为例,以下是FuncGPT(慧函数)秒级生成的代码: / 类名:FileConverter // 函数名:convertStreamToFile // 函数功能:将文件流转换为File对象 // POM依赖包:无 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class FileConverter { /** * 将文件流转换为File对象 * @param inputStream 文件流 * @param filePath 文件路径 * @param fileName 文件名 * @return 转换后的File对象 * @throws IOException 如果发生I/O异常 */ public static File convertStreamToFile(InputStream inputStream, String filePath, String fileName) throws IOException { File file = new File(filePath + File.separator + fileName); // 创建File对象 try (FileOutputStream outputStream = new FileOutputStream(file)) { // 创建文件输出流 byte buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { // 从文件流读取数据并写入文件 outputStream.write(buffer, 0, bytesRead); } } return file; // 返回转换后的File对象 } } // 函数示例 // 将文件流转换为File对象示例 // 入参:inputStream,文件流 // 入参:filePath,文件路径 // 入参:fileName,文件名 // 出参:file,转换后的File对象 // 调用示例: // InputStream inputStream = new FileInputStream("example.txt"); // String filePath = "C:\\Users\\User\\Documents"; // String fileName = "example.txt"; // File file = FileConverter.convertStreamToFile(inputStream, filePath, fileName); // System.out.println(file.getAbsolutePath); // 输出结果:例如,将文件流转换为File对象后,文件的绝对路径为:C:\Users\User\Documents\example.txt // 则输出结果为:C:\Users\User\Documents\example.txt 通过分析,不难发现以上代码:
-
aps是什么意思_不同的富士APS-C画幅微单区别在哪里,档次是怎么划分的?-X-A系列原本指的是富士的入门级微单,最大的特点是没有使用富士X-Trans™CMOS 传感器,目前在售的有两款,分别是XA5和XA7。 富士(FUJIFILM)X-A5/XA5 15-45套机 富士(FUJIFILM)X-A7/XA7 15-45套机 目前这两款相机都处于历史最低价附近,XA5套机2699元,XA7套机3999元。XA5就是一个标准的入门级相机,定位就是时尚小巧自拍,在2699这个价位不要对它的性能有太多的奢求。 XA7价格来到了3999元,这就很有意思了,富士把入门型的相机价格推到了4000元,并且提供了自拍翻转屏和4K30P视频录制,这样一款相机就很有性价比了。 XE3是老款的中端相机,价格和入门级的XA7是一样的,都是3999元,这两款相机如何做选择呢?XE3有着更多的按键意味着更好的操控,但屏幕不是自拍翻转屏所以这点不如XA7好用。 要注意的是XE3用的是富士独有的X-Trans™CMOS III传感器,XA7是普通的2400万像素传感器,你可以理解为X-Trans才是富士的精髓。 富士(FUJIFILM)X-E3 15-45套机 当然,买新不买旧,XA7的新功能和自拍翻转屏可能会更适合你。 XT200是富士专门针对vlog市场推出的相机,其实之前的XA7也可以拍摄vlog,但XT200是富士官方宣传中的第一款vlog相机。数码防抖+3.5mm 麦克风口+自拍翻转屏+无裁切4K30P,这些都是XT200的优势,但这款相机也是普通的2400万像素传感器,没有用富士独有的X-Trans,可能是从价格角度考虑做了阉割吧。 富士(FUJIFILM)X-T200/XT200 微单相机 Vlog相机 富士XT30是我认为富士性价比最高的微单照相机,注意我说的是照相机。理由很简单,因为从拍照角度来看XT30和XTXT3几乎没有明显差距,主要是操控差了一些、视频性能大幅削弱,但好歹也是个有着双波轮+曝光补偿波轮+快门速度波轮的相机,操控方面不会太差的。视频方面也有着超采4K 30P的规格,支持F-log输出。 可以这么说,如果你只拍照,那么XT30是富士微单中性价比最高的,视频方面XT30也不差,只不过没有专业的10bit和4K60P而已。 富士(FUJIFILM)X-T30/XT30 15-45套机 XT3和XT4得放在一起说,这两款相机其实都挺好,420 10bit 4K60P的专业视频模式基本代表了APS-C画幅的上限水平。XT4还提升了电池续航增加了五轴防抖,配上富士独特的胶片滤镜,不管是拍照还是拍视频都非常优秀。 不要觉得这两款相机贵,同价位里能做到4K60P的微单也就是M43画幅的GGHGH5S,最便宜的G9机身也要7000多,这APS-C画幅的XT3机身接近8000也算合理价格范围内。除此之外的4K60P机身只有13998的松下S5和15999的佳能R6了。 富士(FUJIFILM)X-T3/XT3 1855套机 富士(FUJIFILM)X-T4/XT4 微单相机 套机(18-55mm) B站更新4K视频投稿后有很多人想拍摄4K升格,在很长一段时间里富士XT3和XT4是最优选,毕竟兼顾视频和拍照,对焦也还算能用。 X-Pro3和X-Pro2这两款微单可以算是旁轴相机,是富士官方意义上的旗舰级相机。从用料做工操控按键角度来说的确是旗舰级别,但视频性能方面只有4K30P,价格却比XT3还贵,可能这就是旁轴情怀带来的溢价吧。 富士(FUJIFILM)X-Pro3 微单相机 机身 黑色 我在之前的文章里提过很多次,有一些相机属于如果你想买你压根不会看测评,如果你犹豫那么这款相机不适合你,为什么这么说,因为有一些比较小众的相机可能在性能上并不好,但独特的外形、操控、体积、传承赋予了它独特的定位。譬如富士X-Pro系列微单就是旁轴的电子化,理光GR传承大师的扫街理念,尼康DF的外形源自胶片时代的相机,这些相机就不是针对大多数消费者的,定位就是小众。所以我说喜欢就买,不要考虑什么性能规格。 X100系列相机是一款不可换镜头的等效35mm旁轴数码相机,从外形看就是经典的复古造型。这两款相机和X-Pro3一样,如果你喜欢那就买,别犹豫, 你在市场上找不到同类型的其他数码相机,徕卡Q是28mm,索尼RX1R系列是35mm但外形不够复古,X100系列就是独特的你没有其他选择。 那么X100F和X100V该如何选择呢?X100F的镜头很一般甚至算不上好,如果我没记错的话和初代的X100是同款镜头,X100V的镜头是全新制作的很棒,X100V的机身性能也和XTX-Pro3差不多。 富士(FUJIFILM)X100F 数码相机 旁轴 2430万像素 富士(FUJIFILM)X100V 数码相机 旁轴 2610万像素 还是那句话,这两款相机也是那种如果你喜欢那就毫不犹豫下单的类型,而且这两款相机也没有竞品。 以前不推荐富士的原因是原厂镜头太贵,现在唯卓仕给富士出了四款可以自动对焦的大光圈镜头,覆盖35到130mm的焦段,可以基本满足人像摄影爱好者的需求。拍风景的话国产很多镜头厂商都有富士卡口的手动镜头可以选择,从这个角度来说富士微单就非常值得入手了。 和友商竞品相比:
-
为什么我不想要 30 岁以上的程序员?
-
卷积的意义--我见过最生动易懂的解释--就是在图像处理中,将两组分辨率不同的图像进行卷积处理,从而形成易于处理的平滑图像。卷积甚至可以用在考试作弊中,为了让照片中的两个人同时像,只要对两个人的图像进行卷积处理就可以了,这是一种平滑处理,但我们如何才能真正把这个公式与实际建立一种联系,也就是说我们能不能从生活中找到一个很方便具体的例子来表达这个公式的物理意义呢? 有一个七品县令,喜欢打骂无赖,并有一个惯例:只要不犯大罪,只打一顿就放他回家,以示爱民如子。 有一种无赖,想扬名立万却又不抱多大希望,心想:既然扬不了好名,出了臭名也成啊。怎样才能出恶名呢?炒作!怎么炒作?找名人!他自然而然地想到了自己的长官--县令。 无赖于是在光天化日之下,站在县衙门口撒了泡尿,后果可想而知,自然是被请进堂上挨了板子,然后昂首挺胸地回家,躺了一天,哎!身体并无大碍!第二天照样如此,全然不顾行政长管的仁慈和衙门的尊严,第三天、第四天 ......每天去县衙领板子回来,还兴高采烈,坚持了一个月之久!这个无赖的名声像衙门口的臭气一样传遍了八方! 县太爷噤了噤鼻子,愣愣地望着惊堂木案,皱了皱眉头,思考着一个问题:这三十块大木板怎么会不好用呢?......想想也是,当年这位大人金榜题名的时候,我数学考了满分,所以这道题至少今天得解出来: --人(系统!)会怎么样(系统!)之后会怎么样(输出!)人(系统!)被打之后会怎么样? --有什么用,很疼! --我问的是:会发生什么? --取决于有多疼。就像这个无赖的体质,每天挨一板什么事都不会发生,连哼哼两声都不行,你看他那得意洋洋的样子(输出 0);如果一次连打他十板,他可能会皱着眉头,咬着牙,硬是不哼一声(输出 1);打到二十板,他会疼得脸都变形了,像猪一样哼哼唧唧(输出 3);打到三十板,他可能会像驴一样嚎叫,一把鼻涕一把泪,求你饶他一命(输出 5);打到四十板,他会大小便失禁,勉强哼哼(输出 1);打到五十板,他连哼哼都不能哼一下(输出 0)--死! 县官摊开坐标纸,绘制了一条以挨打次数为 X 轴、哼唱程度(输出)为 Y 轴的曲线: --"呜呼!这条曲线就像一座山,想不通,想不通。为什么那个无赖被打了三十天也不喊救命? --哦,你打的时间间隔(Δτ=24小时)太长了,这样无赖一天承受的痛苦程度,没有叠加,始终是个常数;如果缩短时间间隔(建议Δτ=0。5 秒),那么他的疼痛程度就可以迅速叠加;等到无赖挨了三十下(t=30)时,疼痛程度已经达到他叫喊能力的极限,就会收到最好的惩戒效果,再多挨几下也不会手下留情。 --还是不太明白,为什么疼痛程度会在小时间间隔内叠加? --这跟人(线性时变系统)对木板(脉冲、输入、激发)的反应有关。什么是响应?人收到板子后,疼痛的感觉会在一天内(假设,因人而异)慢慢消失(衰减),而不是突然消失。这样,只要中风的时间间隔较小,每次中风造成的疼痛就没有时间完全衰减,都会对最终的疼痛程度产生不同的影响: t 块大板造成的疼痛程度 = Σ(第 τ 块大板造成的疼痛程度 * 衰减系数)[衰减系数是 (t - τ) 的函数,请仔细品味] 数学表达式为:y(t) = ∫T(τ)H(t-τ)