【何志丹】蹉跎半生,不知道是否能过45岁的坎

我2003年毕业于湖北大学(统招一本)教育技术学专业,教师转码。读大学的时候CSDN传言:"程序员干不过30岁",后来又传言"程序员干不37岁",我感觉"本科37岁是小坎,专科30岁是小坎。45岁是大坎"。我2014考了软件的软件架构师,轻松过了小坎,我快40岁时,旧同事至少一半已经转行。现在我已经45岁了,大坎已经来临,不知道如何应对?

一,技术还是业务

工作后是选择技术,还是业务?不同的人有不同的选择,选择无所谓对错,只有合适不合适。绝大部人选择的是业务,见效快。缺点是过于依赖某个行业或公司。我选择的是技术,非常的艰辛。大致过过程如下:

一,6个月出可以运行的产品,所有功能基本完成。

二,又6个月根据上司、测试部门、售后部门的要求反复修改。这个阶段,我期望尽可能短,以降低市场风险,但公司往往不让。

三,又6个月上线第一个项目,摸着石头过河。

四,又6个月上线第二三项目,验证可能遇到的问题。

五,上线大量项目,这时有没有我,都无所谓。

除创业的4年外,我的工作经历可以分为如下几类:

只工作半年 是把问题搞砸了或者问题没解决了。把人治死了和治疗无效,病人自然死亡本质是一样。
工作一年 是软件已经完成,可供用户试用。但市场的原因产品失败了。
工作两年 是问题基本解决,但公司的经济压力变大。
工作三年 是问题基本解决,公司的资金充足。我自己无聊。
工作七年 是因为我无关紧要。

感觉:社保交得越高,越容易干得久。

二,个人技能

核心能力

预知开发风险的能力明显强于同行:一,入职的公司多,主导、参与、协助更多成功及失败的案例。周泰满身是伤,是历史;赵云全身无伤,是演义。二,勇于挑战。

精通架构设计:2014年考取软件的《软件架构师》并实践多年。

通用算法:最近力扣周赛62名。

编程语言:精通C++,熟练C#。

halcon:4.6年的工作经验,opcv,学习了3个月。

CAD二次开发(ObjectArx):5年多。

CSDN网KOL,3万粉丝。

雪球KOC(关键消费者),国家对股民的定位是金融消费者。

拙作《深入浅出 Visual C 入门 进阶与应用实例》邮电出版社,首印5000本,第二次印刷2000本。

工作经历

20年来,中山极点三维在我入职前被索菲亚收购外,其它公司都是新三板级别。独立核算的公司、分公司、事业部不超过200人。往往一百人以内。从考上架构师起,工作经历分为两部分:

一, 2016年6到2021年9月。我独立负责一个产品的软件部分,不断提高软件质量,和其他程序员几乎没交集。

二,2021年9月至今。先通用产品,再群策群力,集思广益,迭代产品。然后在一个项目谨慎上线。另外两个项目,正常上线。注意 :迭代的单位不一定是一个产品,也可以是包、模块、类。比如:那个定位C++崩溃的小模块,只有几个类。开发只用了2天,迭代了小半年。

在超音速验证了如下技术:

一,C#,C++混合编程是可行的。只会C#不会halcon的毕业生是可以完成界面层和数据层的任务的。这两点使得如下战术可行:找熟悉C#毕业生,磨合一年后才让接触部分易懂的算法。一年未离职,说明公司和员工性情相合,一年也有足够的时间建立了一定的感情。大幅减少带公司的技术或业务离职的可能性。

二,"看门狗"技术,大幅增强软件健壮性。避免崩溃,且能获取引起崩溃的图片及参数配置。容易崩溃的代码封装到核心exe,主exe启动3个核心exe,核心exe超时或崩溃后,主exe杀死残存进场,并启动一个核心exe。主exe和核心exe通过内存映射文件和管道通信。

三,利用内存映射文件共享图像,新旧版本同时运行比对效果,等新软件的效果明显好于旧版后,抛弃旧版。此技术,同事负责,我协助与跟进。

在威华验证了如下技术:

一,算法可视化编辑器,竞争不过VS。故对售后的要求远高于对程序员的要求,市面上根本没有这么厉害的售后。

二,验证了合理的框架支援下,制定后协议后,算法工程师、项目程序员、售后可以同步工作,互相不影响。

三,验证了售后在算法工程师的基础上工作,可以大幅减轻售后的工作量。

现在就业行情很差

一,之前微信加了很多猎头,前几天沟通发现他们很多都转行了。二,新猎头对加微信的热情降低了很多。马上45岁,不知道今年的坎能过否?

三,45岁的坎

以下全部是我的想法,还在摸索中,很可能是错误的,欢迎大家斧正。

以下方法很可能能过45岁的坎

一,在45岁前存钱,同时摸索出保值甚至增值的手段。只适合未婚未育。结婚后就很难存钱,你可以节约,但你老婆和小孩不会。

二,自己创业,或加入创业团队获取期权。这个胜率太低,风险太大。自己开公司,不会丢工作,但公司会倒闭。皮之不存,毛将焉附。

三,技术合伙人,商务合伙人,每人带一两个助手,公司总员工数\\le 5,利用低沟通成本赚点辛苦钱。

四,自带资源且是老板的硬需求。同样是网红,有利于招聘,一定劣于有利于融资。行情好的时候更需要招人;行情差的时候,更需要融资。辞退往往发生在行情差的时候。

以下方法很可能过不了45岁的坎

一,转管理层。现代智人的邓巴数是150,故百人团队只有老大是必须的。其他CTO、副总、总监、经理等只是用起来顺手,不是必须的。那些很稳定的管理层,往往是小股东。如果有10%的股东,你就是当保安,也不会被辞退。

二,士官(干活的主力、组长)同时拥有1%的股份。不会被辞退,但大股东会说:"公司目前有困难,股东不发工资,发点生活费。我也是如此。"如果你拳头没有大股东硬,这不是好选择。

年龄大,意味着先天不足

一,我转到镇小时,8:30开始上课,当时感觉非常早,也就是村小很可能9:30开始上课。

二,上大学前,没接触过电脑和网络。这个十分影响效率。

三,毕业后,移动网络才普及。所以家长和老师无法实时沟通。

退居二线,收入锐减

到二线城市再苟五年。

网上上课。

平时:写些小软件赚钱或接小活赚钱或入职外包公司。行情好的时候,去上班。MSMVP魏总给我讲过一件事:他有个哥们是东北人,900亩地,收割的时候,全家老小跟着机器捡土豆,能捡多少捡多少。这充分说明行情好的时候,老人也有价值。春运的时候,经常看到年龄很大或很小的列车员,估计是退休返聘人员和未毕业学生。之前很反感外包公司,现在不了。据说华为od招了很多985本。

非权贵能进的行业,程序员已经很好了。就算退居二线,收入也不一定低于其它行业的一线,所以好好珍惜吧。

一代人有一代人的宿命,老了就退居二线,再来就退休。岁月不饶人。

《骆驼祥子》

《骆驼祥子》中北平的人力车夫,40岁就退居二线了。"到瓜市,果市,菜市,去拉货物,都是他们;钱少,可是无须快跑呢。"

四,一点想法

机器视觉架构师的价值

一个软件架构师只研究软件技术,不投入精力到业务、硬件上,几乎不投入精力到管理上。那他在软件上的投入是一般机器视觉工程师的3到4倍。复读9年的人,高中12年;不复读的人,高中3年。某考生,首次高考,不到本科线;复读9年后,考上985大学。

那能否让机器视觉工程师的软件水平接近纯软件的软件工程师呢?我努力多年,发现这是行不通的。要想让机器视觉工程师的软件水平接近软件工程师,需要机器视觉工程师从"项目思维"转为"产品思维"。这将带来严重后果:测试、市场、领导的思维仍然是项目思维,沟通成本剧增,得不尝试。如果付出惨重代价将公司文化、制度转成产品文化、制度,则因为和客户文化不匹配,而被市场淘汰。

机器视觉产品化的难点,几乎都在外部,故很难解决:一,机器视觉是按项目付费,不是按产品付费。所以用户基本上会提各类个性化需求。这大大提高了产品化的难度。"聪明的"食客为了避免餐馆用预制菜,要求不加盐。客户往往也有程序员,所以不缺聪明人。二,客户大部分是工厂,正式上线后更新要走流程。如果下面的人不通融,一个流程基本一周。你的更新,必须有利于客户一线人员,他们才会通融。三,正式生产后,如果引起客户停工。客户会开罚单的,虽然绝大部分情况最终是道歉,但大幅消耗了客户的耐心。为了避免类似情况,最终决定权一定给一线程序员。产品化大大增加了这个风险。所以一线程序员很抵触。

实践可行的解决方案:一,能产品化的部分子系统、组件、模块产品化。二,不能产品化但相似的软件单位,提供多个"零件"供项目程序员选择。三,每个经济周期(5到7年),将主要项目重构一遍,反复修改直到接收的项目程序员能理解,并在此基础上根据项目调整。这样可以保证软件水平和较优秀的软件公司软件水平差距在5年内。

用户的欲望是无限

满足用户一个付费需求后,一定会有更多的付费需求。所以更高的效率可以满足更多的付费需求,同时激活更多的潜在的需求。C++的经典类库boost就是反面例子,功能强大,但可理解性差。光我知道的例子,就有两个。一,十余年前,有个小公司主力程序员离职,他在csdn的bbs发帖,他走后公司会倒。小公司的薪资,很难找到熟悉boost得人员。二,我本科同学接手了一个项目,前任使用了大量的boost。他费劲脑汁花了三个月,理请脉络,准备大干一场。项目被砍,他被裁员,用户很少有耐心等3个月。

老板不需要知道什么是硬件,什么是软件,什么是C++、c#、混合编程。一定知道那些团队赚钱,那些团队亏钱? 扩大赚钱的团队,消减甚至裁掉亏钱的团队,天理使然。拖延进度也许能多拿几个月的饭碗,但对整个行业的利益是大的损害。

关于发论文

共识:发论文远优于刷题。但我们没有导师,发论文成本高得可怕。导师是有传承的,他不但有自己摸索的知识,发文技巧,圈子。还有从他的导师那继承的知识、技巧、圈子。

打孔纸带与汇编

很早以前,程序员靠打卡纸带输入,运行程序要排队等待。经常等待一天后,得到"编译错误"的反馈。我读书的时候需要学汇编语言,考高级程序员(现在软考的软件设计师)有一道大题是汇编。高级语言代替汇编的优势没AI编程的优势大,瞬时编译相对等待一天的优势一定大于AI编程的优势。这两个变革大大增加程序员的实力和数量。AI可能会淘汰IDE(集成开发环境),但不会淘汰程序员,反而需要更多程序员。IDE被淘汰是微软的事,和程序员没关系。

技术好不一定好找工作

有一篇论文总结过这样一种现象,智商超过130的人,只能和智商100以上的人交流。对他们而言,有一半的人将沟通不畅。

如果面试官是士官和管理层。如果面试官和求职者的技术能力相差两个档次,也很难沟通。随便举几个例子:一,下面两个方案谁优谁劣?尽可能暴露问题好早解决,尽量隐藏问题避免用户发现。二,我写某谷等级4(普及+)的题解,尽可能的详细,等级3的题解则简单得多,等级二得题目则一句话带过。等级二水平的网友,无法凭我一句话知道我是真会,还是瞎蒙。

如果面试官是协调者或老板(包括独立核算的老大)。他不懂技术细节,所以更看重学历、证书、排名、同行背书、第三方背书。三,看问题的层次不同,关注点完全不同。保险丝总烧,是机器启动、关闭时电压不稳,电压不稳是因为机器缺少润滑油。至少有三个方法:a,勤换保险丝。b,增加稳压器。c,给机器润滑油。

IT业是一个好行业

我刚上班时,听老同事说以前的事情:"软件公司几个人几台电脑,就可以赚钱,太爽了,应该交高税"。我工作时,国家对软件业有大量补贴,因为软件业太容易转移到国外。

网上遍地年薪50万:我深表怀疑

我在公司招人的时候,顺便看了看月薪2.5万的简历中是否有5年工作经验的985本科,发现很多。筛选条件改成月薪四万,发现一个牛人,清北本硕,在阿里巴巴搞了十余年人工智能,管理层至少5年。

五,最后悔的两件事

没读硕

十年前,我考虑过读硕。当时年薪30余万,读三年硕的机会成本是100万,遂作罢。我可以不存钱,但不能不负责家庭费用。现在看来,读硕可以大幅延长职业寿命,很划算。和读硕的同学聊过,他们要么本科毕业就读硕,要么本科毕业几年内读硕。郑教授告诉我,他们基本上不会招收40岁以上的硕士。我经常建议年轻的本科生读硕。读硕没多大用,但不读硕就被淘汰。时代抛弃你时,连一声招呼都不会打。

我采取的补救措施是疯狂刷力扣、洛谷三年。2023年,上半年,刷力扣中等难度的题;下半年复习。2024年,上半年刷力扣难度分2400及以下困难题;下半年复习已刷的困难题。2025年,上半年,刷了洛谷普及加及以上难度的题500;下半年除了复习,还将力扣2400到2600困难题刷一遍。计划2025年,刷500道省选减及更难的题目,并复习已做题目,查看未做题目。

目标一:2026年初,能根据halcon项目的实际情况对核心算子进行性能优化。

目标二:2027年中(末),能够开始批量刷省选的题目。这意味着可以进入比较厉害的硕士圈子。省选题,可以过滤掉绝大部分本科生。本科生不经过大量刻意练习,连题目都看不懂。

我1999年读的大学,1998年毕业的中专生包分配工作。现在的985本科也不包分配。不到10年中专生就被大学生淘汰了。非全日制硕似乎没用。

没进大公司

环境决定收入上限,李斯2000年就明白了,我3年前才明白。现在年龄大了,更难进入大厂了。我疯狂刷题,试图挤进牛人圈,是为了"捡垃圾"。牛人看不上的小收益,会撑死我的。

六,结言

欢迎推荐职位。

完成于:2025年9月