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

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

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

评论翻译
Anonymous
I am 40 and a proud developer. I started my career at 23 as a developer. I continued for next seven years. At 30 I faced the same question “is my career sustainable? am I heading for a dead-end? etc..” Out of fear and to survive I worked hard and switched to a role of a project manager.
I successfully completed couple of projects however was not happy inside. Then I moved to a role of an architect played that for 2/3 years. Then moved to a strategic role and worked as technology incubator and road-map analyst for couple of years.
In all those roles things were all abstract and I was expected to talk about things I was not knowing enough about. Though I was quite successful in majority of the cases, it took a toll in my mental happiness and work-life balance. I was not able to give my best. I realized that if I am not giving my best and happy with my job, I can’t survive for next 20 years.

我今年40岁,为是一名开发者而自豪。我23岁开始从事开发工作。接下来的七年里,我一直在坚持。30岁的时候,我面临着同样的问题:“我的职业生涯可持续吗?我的未来有出路吗?等等……”出于恐惧和生存压力,我努力工作,转而担任项目经理。
我成功地完成了几个项目,但内心并不高兴。然后我转做了一名架构师,在那里工作了2/3年。后来转到战略职位,做了几年技术孵化器和路线图分析师类工作。
在所有这些角色中,所有的事情都是抽象的,我被要求谈论我所不了解的事情。虽然我在大多数情况下都很成功,它损害了我的精神幸福和工作与生活的平衡。我没能做到最好,我意识到,如果我不能尽我最大的努力去工作,我就无法在接下来的20年里生存下去。

That forced me to give a serious thought on what I am good at and what I liked most. I realized that I like to do things rather than talk. I want to talk about things I know enough. I like to code. I like to play with technology and build something my own and nurture it like my baby and make it perfect.
At 37 I switched back as a developer. Though people call me architect, senior architect etc.. at the core I am a developer. It has been almost three years I am re-playing my role as developer. I am reliving my life. I am quite happy. I don’t work hard. Within designated 8 hours I am able to complete my work. I am getting appreciated by my employer and customer. I am also successfully competing with junior folks. In-fact doing it better than them. I regained my strength.
I think I will retire as a developer.
I am posting this as an anonymous to avoid my employer knowing about it.

这迫使我认真思考自己擅长什么,最喜欢什么。我意识到我喜欢做事而不是说话。我想谈谈我知道的事情。我喜欢编码,我喜欢玩科技,喜欢建造属于我自己的东西,像我的孩子一样养育它,让它变得完美。
37岁时,我又做回了开发人员。虽然人们叫我架构师、高级架构师等等,但我的核心是一个开发人员。我重新扮演开发人员的角色已经快三年了。我让我的生活再生。我很高兴。我工作不用努力,在指定的8小时内,我也能够完成我的工作。我得到了雇主和客户的赞赏。我也成功地与年轻人竞争。事实上做得比他们好,我找回了优势。
我想我会以开发者的身份退休。
我以匿名方式发布此贴,以避免我的雇主知道此事。

Oliver Smith
Last year, my 45th, having just left Facebook and then taking a break, I wound up running a number of interviews and doing really horribly, until I found the right discipline for the eclectic set of skills I’ve developed over these years.
The cutoff varies, depending on your time in the industry. Since I skipped college and went straight into the business, it really started around 40 for me. The work is there, the opportunities are there, but the interviews and expectations on you change.
People are going to want more expertise and knowledge out of you than key-pressing. They’re going to expect an architect, an engineer, a solutions designer, an instructor, a risk analyzer, a mentor..
“I like to get my hands dirty” stops implying team player and starts suggesting “micro-manager” or under-development of your engineering skills (this candidate won’t build our new micro-service architecture, instead manually write html files at 10 words per minute while telling us all about the new hotness in apache from 6 years ago).
The angle of many of your interviews is going to change. Your adaptability, enthusiasm for learning, those are obstacles as you shift from talking to junior managers to hiring managers and executives and CTOs.
You’re also going to be increasingly likely to be interviewed as a team-match by people who are (perhaps not aware they’re going to be) junior to you.
I had several Google all-day Google interviews last year which were some of the best/worst I’ve ever experienced.

去年,我45岁了,刚刚离开脸书(Facebook),然后休息了一下,我跑了很多场面试,真的很糟糕,直到我因为这些年发展起来的广博技能而找到了正确准则。
根据你在这个行业的工作时间,这个时间点是不同的。因为我没有上大学就直接进入了这个行业,我是40岁左右开始感觉到了。工作在那里,机会在那里,但是关乎你的面试和期望在改变。
人们会想从你身上获得比按键更专业的知识。他们会期望你是一个架构师、工程师、解决方案设计师、讲师、风险分析师、导师。
“我喜欢弄脏我的手”不再暗示团队成员,而是开始建议“微观管理者”或正在开发你的工程技能(这位候选人不会构建我们新的微服务架构,而是以每分钟10个单词的速度手动编写html文件,同时告诉我们6年前服务器方面的新热点)。
你许多面试的角度将会改变。你的适应能力,学习的热情,这些都是你从与初级经理交谈到与招聘经理、高管和首席技术官交谈的障碍。
你也越来越有可能以团队合作的方式接受那些比你资历低的人(也许没有意识到他们会比你资历低)来面试。
去年我参加了几次来自谷歌的全天面试,这是我经历过的最好/最差的面试。

Jeff Nelson
I think you are asking about 3 different questions and should perhaps rewrite the question. Let's break it down, thusly:
Is Agism a problem in Software Development individual contributor careers?
Should you steer your career toward management roles instead of individual career roles?
Is Software Development individual contributor career a dead end job?
Each of these is thoroughly answered here on Quora in other questions with details broken down as outlined above, so I'm going to just discuss each point briefly.
On agism, I don't think anyone can deny there is a certain amount of agism in the industry. You can just look at the median age of new hires of just about every Silicon Valley company. I suspect many, if not most, have median hiring ages well below 30. However, that doesn't necessarily mean there are official corporate policies not to hire candidates above a certain age, race, sex,Sexual preference, or other characteristics.

我认为你问了三个不同的问题,也许应该重写这个问题。让我们来分析一下:
歧视老年人现象对软件开发个人贡献者职业生涯来说是一个问题吗?
你应该把你的职业生涯转向管理角色而不是个人职业角色吗?
软件开发个人贡献者职业是没有出路的吗?
以上每一个问题在Quora上都有详细的回答,所以我将简要地讨论每一个问题。
关于歧视老年人现象,我认为任何人都不能否认这个行业有一定数量的歧视老年人现象。你可以看看几乎每家硅谷公司新员工的平均年龄。我怀疑很多人(如果不是大多数人的话)的招聘年龄大都远低于30岁。然而,这并不一定意味着官方的公司政策不允许招聘超过一定年龄、种族、性别、性取向或其他特征的求职者。

The reasons why agism exists in the tech industry are multifold . For one, many companies find it easiest to use new college graduates of top schools (the MITs and Stanfords, etc) as a primary pool for recruiting. New graduates are cheap. They have a consistent quality. They are untrammelled by experiences at other companies. They are a clean slate, so it's somewhat easier to teach them corporate culture, software methodology, best practices, and to fit in with other predominantly new grad hires at a startup.
The myth that the technology changes too fast for engineers to stay relevant may have been true at one time, but the core technologies on which the web is built have been around for many decades. The C programming language emerged way back in the late 1970s, over 40 years ago. The jaxcript language, such as it is, emerged for the first time in 1997, about 20 years ago. That means we have engineers walking around, nearing retirement age, whose entire career has been focused on C and running Unix servers, for decades and decades. There are very few engineers of that quality, with that much experience, though, and I doubt anyone would try to claim that to 22 year old who just graduated is necessarily better than a 60 year old, who has spent 40+ years working in these technologies. Those types of engineers are few and far between, of course.

科技行业存在歧视老年人现象的原因是多方面的。原因之一是,许多公司发现,最简单的方法就是把顶尖大学的毕业生(麻省理工学院和斯坦福大学等)作为主要的招聘对象,应届毕业生很便宜,它们的素质始终如一。他们不受其他公司经验的束缚。他们的历史是清白,所以教他们企业文化、软件方法论、最佳实践,并让他们融入员工主要是应届毕业生的初创公司,会更容易一些。
科技变化太快,工程师无法保持相关性的神话可能曾经是真的,但构建网页的核心技术已经存在了几十年。C编程语言出现于20世纪70年代末,距今已有40多年。jaxcript语言在大约20年前的1997年首次出现。这意味着我们身边有很多接近退休年龄的工程师,他们的整个职业生涯都专注于C语言和运行Unix服务器,已经有几十年了。很少有工程师具备这样的素质,拥有如此丰富的经验,但我怀疑会有人试图宣称,一个刚毕业的22岁的人一定比一个在这些技术领域工作了40多年的60岁的人更好。当然,这样的工程师少之又少。

Consquently, to the other point in the question, I don't believe software engineering is a dead end career. I would say that it does tend to plateau after a certain number of years in terms of salary growth. Part of the reason for that is simply that engineers are essentially a human commodity. Unless you are a very special engineer, indeed, you can always be replaced by someone else. I think that helps keep software engineering salaries somewhat low compared to other competitive industries. However, I can almost guarantee you that demand for software engineers will exceed the supply of new graduates or others in the candidate pool, so you'll always have a job. You might not receive those fat 10% exponential raises every year, like you do for your first 2 or 3 years, though.
Finally, to your point about whether management is a better option, I'd ask why consider only that option? There are certainly any number of career paths you can take. You can transition to another area of engineering. For example, many software engineers who don't enjoy creating product move to other roles, sometimes in the same company, such as Operations, Product Management, Project Management, QA, or something even less technical like Sales or Executive positions. I also have friends who have changed careers entirely, such as going into full time teaching.
Let me conclude by saying that I, for one, do appreciate it when I'm working with managers who have a solid background in engineering, preferably software engineering with technologies relevant to the company, so please don't rush into engineering management as a career path. For those of us who might have to deal with you in the future, get 5 or 6 years of good solid engineering as an individual contributor under your belt. Learn how the industry works as a contributor. Only then, consider moving your career in a management direction. You wouldn't hire a florist to build the Brooklyn Bridge. Don't hire any engineering manager who hasn't paid his dues as an engineer.

因此,对于问题中的另一点,我不认为软件工程是一份没有出路的工作。我想说的是,在一定年限后,工资增长会趋于平稳。部分原因很简单,工程师本质上是一种人类商品。事实上,除非你是一名非常特殊的工程师,否则你总是可以被其他人取代。我认为,与其他竞争行业相比,这有助于保持软件工程较低的工资水平。然而,我几乎可以向你保证,软件工程师岗位方面对应届毕业生或其他人才的需求超过其他职务,因此你将永远有一份工作。不过,你可能不会像前2、3年那样,工资方面每年获得10%的大幅增长。
最后,关于管理岗是否是一个更好的选择,我想问一下,为什么只考虑这个选择?当然,你可以选择很多职业道路。你可以转到另一个工程领域。例如,许多不喜欢创建产品的软件工程师转移到其他角色,有时在同一家公司,如运营、产品管理、项目管理、QA,或甚至对技术需求更少的职位,如销售或执行职位。我还有一些朋友彻底改变了职业类型,比如选择全职教书。
最后,我要说的是,举个例说,当我与拥有扎实工程背景的经理一起工作时,我非常感激,最好是与公司相关技术的软件工程,所以请不要急于将工程管理作为职业道路。对于我们这些未来可能不得不与你打交道的人,作为一个独立的贡献者,你需要积累5到6年的优秀扎实的工程经验。作为一个贡献者,了解这个行业是如何运作的。只有到那时,你才可以考虑向管理方向发展。正如你不会雇一个花店来修布鲁克林大桥一样,不要雇用任何一个没有尽到工程师职责的工程经理。

Cornelius Goh
Definitely no if you love the software development career -- not limiting to just programming.
A new paradigm shift happens in IT almost every 10 years: 1960s in mainfrx with punchcard and assembly language, 1970s in mini-computer with Unix and C/ Pascal/Cobol/Fortran, 1980s in PC with Microsoft Windows & Apple Mac, 1990s in client/server with SQL, Visual Basic/ PowerBuilder, 2000s in browser-based Internet with Java / jaxcript , 2010s in mobile phone / tablet with obxtive-C, Android, Swift, Functional programming Haskell, Scala, Kotlin (Google),etc...
Guess what in 2020s? 'Internet of Things' (IoT), wearable, large (thousands) multi-core CPU, Big Data Analytics, Artificial Intelligence, Neural Network in DeepLearning, driverless cars, quantum computers...with concurrent /parallel processing functional languages
Software development is actually doing math - in the form of algorithms & logics. Example: The powerful Google Search Engine (Google PageRanking Algorithm ) is simply applying undergrad math 'Linear Algebra' (Matrices) using thousands of cheap computers bundled in clusters.

Once the Cambridge Prof. GH Hardy (the greatest pure mathematician in the 20th century, mentor of two math geniuses, namely, the Indian Ramanujian & the Chinese Hua LuoGeng 华罗庚) had said math is for young men before 35 (in his book 《A Mathematician's Apology》). This was criticized by French mathematician Prof. André Weil (one of the greatest mathematicians after WW2, founder of "Bourbaki" school of modern math) as pure nonsense! Some most important math discoveries are made after 40 years old, e.g. Andrew Wiles for proving the 380-year-old "Fermat's Last Theorem" in 1994, Zhang Yitang (张益唐, 1955 -) at 58 years old for "Twin - Prime maximum Gap" in 2013.
如果你热爱软件开发职业—不局限于编程,那么是绝对不会出现你担心的这个情况的。
IT行业几乎每10年都会发生一次新的范式性转变;60年代在主机上采用穿孔卡和汇编语言,20世纪70年代在小型计算机上使用Unix和C/ Pascal/Cobol/Fortran,20世纪80年代出现PC,微软的Windows和苹果的Mac,90年代在客户端/服务器端使用SQL, Visual Basic/ PowerBuilder,2000年基于浏览器的互联网,使用Java / jaxcript,2010年代在手机/平板电脑上使用扩充 C 的面向对象编程语言,Android、Swift、函数式编程Haskell、Scala、Kotlin(谷歌)等。
猜猜20世纪20年代会发生什么?”物联网、可穿戴、大型(数千)多核CPU、大数据分析、人工智能、深度学习中的神经网络、无人驾驶汽车、量子计算机……使用并发/并行处理函数语言
软件开发实际上是以算法和逻辑的形式在做数学。示例:强大的谷歌搜索引擎(谷歌网页排名算法)就是使用成千上万的廉价电脑集群简单地应用本科数学“线性代数”(矩阵)。
曾经是剑桥大学教授的GH Hardy(20世纪最伟大的纯数学家,两位数学天才的导师,即印度的罗曼健和中国的华罗庚)曾说过数学是为35岁之前的年轻男性准备的(在他的书《 一个数学家的辩白》中)。这被法国数学家安德烈·威尔(AndréWeil)教授(二战后最伟大的数学家之一,现代数学“布尔巴基”学派的创始人)批评为纯粹在胡说八道!一些最重要的数学发现是在40岁以后做出的,例如,安德鲁·怀尔斯在1994年证明了具有380年历史的“费马大定理”,张益唐(张益唐,1955 -)在2013年于58岁时证明了“孪生素数最大差距”。

Kurt Guntheroth
The average person’s peak, inflation-adjusted earning comes when they are 40 1/2 years old. By this time, they have reached the peak earning potential of their profession, and must either reinvent themselves, or accept that their salary won’t rise any more in inflation-adjusted terms, because they are already making as much as they are worth.
Now, civil engineers, teachers, and accountants have about the same number of employees who are 65 as are 25, so this knowledge is baked into the expectations for these professions. But the great bulk of software engineers is under 45, so the knowledge that earnings will plateau hasn’t seeped in yet. It’s coming as a surprise to the first big cohort of developers who entered the field in the late 1990’s.
Software development is still a young field, so that tools and techniques are still changing very rapidly. A software developer who does not continuously learn new skills becomes obsolete in much less than 20 years, so that a 40 year old developer can easily find themselves out of work and with limited prospects.
Software development is a project-oriented field, so all software folks are subject to intervals of unemployment between projects. Compare this to, say, accounting, which has a never-ending monthly cycle of books to close. This means that a software dev who doesn’t keep up with the latest things is quite likely to get blown out of their profession, or have to retrain extensively while unemployed.
Ageism is a significant force in software employment. The average age of developers is about 30, not 40 like in mature industries. A 40+ developer will have had a very different career to a 30 year old. Younger workers and managers are apt not to recognize the older engineer’s skills as relevant. The go-go, work-all-night culture is also easier for the young and unattached to bear.

一般人在40.5岁时,其收入经通胀调整后达到峰值。到了这个时候,他们已经达到了职业生涯中收入潜力的顶峰,要么重新塑造自己,要么接受他们的工资在通货膨胀调整后不会再上涨的事实,因为他们赚的已经和他们的价值一样多了。
现在,土木工程师、教师和会计师的65岁员工数量与25岁员工数量大致相同,因此这些知识被融入了对这些职业的期望中。但绝大多数软件工程师年龄在45岁以下,所以他们还没有意识到他们的收入会停滞不前,这对于20世纪90年代末进入这一领域的第一批开发者来说是一个惊喜。
软件开发仍然是年轻人的领域,因此工具和技术仍在快速变化。一个没有不断学习新技能的软件开发人员在不到20年的时间里就会被淘汰,因此一个40岁的开发人员很容易发现自己失业,而且前景有限。
软件开发是一个面向项目的领域,所以所有的软件开发人员在项目之间都会有失业的时候。与之相比,比如说会计,每月有结账周期,而且永无止境。这意味着,一个软件开发人员如果不能跟上最新的发展,很可能会被炒鱿鱼,或者不得不在失业期间接受再培训。
年龄偏见是软件就业中普遍存在。开发者的平均年龄约为30岁,而不是像成熟行业那样的40岁。一个40多岁的开发者的职业生涯与与30岁的人是截然不同的。较年轻的工人和管理者往往不认可较年长的工程师的与之相关的技能。对于单身的年轻人来说,通宵达旦的工作文化也更容易承受。
原创翻译:龙腾网 http://www.ltaaa.cn 转载请注明出处


The demand for inexpensive (you can read that as “young”) talent is pulling up starting salaries, but has had little effect on the top of the wage scale. In this way, software development is very similar to nursing. It’s a great skill right out of college, but it doesn’t pay that much more after 20 years. You can talk about the “dynamic range” of salaries. When I started (in 1980) the dynamic range was 2.5:1. Right now it’s like 1.8:1 and still falling.
The very best developers will keep on learning and achieving until they reach retirement age; But most of us will eventually realize (typically around 40 years old) that we are not those famous giants of the industry.
Managers make somewhat more than developers, but there’s a problem. There’s only one manager seat for every half-dozen programmers. Competition is correspondingly steeper. Even rarer are chief software engineer roles. What there are plenty of are the same roles you had when you were 30, paying the same amount. Older devs tend to fall back into these roles if they lose their seat after they are 40.
Does all this mean there is “no future” in software development? That’s up to the individual developer. It does mean maybe devs should restrain their lifestyle and bury some nuts for the winter that is middle age.

对廉价(你可以把它理解为“年轻”)人才的需求推高了起薪,但对工资水平的顶端几乎没有影响。在这方面,软件开发与护理非常相似。刚从大学毕业的时候,这是一项很棒的技能,但20年后,它的薪水不会比现在高太多。你可以谈论工资的“动态范围”。当我开始工作时(在1980年)动态范围是2.5:1。现在是1.8比1,而且还在下降。
最优秀的开发人员将不断学习和实现目标,直到他们达到退休年龄;但我们大多数人最终会意识到(通常在40岁左右)我们不是那个行业的佼佼者。
经理的薪水比开发人员高,但有一个问题。每六个程序员只出一个经理席位。竞争也相应加剧,首席软件工程师的角色更为罕见。有很多角色都是你30岁时扮演的角色,薪水也一样。如果年龄较大的开发人员在40岁后失去了工作,他们往往会重返这些工作角色。
这一切是否意味着软件开发“没有未来”?这取决于个人开发者。这确实意味着开发者们应该克制自己的生活方式,为冬天(中年危机)埋下一些坚果。

Drew Eckhardt
It’s usually a dead end job after age 27–32 assuming you graduate at 22.
Optimizing for cash flow, the average engineer will have reached their terminal level with maximum possible compensation just over $300,000 barely making it into the top earning 1% of Americans.
Those with more interest and aptitude in leadership usually peak one level beyond that with a $500,000 potential just crossing into the top 1% of households most of which have two working adults.
Migrating to management is a lateral move which doesn’t change that. The skills for success converge between management and technical tracks, limiting people to the same level in either.
Few progress farther although you can enjoy working into your 70s building companies, teams, and products; learning new things; and refining your skills.

假设你22岁毕业,在27-32岁之后继续从事此工作,通常是没有没有出路的。
优化现金流,工程师的平均工资将达到最高水平,最高可能超过30万美元,勉强进入收入最高的1%的美国人行列。
那些在领导方面更有兴趣、更有天赋的人通常会达到一个更高的水平,有50万美元的潜力,刚好能进入最富有的1%的家庭,其中大多数家庭都有两个成年人在工作。
转移到管理层是一种横向移动,不会改变这一点。成功的技能汇集在管理和技术轨道之间,将人们限制在同一水平。
尽管你可以享受工作到70多岁,建立公司、团队和产品;学习新事物;提高你的技能。

Note
This dictates working in one of about a half dozen US markets.
Optimizing your career requires living in the San Francisco Bay Area. There are more startups to find the right one. While companies pay similarly in remote US offices, the Bay Area has more large growing company headquarters and each main office has more opportunities for advancement.
Many people compromise to improve other areas of their life.
Either choice is fine, but you should consciously decide.
While a dead end job, it lets you save enough to retire at 45 so that’s not an issue.
All jobs have a limit.

请注意:
这就要求进入美国大约6个市场中的一个市场开展工作。
要想使你的职业生涯得到优化,就需要住在旧金山湾区。还有更多的创业公司在寻找合适的人选。虽然在美国偏远办公室的公司支付的薪水与此类似,但湾区有更多正在成长的大型公司总部,每个总部都有更多的晋升机会。
许多人为了改善生活的其他方面而妥协。
两种选择都可以,但你应该有意识地做出决定。
虽然是一份没有前途的工作,但它能让你存够钱在45岁退休,所以这不是问题。
所有工作都有限制。

Samir Patel
It’s not a dead-end. But yes you would face lots of problem once you are 40 and trying to search for a job.
Most of the companies try to hire younger developers as they don’t have any commitments or responsibilities towards family as they do not have wife or kids. A person of 40 will have lots of responsibilities on his shoulders like wife, children, parents, etc. Moreover, the experienced developers need to take leaves very often to compensate their social responsibility. They might be having medical issues like Diabetes, Depression, etc. as seen in the IT sector employees due to lots of pressure of deadline.
Second thing, the productivity of younger developers could be higher than the older developers because the younger generation has more energy However, the experienced person can be more productive because of his experience and he could do the work with less code and in less time.
So, yes. At the age of 40, it is tough to find a job as a software developer. But, if you agreed upon lesser salary compared to your skills and experienced you can get job. In short, you need to compromise on any part to get a job after 40 in the Software development sector.

这不是没有出路的工作。但是一旦你40岁了,想要找工作,你会面临很多问题。
大多数公司都试图雇佣年轻的开发人员,因为他们没有妻子或孩子,对家庭没有任何承诺或责任。一个40岁的人肩上肩负着很多责任,比如妻子、孩子、父母等等。此外,经验丰富的开发人员需要经常休假,以弥补他们的社会责任。他们可能会出现诸如糖尿病,抑郁症等医疗问题,就像IT行业的员工因为职业期限压力而受到的压力一样。
其次,年轻开发人员的生产力可能高于年长的开发人员,因为年轻一代有更多的精力。然而,有经验的人因为他的经验可以更高效,他可以用更少的代码和更少的时间完成工作。
所以,40岁的时候,很难找到一份软件开发人员的工作。但若你们同意降低工资要求(凭借经验和技术值得更高工资),你们就可以得到这份工作。简而言之,你需要在某些方面做出妥协,才能在40岁后找到一份开发人员的工作。

很赞 0
收藏