软件开发在35-40岁之后真的是没有前途的工作吗(一)
2022-07-28 龟兔赛跑 8394
正文翻译

Is software development really a dead-end job after age 35-40?

软件开发在35-40岁之后真的是没有前途的工作吗?

评论翻译
Steven Ussery
I am a 65-year-old software engineer who has worked for Apple, Adobe, eBay, Microsoft, VMware, Cisco, FileMaker, XO Communications, 2Wire, Egnyte, Nexsan, and two other start-ups. I have been laid off five times in my career. I always find another job within 3 to 4 weeks — even during a recession. I have had my job outsourced to India or China four times: especially in the last eight years. Nonetheless, there is always another employment opportunity waiting afterwards.
I love what I do. I’m still doing it; and, I have no immediate plans to stop doing it. Moreover, I am good at it. That’s not so much because I am a genius but rather because I have been doing software development for a really long time and I learned from my mistakes. In fact, there is no wide-spread computer language I can’t program in. Nor is there any OS platform I am not comfortable working on. And, besides the U.S., I have also worked overseas in Apple’s factories in China and Ireland. Besides English, I’ve learned to speak (poorly) Spanish and Italian, and I can manage about a ten phrases in Mandarin.
I have managed to do all this while successfully being married for 40 years, raised two adult children (one who is a Netflix software engineer), and I now have five grandchildren. According to the last Social Security report I receive annually from the government, my total lifetime income to date is: $3,042,040;

我是一名65岁的软件工程师,曾为苹果、Adobe、eBay、微软、VMware、思科、FileMaker、XO Communications、2Wire、Egnyte、Nexsan和其他两家初创公司工作。在我的职业生涯中,我被解雇了五次。不过我总是在3到4周内找到另一份工作——即使是在经济衰退期间也是如此。我曾四次将工作外包给印度或中国:尤其是在过去八年里。尽管如此,之后总会有另一个就业机会等着我。
我喜欢我做的事,我仍在做;而且,我没有立即停止此类工作的计划。而且,我很擅长。这并不是因为我是天才,而是因为我从事软件开发已经很长时间了,我从错误中吸取了教训。事实上,没有一种广泛传播的计算机语言是我不能编写程序的。也没有任何操作系统平台让我为其工作时会感到不适应。而且,除了美国,我还曾在中国和爱尔兰的苹果工厂工作。除了英语,我还学会了西班牙语和意大利语(说得不好),我能用普通话说大约10个短语。
我成功地做到了这一切,同时成功地维持婚姻40年,养育了两个子女到成年(其中一个是Netflix软件工程师),现在我有五个孙子。根据我每年从政府收到的最后一份社会保障报告,到目前为止,我至今取得的收入总额是:3,042,040美元。
原创翻译:龙腾网 http://www.ltaaa.cn 转载请注明出处


Having said all this, it is very much true that age discrimination and outsourcing is rampant in the Silicon Valley. Before age 45, I had a better than average chance of getting a job after a single interview. Now, at age 64, it takes me about ten interviews before I get the next job. Even then I sometimes have to work as a contractor without benefits. And, I have even learned to tolerate being interviewed by arrogant and entitled young preppies, most whom think they are somehow better than me even though they haven’t accomplished one tenth of what I have, nor have my superb academic credentials. (I have a B.S. in Civil Engineering and a M.S. in Computer Science from Texas A&M University — the latter at the top of my class.)
So, the answer to your question is: NO, software development is most certainly not a dead end job! It is a great job. Does it get tougher to get your next job as you get older? Oh hell yes. But, so what! If you love it as I do nothing but death or poor health can stop you. All it takes is a determination.
Never give up!

说了这么多,年龄歧视和外包在硅谷很普遍,这是千真万确的。在45岁之前,我在一次面试后获得工作的机会高于平均水平。现在,在我64岁的时候,在我得到下一份工作之前,我需要大约十次面试。即使这样,我有时也不得不做一个没有福利的承包商。我甚至学会了容忍那些傲慢自大、自命不凡的年轻预科生们面试我,他们中的大多数人认为他们在某种程度上比我优秀,尽管他们所取得的成就还不到我的十分之一,学历也没有我耀眼。(我拥有德州农工大学的土木工程学士学位和计算机科学硕士学位,读后者时的成绩在我的班上名列前茅。)
所以,你的问题的答案是:不,软件开发肯定不是一份没有出路的工作!这是一份很棒的工作。随着年龄的增长,找到下一份工作会变得更难吗?哦,见鬼,是的。但是,那又怎样!如果你像我一样爱它,只有死亡或健康不佳可以阻止你—只要有决心。
永不放弃!
原创翻译:龙腾网 http://www.ltaaa.cn 转载请注明出处


Connor Stricklan
A software developer I know recently got a call from a recruiter at Google, asking what it would take for him to come to work for them.
This developer had actually already worked for Google, but he left about five years ago to pursue other projects, and he didn’t want to live in one of the cities that have a Google office. Even though he didn’t have a degree in computer science and never took a college course in OOP, he must have impressed them enough to keep him on the recruitment list these years later. The recruiter suggested maybe he could be interested in interviewing with the Project Loon team in Singapore.
He gave a little chuckle to the recruiter over the phone, and his first question was: You know how old I am, right? The recruiter confirmed that yes, his date of birth was on file, and that Google didn’t factor age into its recruitment policies. The developer agreed to think about the prospect and they agreed to touch base again in a week.
That 66-year-old developer is my father. He is collecting social security while being courted by Google. He had a fulfilling career running his own company, consulting, and being an employee. He made contributions during the early stages of numerous technologies such as TCP networking, USB protocols, 802.11b implementation, and military GPS. Then he was hired by Google in 2008, when he was 58.
While at Google, he wrote software in Java, a language that wasn’t even invented until he was 45. And he was an individual contributor, without having any other engineer report to him.
One of the great things about software development is it’s all about your passion to learn and ability to perform, which is demonstrated by my dad’s career and the careers of thousands others. If you don’t have those required ingredients, then sure, software development is a dead-end job at any age. But if you have the passion and skill, then it is not a dead-end job after 40, 50, or even 60.

我认识的一位软件开发人员最近接到谷歌招聘人员的电话,询问他需要什么条件才能为他们工作。
这位开发者实际上已经为谷歌工作过,但他在大约五年前离开了谷歌,开始从事其他项目,他不想住在一个有谷歌办公室的城市。尽管他没有计算机科学学位,也从未上过面向对象编程的大学课程,但他一定给他们留下了深刻的印象,以至于多年后他仍在招募名单上。招聘人员表示他可能有兴趣与新加坡的龙计划团队进行面试。
他在电话里咯咯地笑了笑,第一个问题是:你知道我多大了吧?招聘人员证实,知道,他的出生日期已存档,谷歌没有将年龄因素纳入其招聘政策。开发商同意考虑前景,他们同意在一周内再次联系。
那个66岁的开发者是我的父亲。他一边领取社会保障,一边被谷歌追捧。他有一个充实的职业生涯,经营自己的公司,提供咨询,并成为一名员工。他在许多技术的早期阶段做出了贡献,如TCP网络、USB协议、802.11b实现和军用GPS。2008年,58岁的他被谷歌聘用。
在谷歌工作期间,他用Java编写软件,Java是一种直到他45岁时才发明出的语言。他是一名独立贡献者,没有任何其他工程师向他报告。
软件开发的伟大之处之一就是你对学习的热情和执行的能力,我父亲的职业生涯和成千上万其他人的职业生涯都证明了这一点。如果你没有这些必要的素质,那么软件开发在任何年龄都是一分没有出路的工作。但是如果你有激情和技能,那么在40岁、50岁甚至60岁之后,这都不是一份没有出路的工作。

Corwyn B
I am in my early 60s, and I have worked in operating systems development my entire career, and for some high profile companies. I have a long track record.
On principle, I do not accept job offers from places where I do not like the product, the company vision, or the general vibe. I tend to stay at a place of employment until it goes seriously bad. The longest sojourn was about 14 years at one place that was peculiarly interesting until a series of high-level management mistakes brought the company to its knees and prompted me to go elsewhere.
I have been successful at all the places where I have worked, but when I went out into the job market again in January ‘18, it was a very eye-opening experience.
The first thing I learned was that people didn’t read the resumes closely. I stated explicitly what I had worked on and what I was interested in working on, but people saw that I had worked in a storage division at one point, and were asking me about being an HBA driver grunt. I know something about such software, and have even helped people debug them, but HBA driver expertise is a very specific skill that people specialize in, and I did not anywhere sell myself as an HBA driver developer. In fact, although in my career I have developed various device drivers (probably more than 20), it’s not something I much enjoy.
The second problem was the quiz show method of uation: go to the white board and code up this problem. I can code on the fly — I do it for a living — but I am accustomed to design something carefully first before coding. I had to learn to jump in and just wing it to cope with these sorts of lame quiz show questions.

我今年60出头,在我的整个职业生涯中都在从事操作系统开发,并为一些知名公司工作。我有很长的工作记录。
原则上,我不接受这类工作:我不喜欢产品、我不喜欢的公司愿景或氛围一般的地方。我倾向于待在一个工作的地方,直到它变得非常糟糕。我在一个特别有趣的地方呆了14年,直到一系列高层管理失误导致公司倒闭,促使我去了其他地方。
我在所有工作过的地方都取得了成功,但当我在2018年1月再次进入就业市场时,那是一次非常令人大开眼界的经历。
我了解到的第一件事是人们没有仔细阅读简历。我明确地说了我在做什么,我对做什么感兴趣,但人们看到我曾在一个存储部门工作过,并问我做HBA驱动的事我对这类软件有所了解,甚至帮助人们调试它们,但是HBA(适配器)驱动程序专业知识是人们专门从事的一种非常具体的技能,而且我并没有把自己标榜为HBA驱动程序开发人员。事实上,虽然在我的职业生涯中,我开发了各种设备驱动程序(可能超过20个),但这并不是我很喜欢的东西。
第二个问题是展示了评价方法的小测验:走到白板上编写这个问题。我可以随时编写代码——我以编写代码为生——但我习惯于在编写代码之前先仔细设计一些东西。 我必须学会投入并即兴发挥来应对展示问题的幼稚测验。

The quiz show questions are often not very interesting or applicable to the sort of work you do, or will do. But the examiner knows that particular area, and he’s all eager to check you out.
Another feature is what I call the immature interviewer problem. This occurs sometimes with younger interviewers whose view of themselves does not permit them to admit that someone knows as much or more than they do about a topic. They will play games to try to demonstrate their assumed superiority. You learn to cope with them by going along with their attitude, even if it seems absurd.
Generally, highly experienced engineers who are skilled at designing and building systems tend to shine in the high level systems design tests that companies subject you to.
When you get a bunch of 20–30-somethings asking you to code, you’re rarely going to please them. This is very different from my own method when I hired people at a previous job — one guy I hired who had just got his doctorate in CS admitted to me that he did not think he was all that skilled at programming in C. I told him that I cared more if he could think and design, and I was satisfied about that, because I would make sure he knew C thoroughly before he was done.
I do not think the sextion processes at all these companies are entirely effective, but that is what they do. They optimize to sext a certain type of employee who best fits the profile of a relatively recent graduate.

小测验的问题通常不是很有趣,也不适用于你正在做或将要做的工作。但是主考人知道这个特定的领域,他迫不及待地想了解你。
另一个特点是我称之为不成熟的面试官问题。这种情况有时会发生在年轻的面试官身上,他们对自己的看法不允许他们承认别人在某个话题上的了解程度和他们一样或者比他们知道的更多。他们会玩游戏来展示自己的优越感。你通过顺从他们的态度来学会应对他们,即使这看起来很荒谬。
一般来说,经验丰富、擅长设计和构建系统的工程师往往会在公司让你参加的高级系统设计测试中脱颖而出。
当一群二三十岁的人要求你编写代码时,你很难让他们满意。这与我在之前的工作中雇佣人时的方法非常不同——我雇佣的一个刚刚获得CS博士学位的人向我承认,他不认为自己在C语言编程方面不够熟练。我告诉他,如果他能思考和设计,我会更留意他,我对此感到满意,因为我可以确保他在完成之前彻底了解C语言编程。
我不认为所有这些公司的甄选过程都是完全有效的,但他们就是这么做的。他们优化选择特定类型的员工,这些人最符合刚毕业不久的人的特征。

I went through the interview process at about 7 places. I was fortunate and did well enough in more than one that I got to choose my offer. But I came away convinced that certain large, self-important companies were planting the seeds of their own problems in future and made the decision to keep my distance.
You can find a job when you are over 60. Finding a job at 35–40 is easy by comparison. You just need to have the goods. But when you are REALLY experienced, they will look at you very closely and critically. Finding an entry-level job is impossible. You need to have a diverse skillset by the time you hit 40, and it’s not just being a coder.
Now the question: does being in software development after a certain age have a future?
I am no longer sure. What constitutes software development will continue to evolve, and the hot areas will change. But this profession is notorious for using people up by working them very hard. People get tired of it and move into other areas, or they get promoted and do not need to code every day, or they move into management or marketing or product support. If I were talking to a young engineer of 22 now, I would caution him to get what he wants out of the experience as much as he can, but keep his head up and look around. What you see today is not what you will see in 20 years. Definitely not in 40 years. Can you plan a career where it’s uncertain how your job will evolve and develop? This is very difficult. I did not think of this at all when I was in school.

我在大约7个地方完成了面试过程。我很幸运,在不止在一处工作之地把工作完成的很好。但当我离开时,我确信某些自大的大公司正在为他们未来的问题埋下种子,所以我决定与他们保持距离。
在60岁过后,你都可以找到工作。相比之下,在35-40岁找工作很容易。你只要有货就行了。但当你真正有经验时,他们会非常仔细地、批判地观察你。找一份初级工作是不可能的。在你40岁的时候,你需要拥有多样化的技能,而不仅仅是成为一名程序员
现在的问题是:在一定年龄后从事软件开发有前途吗?
对此我不再确定,构成软件开发的要素将继续演变,热点领域将发生变化。但这个职业因让人们拼命工作消耗他们的精力而臭名昭著。人们厌倦了它,转而从事其他领域,或者他们得到提升,不需要每天编写代码,或者他们转向管理、营销或产品支持部门。如果我现在和一位22岁的年轻工程师交谈,我会提醒他尽可能多地从经验中获得他想要的东西,但要抬起头来四处看看。你今天看到的不会是20年后看到的样子,肯定不会是40年后的样子。你能在不确定工作发展方向的情况下规划职业生涯吗?这非常困难。我在学校的时候根本没有想到这一点。

Ian Drake
If you are talking about commercial development (e.g. Google, Facebook), there may be some truth to that.
However, the vast majority of software developers work in corporate environments of all sizes building custom applications for internal usage. In this case, the following can extend your career indefinitely. I am 64 and still going strong.
Don’t get stuck in a rut. Be ready and willing to switch applications and/or platforms relatively frequently. People who are recognized as single talented are the easiest to outsource
Be responsible for your own development. Successful developers are constantly understanding industry directions as well as changes in internal architectures. The best training course in the world is never more than a brief intro and road map. Past that point you have to get your hands dirty with real world scenarios and a ton of web searches
Provide extra value to your employer #1. Be prepared to mentor more junior staff and leverage your experience to build new approaches. Be willing to do “Lunch and Learn” type demos for a wider audience
Provide extra value to your employer #2. High end developers are constantly building reusable frxworks and architectures that enable other staff to complete their assignments quickly and reliably. Once a reusable component is tested and deployed, no further testing of that component should be required and bugs, by definition, should more often than not be in the new code
Become more business focused. Pure coders will cap out on learning very quickly and find it hard to compete. Someone who understands the business of their company (manufacturing, insurance, finance etc.) as well as the role of their end-user department (sales, customer service, legal etc.) is incredibly valuable

如果你谈论的是商业开发(例如谷歌、脸书),这可能有一些道理。
然而,绝大多数软件开发人员在各种规模的公司环境中工作,构建用于内部使用的定制应用程序。在这种情况下,以下几点可以无限期地延长你的职业生涯。我64岁了,仍然很受欢迎。
不要墨守成规。准备并愿意相对频繁地切换应用程序和/或平台。被认为是单一人才的人的工作最容易被外包。
对自己的发展负责。成功的开发人员不断了解行业方向以及内部架构的变化。世界上最好的培训课程就是简短的介绍和路线图。过了这个阶段,你就得亲身体验真实世界的场景和进行大量的网络搜索工作。
为你的雇主提供额外的价值:
1、准备好指导更多的初级员工,并利用你的经验建立新的方法。愿意为更广泛的受众做“午餐和学习”类型的演示。
2、高端开发人员不断构建可重用的框架和架构,使其他员工能够快速可靠地完成任务。一旦测试和部署了可重用组件,就不需要对该组件进行进一步的测试,根据定义,错误应该更多地出现在新代码中
变得更专注于业务。纯粹的程序员学习速度很快,别人会发现很难与竞争。了解公司业务(制造、保险、财务等)终端用户部门(销售、客户服务、法律等)角色的人是非常有价值的。

Andrew McGregor
For me, a 56 year old software developer, it was 50 not 40 that was the cutoff. When I was 40 the company I was working for went bankrupt and I was looking for work. I applied to about 10 companies, got 8 interviews and multiple offers.
At 50, I was applying to jobs and there was virtually no response. After 20 applications - nothing. I ended up working with a headhunter who said “You’re old but you’re still pretty with it.” and I ended up with a couple of offers and took one. 5 years later it’s all but impossible so I’m working with a couple of startups for little to no salary. Fortunately I’m financially secure so it’s not a problem.
My observation is that most 35–45 year old developers transition to another area within high tech such as:
management
product management (deciding what to build next)
sales
sales support
customer support (for big/critical systems)
(note that these jobs are not generally open to new grads)
Most of these roles are good to 55+, but pure development jobs are hard to get later in your career. I think a bit part of that is that at 30 or 40 you will improve as a developer as you understand the product and company faster than you will degrade with age. Past 50 most developers will get so much weaker each year that it is a losing proposition to hire them (similar to pro athletes).
Overall I’m happy with how my career went, but the last few years have been frustrating. I’m now settling into partial retirement and I’m ready for that now (and I wasn’t ready for that 5 years ago).

对我这个56岁的软件开发人员来说,50岁是底线而40岁不是。我40岁的时候,我工作的公司破产了,我正在找工作。我申请了大约10家公司,得到了8次面试和多份工作机会。
50岁时,我正在申请工作,但几乎没有得到任何回应。20次申请后,什么结果都没有。我最后和一个猎头合作,他说:“你虽然老了,但你还是很漂亮。”最后我收到了几份邀请,我选择了其中一个。5年后,这几乎是不可能的,所以我进入几家初创公司工作,薪水很少,甚至没有。幸运的是,我有经济保障,所以这不是问题。
根据我的观察,大多数35-45岁的开发者会转向其他高科技领域,例如:
经营
产品管理(决定下一步要构建什么)
销售
销售支持
客户支持(针对大型/关键系统)
(请注意,这些工作通常不对应届毕业生开放)
这些角色大多适合55岁以上的人,但在你的职业生涯后期很难再有纯粹的开发工作。我认为其中的一部分原因是,在30岁或40岁时,作为一名开发人员,你会因为更快地了解产品和公司而进步,但此能力会随着年龄的增长而退化。超过50岁的大多数开发者将会变得越来越虚弱,此时雇佣他们(类似于职业运动员)是一件亏本生意。
总的来说,我对自己的职业生涯感到满意,但过去几年的情况令人沮丧。我现在已经准备好半退休了(5年前我还没有准备好)。

Mike Thomas
I wouldn't say that there's no future in it. It's just that the future is a bit different than when you're in your 20s. I'm currently 53 years old, and I'm still a software developer. I make a very good living, and I still enjoy my job. I always say it's like being paid to have a hobby.
I currently work in a small company where the youngest person is over 40. We are all developers. But we're also all architects, and DevOps guys, and testers, and project managers, and leaders to a greater or lesser extent. We've been doing it long enough that we've had to do just about everything In our careers.
Once you're older, you've seen a LOT of projects succeed and fail, and you've done it in a lot of different types of places with different types of technologies and processes. This gives you a perspective on the software industry that younger people generally don't have.
Here's where that different future comes in: the challenge for a very experienced developer is to find companies that value the perspective provided by experience. So, the available jobs are more scarce and provide less variety for very experienced people.

我不会说它没有未来。只是未来情况与你20多岁时有些不同。我现在53岁,还是一名软件开发人员。我的生活很好,我仍然喜欢我的工作。我总是说这就像还有人付钱让做你爱好做的事情一样。
我目前在一家小公司工作,,最年轻的员工超过40岁。我们都是开发者。但我们也都是架构师、开发运维人员、测试人员、项目经理,或多或少都是领导者。我们干这行已经够久了,在我们的职业生涯中,我们几乎做了所有的事情。
一旦你长大了,你会看到很多项目的成功和失败,你会在很多不同类型的地方用不同类型的技术和流程来完成工作。这给你一个关于软件行业的视角,这是年轻人通常不具备的。
这就是未来的不同之处:对于经验丰富的开发者来说,他们所面临的挑战是找到重视经验所提供的观点的公司。因此,可供选择的工作更加稀缺,为经验丰富的人提供的多样性也更少。

Paolo Tozzo
I'm 43 (turning 44 in October), and three years ago I moved from Italy, where I had my own start-up, to London, where I worked as a permanent employee for the 1st year, and for the following two as a contractor, doubling my salary and the opportunities to have fun.
Even though I had a lot of chances to increase my daily rate even more, I was sick and tired of the big city so I've now moved to Malaga, Spain, where after 18 years of career I find myself currently working on the most interesting projects I've ever worked (I didn't honestly think it'd happen), in a company that pays me almost the same as London's but with one third of the cost of life (enjoying also a far better lifestyle and weather btw).
Note that I'm still coding, not doing any management or leading position (my team lead is two years younger than me). While here I'm already getting offers from the few companies with offices in this small (at least compared to London) city. If you consider also the high unemployment rate of Spain, especially the region of Andalusia, it is remarkable how by doing this job you can basically reinvent yourself everywhere and in every way.
So, don't worry, software engineering is not a dead end career.

我今年43岁(10月44岁),三年前,我从意大利搬到伦敦,在那里,在那里我有了自己的公司,在那里我第一年作为正式员工工作,接下来的两年我是合同工,薪水翻了一番,而且享受乐趣的机会。
尽管我有很多机会进一步提高我的单日工资金额,但我对大城市感到厌倦,所以我搬到了现在所在的西班牙的马拉加,在那里工作了18年后,我发现自己目前正在做着我工作过的最有趣的项目(我真的没想到会发生这种事),这儿薪水几乎和在伦敦的薪水一样多,但生活成本却只有伦敦的三分之一(顺便说一句,我还享受着更好的生活方式和天气)。
请注意,我仍然在编码,没有担任任何管理或领导职务(我的团队领导比我年轻两岁)。在这里,我已经收到了几家在这个小城市(至少与伦敦相比)设有办事处的公司的邀请。如果你再考虑一下西班牙的高失业率,尤其是安达卢西亚地区,那么通过这份工作,你基本上可以在任何地方以任何方式重塑自己,这是非常了不起的。
所以,别担心,软件工程不是一份没有出路的工作。

很赞 0
收藏