导读
This article is a retired programmer's reflection on his 40-year career, telling readers how to judge when it's time to leave a job, an industry, or even end a whole career. The core point is that we should be honest with ourselves about our abilities, interests and real needs, instead of being trapped by salary or inertia. It's really inspiring for anyone in a fast-changing industry, not just programmers: career is always our own, and we have the right to choose when to turn around.
这篇文章是一位退休程序员对40年职业经历的复盘,告诉读者如何判断什么时候该离开一份工作、一个行业,甚至结束整个职业生涯。核心观点是我们要对自己的能力、兴趣和真实需求保持诚实,不要被薪水或者惯性困住。不只是程序员,所有身处快速变化行业的人都能从中得到启发:职业永远是自己的,我们有权利选择什么时候转身。
I retired in 2021 at 63.5 after about four decades as a programmer. What made me do this was not failing ability in any way, but after a year of consideration, I realized I didn't care to do it anymore.
我2021年退休的时候63岁半,已经做了快40年的程序员。让我下定决心退休的从来不是能力跟不上,而是整整考虑了一年之后,我发现自己对这份工作真的没热情了。
Everyone will eventually reach a point at which they can no longer do what they spent their lives doing—but it's not just about retirement; it can happen at any time earlier as well. I've known people much younger than me who became obsolete due to their chosen technology going away or people who simply got tired of writing code or, more commonly, doing it as a job.
每个人早晚都会到一个节点,没办法再做自己做了一辈子的事——但这不只和退休有关,它可能在人生的任何阶段提前发生。我认识很多比我年轻得多的程序员,有的是因为自己深耕的技术被淘汰了跟不上,有的就是单纯写不动代码了,更多的是不想再把写代码当成一份工作来做。
当然不只是程序员,任何行业都是这样:运动员明明能力跟不上了还在硬撑,大多是为了多赚点钱;就连政客也会超过自己的能力上限还不肯退位,现在美国的两个总统候选人就是典型,明明不该参选了就是不肯退出。走不下去的原因有很多:能力跟不上、没了热情、行业大环境不好、技术被淘汰,或者是找到了其他更值得做的事,这些情况我这辈子都见过。
I knew a young programmer a decade ago who left his CS degree because he was making tons of money shipping mobile apps, he even wrote a book on it, started several companies. But he burned out and discovered he no longer cared, started a Jeep dealership, then started a land clearing business (riding bulldozers all day) and enjoyed all of that more, plus had more consistent success.
十年前我认识一个年轻程序员,当年靠着做移动应用赚了大钱,学都不上了,还专门出了相关的书,开了好几家公司。但后来他 burnout 了,发现自己对这行完全没兴趣了,转头去开了吉普经销商,后来又做了土地清理生意,整天开推土机,他反而觉得这些工作有意思多了,做得也更成功。
当年我读化学学位的时候,认识一个读计算机的人,他整个职业生涯都只写大型机系统代码。后来大型机被淘汰了,他又没学过其他技术,最后只能去做装网线的工作。我之前工作的地方有个团队,天天吹自己用的技术多厉害,是能生成RPG2的4GL工具,结果才过了一年,那个工具就被淘汰了,整个团队都失业了。有时候时代要抛弃你,连招呼都不会打。
You probably don't know any retired programmers—back in the early 80s, when I started, there was only a tiny percentage of programmers compared to today, and over the decades, many gave up, became managers, or became obsolete. So, not many remained writing code long enough to end their career still writing code. Among those who I knew that started when I did, all that remained forty years later were doing legacy work; I was the only one still working on the leading edge of things (in my case, iOS in Swift for a very large company). It's hard to sustain a career that long in an industry with insane amounts of change.
你们可能都没见过退休的程序员——我80年代初入行的时候,程序员的数量比现在少太多了,这么多年下来,很多人要么放弃了,要么转管理了,要么技术被淘汰了,很少有人能一直写代码写到职业生涯结束。和我同期入行的人里,四十年后还在做技术的,都在做遗留系统维护,只有我一个人还在做前沿技术,当时在一家大公司做Swift的iOS开发。在这个变化快到离谱的行业,能把职业生涯撑这么久真的很难。
所有读这篇文章的人,至少是程序员们,早晚都会因为上面说的某个原因,到做不动这份工作的节点。最关键的是要对自己诚实:你有没有跟上技术更新的速度,能不能继续胜任这份工作?这份工作还能让你觉得有意思吗,你有没有其他更想做的事?可能写代码已经不好玩了,也可能工作已经没有足够的挑战性了。我认识很多人明明觉得工作很空虚,但就是留恋高薪,一直做着无聊的工作。这当然是一种选择,但我永远接受不了这样的生活。
It's not only quitting programming that you might consider; the biggest reason to quit may be that your job is not worth doing and that you need to find another one. I've quit perfectly good jobs (and some terrible ones) because I did not find the work interesting, the direction terrible, or a hostile workplace. Naturally, some employers went out of business or laid people off, but I left those jobs involuntarily! A different kind of programming or a different industry could revive your interest. The key is still to be honest with yourself. I've known people who left a high-pressure, high-salary job, started a farm, or began a different career. It's not worth working and being miserable.
其实你未必非要离开编程这个行业,很多时候离职只是因为这份工作不值得做,你需要找一份新的而已。我辞掉过很多旁人眼里很好的工作,当然也有很烂的工作,要么是觉得工作没意思,要么是公司方向太离谱,要么是工作环境太糟心。当然也有过公司倒闭或者裁员的情况,那种是被动离职!换个编程方向,或者换个行业,可能就能重新点燃你的兴趣。核心还是要对自己诚实,我认识很多人放弃了高压高薪的工作,去开农场,或者转去完全不相关的行业。工作要是做得不开心,赚再多钱都不值得。
Some time ago, I knew a programmer with the same number of years of experience as me. Yet he seemed unable to comprehend what was required of him, and I had to review everything he wrote because it rarely worked; for example, he would copy and paste code but include extra lines that did nothing. I still have no idea how you can work for 30 years and be unable to do even simple things.
之前我认识一个和我工龄一样长的程序员,但他连基本的工作要求都理解不了,他写的所有代码我都要再审一遍,因为基本跑不起来,比如他复制粘贴代码的时候,会把很多没用的代码也粘进去。我到现在都想不通,怎么有人做了30年工作,连这么简单的事都做不好。
None of this says that you should discriminate against people simply due to their age. Age and ability are not correlated. I've known people older than me who were brilliant and some that were incapable, like the previous person. I've seen 20-year-olds who could write anything successfully and others who did not understand simple concepts. Thankfully, I saw little age discrimination besides a few interviews where the interviewer had that look on their face: "Oh no, an old guy." Especially in my last three employers (covering about a decade), each valued everything I did.
但我绝对不是在说要因为年龄歧视任何人,年龄和能力根本没关系。我认识比我年纪大的人,有的特别厉害,有的就和刚才说的那个程序员一样能力不行。我也见过20岁的年轻人,什么代码都能写得很好,也有的连简单的概念都理解不了。还好我基本没遇到过年龄歧视,只有几次面试的时候,面试官脸上会露出“天呐怎么来了个老头”的表情。尤其是我最后待的三家公司,前后差不多十年,都很认可我的工作。
When I announced my retirement (with three months' warning), my leaders were shocked. They couldn't comprehend why anyone would retire. One of them, whom I had worked for for two of those jobs and always made his life easier, never spoke to me again or even said goodbye. I still talk with some of my peers and team, and knowing how downhill the work has gone since (although the money got really good), I would have left anyway. I like making a difference and being challenged to do things and work that matters. Money is nice, but I liked making that difference.
我提前三个月通知公司我要退休的时候,领导们都特别震惊,他们想不通怎么会有人想退休。其中一个我跟了他两份工作、一直帮他解决了很多麻烦的领导,之后再也没和我说过话,连再见都没说。我现在还和以前的同事、团队有联系,知道我走之后工作变得越来越糟,虽然薪资涨了很多,但就算让我再选一次我还是会走。我喜欢做有价值的事,喜欢接受有挑战的、有意义的工作。钱当然好,但创造价值的感觉对我来说更重要。
Everyone eventually reaches a point where a job, an employer, an industry, or even their entire career ends. It feels better to be honest and make an informed decision rather than discover you are falling behind and possibly being forced out. It feels better to leave a bad job instead of hanging on until your hair falls out, even if the next job is equally terrible (我也经历过这种情况). Your career is yours; it's up to you to make the most of it, even if you end it.
每个人早晚都会遇到这样的节点:一份工作做不下去了,一个公司待不下去了,一个行业走不通了,甚至整个职业生涯都要结束了。与其等到自己跟不上,最后被淘汰出局,不如诚实面对自己,主动做出理智的决定,这样会舒服得多。离开一份糟糕的工作,比硬撑到头发都掉光要好得多,哪怕下一份工作也一样烂,我自己也经历过这种情况。你的职业是你自己的,你要自己把它过到最好,哪怕是选择结束它。
I still write code every day in support of my personal projects. The code is much more complex than anything I did previously, and much of it does not have anyone else doing it, so it's a lot of invention, which is fun. While I miss certain aspects of my final job, I don't miss the eternal pressure, long hours, bad executive decision-making, and endless changes. I do miss being a leader and seeing things we wrote being used by our many customers.
我现在每天还是会为自己的个人项目写代码,这些代码比我之前工作里写的任何代码都要复杂,而且很多都没人做过,所以需要大量的创新,特别有意思。我虽然会怀念之前工作的部分内容,但我一点都不想念无穷无尽的压力、加班、高管的蠢决策,还有没完没了的变动。我确实怀念当团队领导的感觉,也怀念看到我们写的东西被很多用户使用的成就感。
Programming can be a fun career, a horrible nightmare, or something in between, and it never stands still. I enjoyed the good parts, tolerated the bad, and switched technologies, industries, and employers often enough to keep it going for four decades. That's long enough.
编程这份工作,可以很有意思,也可以是可怕的噩梦,或者介于两者之间,而且它永远在变化。我享受过它好的部分,也忍受过糟糕的部分,经常换技术方向、换行业、换公司,才撑了四十年。这已经足够久了。









