软件开发在35-40岁之后真的是没有前途的工作吗(五)
Is software development really a dead-end job after age 35-40?译文简介
网友:对我们很多人来说是这样的。我30多岁了,可以看到除了高级软件工程师之外,还有一小部分工作可以做。
其他答案中的许多人建议,只要一个人充满激情,掌握最新技术,并寻找合适的机会(经验更重要),他就可以继续工作到40/50/60岁以上......
正文翻译
Is software development really a dead-end job after age 35-40?
软件开发在35-40岁之后真的是没有前途的工作吗?
评论翻译
很赞 ( 0 )
收藏
Yes for many of us. I am in my 30’s, and can see that there is a tiny fraction of jobs available beyond Senior Software Engineer.
Many people in other answers have suggested one can continue beyond 40/50/60… as long as one is passionate, up to date with new technologies, and look for right opportunities(where experience is counted more).
While the above is true, We should understand that IT Industry is still new, the so far Industry was able to accommodate many past software developers into Management, Architect, CTO role.
Now this sector is dominated by youth in the age of 24–36 (+-2 yrs either side). When these people turn 40, I am very pessimistic that their aspirations in technology can be absorbed in totality. Many will still find their place, but most will be wiped out.
Anything that can be automated (at reasonable cost), will eventually be automated. Unless we see massive industrial growth world wide (which can boost economies all over the place, and increase the demands massively), I can sense only cost cutting, restructuring, and out-flux of jobs/people who are good for nothing (except 10–20%, in relation to adding value against the demand). In addition, The highly paid ones will be replaced with low paid new workers.
对我们很多人来说是这样的。我30多岁了,可以看到除了高级软件工程师之外,还有一小部分工作可以做。
其他答案中的许多人建议,只要一个人充满激情,掌握最新技术,并寻找合适的机会(经验更重要),他就可以继续工作到40/50/60岁以上。
虽然上述情况属实,但我们应该理解,IT行业仍然是新兴行业,到目前为止,该行业能够容纳许多之前的软件开发人员担任管理、架构师和首席技术官岗位。
现在,这一部门人员主要分布在24-36岁(两边各+2岁)。当这些人年满40岁时,我很此悲观,届时他们对技术的渴望会被全部磨灭掉。许多人仍会找到自己的位置,但大多数人将会离开。
任何可以自动化的东西(以合理的成本)最终会被自动化。除非我们看到世界范围内的大规模工业增长(这可提振各地的经济,并大幅增加需求),我能感觉到的只有成本削减、重组和毫无用处的工作/人员外流(除了相对于需求,自身价值得到增值的那10-20%的人)。此外,高薪的工人将被低薪的新工人所取代。
Definitely NOT. As a Senior Technology Consultant at Big4 firms, I have led multiple teams of Software Developers and I have seen then growing and sometimes transitioning to other careers. If I had answered this question 10 years ago, then my answer would be yes, But now the job market and employer requirements are completely different.
I have seen and supported many software developers to switch their career to other lucrative job positions like Technology Consulting, Business Analysis, and Product Management.
For techno-management roles, people with software development background are given priority over non-tech people. That’s why it is definitely possible to transition your career from software development role to any other role post 35. Today, software developers who have 10 years of work experience usually age between 35-40 years. There is two option that they can choose:
绝对不是。我在行业4大咨询公司担任高级技术顾问,曾领导过多个软件开发团队,我看到了他们的成长,有时会过渡到其他职业。如果我在10年前回答这个问题,那么我的答案是肯定的,但现在的就业市场和雇主的要求与以前相比完全不同了。
我看到并支持许多软件开发人员转行从事其他赚钱的工作,如技术咨询、业务分析和产品管理。
对于技术管理角色,具有软件开发背景的人员优先于非技术人员。这就是为什么在35岁后,你的职业生涯完全有可能从软件开发角色过渡到其他角色。如今,拥有10年工作经验的软件开发人员的年龄通常在35-40岁之间,他们有两个选择:
Option 2: Management Role: If you are tired of coding, no worries, you can start guiding young engineers.
a. Product Management: If you are a software developer with 10+ years of experience, you can easily transition your career in Product Management and Technology Consulting. Every tech company like Google, Facebook, Amazon, Uber, etc. need people who can lead their product roadmap and development efforts, hence product management role would be very easy for software developers to crack.
b. Technology Consulting: Companies like Deloitte, PwC, EY, KPMG, McKinsey, etc. continuously look for people with a strong technical background and basic management skills so that they can lead digital transformation projects for big global companies. In my four years of consulting career, most of the project managers were a developer at some point in time. If you are interested in learning more about life at Big4 consulting firms, check my another answer.
Let me know in comments if you agree. Good luck!
选项1:技术路线:软件开发人员可以选择继续担任技术角色,同时管理多个项目的技术方面工作。软件工程师的一些著名高级技术角色是技术架构师、软件开发主管和解决方案架构师。软件开发人员可以选择许多其他职位,这些职位可以直接在你的目标雇主的求职页面上找到。
选项2:管理角色:如果你厌倦了编码,不用担心,你可以开始指导年轻工程师。
a、 产品管理:如果你是一名拥有10年以上经验的软件开发人员,可以轻松过渡到产品管理和技术咨询行业。每一家科技公司,如谷歌、Facebook、亚马逊、优步等,都需要能够领导其产品路线图和开发工作的人,因此软件开发人员很容易胜任产品管理角色。
b、 技术咨询:德勤、普华永道、安永、毕马威、麦肯锡等公司不断寻找具有强大技术背景和基本管理技能的人员,以便他们能够领导大型跨国公司的数字化转型项目。在我四年的咨询职业生涯中,大多数项目经理在某个时候都是开发人员。如果你有兴趣更多地了解四大咨询公司的生活,请查看我的另一个答案。
如果你赞同,请在评论中告诉我,祝你好运。
原创翻译:龙腾网 http://www.ltaaa.cn 转载请注明出处
I would not say that engineering is a dead-end job at all. But, there are few facts to consider:
You will likely plateau with a title like Senior Engineer, or Principal Engineer for many years. If you are truly extraordinary, you might become a “Fellow,” but that is typically rare and is usually found in larger companies.
After a certain point, you will also likely not not see significant increase in compensation beyond cost of living increases or bonuses.
You’re more likely to be in the ‘burbs rather than the new hip tech company in a major city
This works for many folks who are still software engineers. I have a many good friends well into their 50’s who are still coding aways in these roles and very content to do so. What sets these folks apart is the following:
我不会说工程是一个没前途的工作。但是,以下是一些需要考虑的事实:
你可能会在高级工程师或首席工程师的头衔上停滞多年。如果你真的与众不同,你可能会成为一个“伙伴”,但这种情况通常很少见,通常在大公司才会出现。
在某个时间点之后,除了生成本上涨之外,你可能看不到薪酬或者奖金会有显著增长。
你更有可能待在郊区,而不是大城市的新时尚科技公司。
这适用于许多仍然是软件工程师的人。我有许多50多岁的好朋友,他们仍然在编写代码,并且非常乐意这样做。让这些人与众不同的是:
They are sagely because they’ve seen it all before
They are comfortable with having significantly younger managers
They know how to adapt and never stop learning.
The last point is key: the moment that you feel that you’ve learned it all, you’re toast. If you don’t have the capacity to continually learn new things, you should consider a career shift. The 48-year old engineer that has 20 years of Java/JavaEE experience who can comfortably jump into a Node.js project and deploy it using Docker is going to do far better than the one who is still clinging to JavaEE WAR deployment model and resisting the new tech.
Never stop learning, that is key to success in this industry.
与年轻人不同,年长的程序员通常需要较少的管理开销。
他们是明智的,因为他们都了解这一切。
他们乐于拥有年轻得多的经理。
他们知道如何适应,且从不停止学习。
最后一点很关键:当你觉得自己已经学会了一切的时候,你就完蛋了。如果你没有能力不断学习新东西,你应该考虑换个职业。这位48岁的工程师拥有20年的Java/JavaEE经验,能够轻松地跳入Node.js项目。使用Docker来部署它会比那些仍然坚持JavaEE WAR部署模型并抵制新技术的人做得更好。
永远不要停止学习,这是成功呆在这个行业的关键。
If you work as a professional software developer on the server then you don’t have to worry too much. But if you are a front end developer, the boys will try to get you out of your job by inventing new frxworks and libraries every night
So if you want to stay relevant at that age(40), you’d either get up to speed and learn the new frxworks or seek refuge in management related responsibilities like being a lead developer or a project manager.
The jaxcript world is full of turbulence and there are no signs they want to settle down any time soon.
如果你是服务器方面的专业软件开发人员,那么你不必太担心。但如果你是一名前端开发人员,他们会试图通过每晚发明新的框架和库来让你滚蛋。
因此,如果你想在这个年龄(40岁)保持继续从事相关工作,你要么加快速度,学习新框架,要么进入管理相关的岗位,比如成为首席开发人员或项目经理。
jaxcript世界充满了动荡,没有迹象表明他们想在短时间内安定下来。
No. I'm 61, I develop software almost every day.
The daily grind gets difficult to deal with; meetings, interruptions, etc.
I've been doing this since my late 20s and my annual income goes up every year, so do my responsibilities.
I'm currently trying to scale back my career in preparation of retirement: then I will cherry pick the things I want to work on. I don't think I'll ever actually retire.
Physical age has NOTHING to do with it. If you are a crappy programmer, it will be a dead end job.
不,我61岁了,我几乎每天都在开发软件。
日常琐事变得难以处理;会议、中断之事等。
我从20多岁开始就这样做了,我的年收入每年都在增加,我的责任也在增加。
我目前正试图缩减我的职业生涯,为退休做准备:然后我会挑选我想做的事情。我认为我永远不会真正退休。
年龄与此无关。如果你是一个差劲的程序员,这将是一份没有前途的工作。
I am 44 years old with 15 years of experience in software development and a large team management. I feel that my career is just starting to bloom especially with the recent advancements in AI, Automation and Robotics. I have also learned that the management track is a dead end in most of the mediocre companies, you literally get dumber. Stay close to the computer science, or science in general, constantly study if you want to move between top companies like Google, Facebook, Amazon, Apple, Micorsoft, lixedIn, Netflix and Samsung. Invest your time in Emotional Intelligence improvement and personal brand marketing.
我今年44岁,在软件开发和大型团队管理方面有15年的经验。我觉得我的职业生涯刚刚开始绽放,尤其是随着人工智能、自动化和机器人技术的发展。我还了解到,在大多数平庸的公司中,管理岗是没前途的,你会变得越来越愚蠢。如果你想在谷歌、脸书、亚马逊、苹果、微软、lixedIn、Netflix和三星等顶尖公司之间转换,就要密切关注计算机科学或一般科学。把时间花在提升情商和个人品牌营销上。
Let's make some (algorithmic) assumptions.
You like really to program. If not, forget it, go as quickly as possible to some boring office duties
Your skills are better than average, your part becomes really important in the enterprise software your team is doing. If not, either the manager wants you out, or simply are others better than you. Better go for boring stuff.
Time goes by and you do not get a serious offer to climb on the hierarchy of the company. If this is most what you want, including increase of salary, search for other company that might give you better conditions, but probably not for pure programing.
Your company needs System Engineers, vital to search for what to do, not how to do. You get attracted by this. Then go for it
The company finally offers you a job of Line Manager, a small bureaucrat, dealing with a sort of database that keeps the track of what has to do daily your 5-6 programmers under you. You like to be the boss of those guys, you get some minor increase, and like to attend boring meetings with other LMs. If you go for it you certainly will never write a line of code your entire life.
If you got the age you meant, I am already 55 and passed through all aforementioned career choices, and you still like and program efficiently, you should not bother. No-one fires the ones that really do the jobs, first go all the others, office boring jobs, then managers, LMs, ultimately the System engineers. You stay
让我们做一些假设。
你真的喜欢编程。如果没有,那就忘了它,尽快去做一些无聊的办公室工作。
你的技能高于平均水平,你的角色在你的团队正在开发的企业软件中变得非常重要。如果不是,要么是经理想让你退出,要么就是其他人比你强。最好去做些无聊的事。
随着时间的推移,你并没有得到进入公司高层的机会。如果这是你最想要的,包括加薪,那就去找其他可能给你更好条件的公司,但可能不是纯粹的编程公司。
你的公司需要系统工程师,这对于寻找做什么而不是如何做至关重要。你会被这个吸引,那就去做吧。
公司最终为你提供了一份基层负责人的工作,一个低级别行政员,负责处理一种数据库,跟踪你手下5-6名程序员每天要做的事情。你喜欢成为这些人的头,你会得到一些小小的提升,并且喜欢和其他基层负责人一起参加无聊的会议。如果你去做,你肯定一辈子都不会写一行代码。
如果你已经到了你想要的年龄,我已经55岁了,并且已经完成了前面提到的所有职业选择,而你仍然喜欢并高效地编程,那么你就不必费心了。没有人会解雇真正做这些工作的人,首先是其他人,办公室无聊的工作,然后是经理,基层负责人,最后才轮到系统工程师被解雇。你稳住就好。
"their employability starts to decline at about age 35" is generally caused by an individual not being flexible, burn out, or not developing critical design skills.
Software engineering at its core is about problem solving. Many Languages (C++, Java, Python, etc) are built on the same core principles and excel at one purpose or another.
I work with a number of "older" programmers - most are in their mid to late 40s and 50s but I have also had the pleasure of working with a programmer in his 70s. They all have expressed these similar ideas:
“他们的就业能力在35岁左右开始下降”通常是由于个人缺乏灵活性、精疲力竭或没有发展关键的设计技能。
软件工程的核心是解决问题。许多语言(C++、Java、Python等)都是基于相同的核心原则构建的,并且在某种用途上表现出色。
我和一些“年长”的程序员一起工作——大多数都是40岁到50岁的中晚期,但我也有幸和一位70多岁的程序员一起共事。他们都表达了类似的观点:
Programming is problem solving, planning, and execution: Most young programmers learn syntax, problem solve via stackoverflow. Senior level guys will spend 90% of their time designing their code around use cases
Syntax is just that "Syntax" but you need to fully vast yourself in one language: Knowing a bunch of differently languages syntax is nice, but you will never master the hard stuff unless you get to it. after that, you can teach yourself a new language in a short time period.
At the end of the day, you really just have to like programming and problem solving.
他们喜欢解决棘手的问题,寻找解决方案,并且不介意为了完成一个项目而长时间工作:这是最大的因素——倦怠。工作时间较长的程序员实际上很享受遇到困难问题时的挫败感和对代码进行故障排除。
编程就是解决问题、规划和执行:大多数年轻程序员学习语法,通过堆栈溢出解决问题。高级人员将花费90%的时间围绕用例设计代码。
语法只是“语法”,但你需要完全掌握一种语言:知道一堆不同语言的语法是很好的,但你永远不会掌握这些困难的东西,除非你能做到。之后,你可以在很短的时间内自学一门新语言。
在一天结束的时候,你真的只需要喜欢编程和解决问题。
By the time you hit 35 you have been coding for probably 10 years after getting your degree. Most programming languages and skills last for 3 to 5 years. JCL is no longer a current language nor is Cobol, Fortran, PL/I or Algol. Structured programming hasn’t been in vogue since 1970. You have no idea what obxts are or which open port to insert them into.
当你年满35岁时,你已经在获得学位后编写代码10年了。大多数编程语言和技能持续3到5年。作业控制语言不再是当前的语言,Cobol、Fortran、PL/I或Algol也不再是当前的语言。自1970年以来,结构化编程就不再流行。您不知道对象是什么,也不知道要将它们插入到哪个开放端口。
My brother-in-law Tom Padgett was an accomplished electrical engineer. For years he ran the co-op program at Auburn University. He advised young engineers that once the project you are on was doing well, look for a new project with promise and move.
That was great advice years ago. It is not solely about vita building. Expand your professional community and you will find your options expanded as well.
Due to the spectacular growth in the field, the majority of today’s developers are under 40. In a sense, today’s developers are the baby boomer kids of computing. The question is whether this group will give birth to another generation. I believe they will.
Here is a little advice. Make sure you continue to develop social and communication skills with the same determination as you develop your technical skills. Keep options open and opportunity within reach.
我的姐夫汤姆·帕吉特是一名出色的电气工程师。多年来,他在奥本大学负责合作项目。他建议年轻工程师,一旦你正在进行的项目做得很好,寻找一个有前途的新项目,然后继续前进。
这是几年前的好建议。这不仅仅是关于维塔建筑。扩大你的专业社区,你会发现你的选择也会扩大。
由于该领域的惊人增长,今天的大多数开发人员都在40岁以下。从某种意义上说,今天的开发者是计算界婴儿潮一代的孩子。问题是这个群体是否会生育下一代。我相信他们会的。
这里有一点建议。确保你在发展技术技能的同时,以同样的决心继续发展社交和沟通技能。找到一条健康之路,保留你的选择余地。
原创翻译:龙腾网 http://www.ltaaa.cn 转载请注明出处
Here is some advice that has stood the test of time - discern good from evil and then do good. To do good, make sure you equip yourself with the wisdom described in James:
“But the wisdom that comes from heaven is first of all pure; then peace-loving, considerate, submissive, full of mercy and good fruit, impartial and sincere.”
While this may not work to get you out of a dead end job, it will lift you out of a dead end rut. There is always work that is good to do. Just don’t wait to long to give it a shot.
如果你认为自己的工作没有前途,你可能会筋疲力尽。采取纠正措施,不要责怪你周围的人,找到健康之路。给你的选择留有余地。
这里有一些经得起时间考验的建议——分清善恶,然后行善。为了行善,你必须用《雅各书》所描述的智慧武装自己:
“但来自天堂的智慧首先是纯洁的,然后是爱好和平、体贴、顺从、充满怜悯和结满善果、公正和真诚的。”
虽然这可能不会让你摆脱一份没有前途的工作,但它会让你摆脱没有前途的人生。总有值得做的工作。若不要等太久,就去尝试。
A2A.
I don’t believe that you can’t be technical after a certain age. I am 57 and well sought after for my technical skills. I will add, however, that older people do need to keep up with health and physical fitness. Also, like ambitious young people, I do study a lot to keep up. I have completed about 80 college courses, 1500 Pluralsight courses, and can easily help my two college aged children with any subject at their university. I probably spend more time studying then most college students do and have done so continuously for 52 years .
We are smarter than you think. In many cases, older people that are in senior technical or management positions are very technical, but do not brag about it with younger people. If a 25 year old man wants to challenge me about a skill that I mastered before he was born, I’d typically prefer not to fight about it. It does not buy you anything. I can tell you that as I’m sitting listening to really young developers, I sometimes think to myself that the person does not understand the web. … or sometimes Computer Science … or sometimes math and physics. I stay quiet now at times that I would not have 20 years ago, but it’s because I have more maturity rather than less intelligence.
In summary, we all decline a bit with age, but with modern medicine, a little bit of good fortune, and some common sense, that time is probably between 65 and 70 for most of us.
谢谢邀请我回答;
我不相信你过了一定的年龄就不懂技术了。我今年57岁,我的技术水平很受欢迎。然而,我还要补充一点,老年人确实需要保持健康和体力。此外,像有抱负的年轻人一样,我也学习了很多,以跟上潮流。我已经完成了大约80门大学课程,1500节基础视频教程,在两个大学年龄的孩子的大学科目方面,可以很轻松地帮助他们。我可能比大多数大学生花更多的时间学习,而且已经连续52年这样做了。
我们比自己想象的要聪明,在许多情况下,担任高级技术或管理职位的老年人技术性很强,但不会向年轻人吹嘘。如果一个25岁的年轻人想挑战我在他出生前就已经掌握的一项技能,我一般不喜欢为此争吵,争吵换不来任何东西。我可以告诉你,当我坐在那里听真正年轻的开发人员讲话时,我有时会对自己说,这个人不懂网络,有时认为他们不懂计算机科学,有时认为他们不懂数学和物理。我现在保持沉默,换做20年前,我不会这样去应付,但这是因为我更成熟,而不是因为我更聪明。
总之,我们都会随着年龄的增长而衰退,但有了现代医学,再加上一点运气和一些常识,对我们大多数人来说,这个时间节点可能在65岁到70岁之间出现。
Yeah, but frankly, nearly every job except Mall Santa is a dead-end job after about 40.
If you’re enterprising (which I’ve discovered how much so I am not), you take that pile of skills and use it to manage people (if you’re inclined that way), or get out of the “job” of software development, and move toward an application of the amassed skills toward something you care about— work on things that gratify you; consult— you’ll know stuff off the top of your head that younger people won’t get for a decade; get on the board of a start-up as an advisor.
That being said, I started doing software development by accident— because when I started learning to program, I just loved computers and writing code and making machines do shit. The fact that it was a dead-end job never occurred to me
是的,但坦率地说,除了购物中心的圣诞老人,几乎所有的工作在40岁以后都是没有前途的。
如果你有进取心(我发现我没有),你可以利用这堆技能来管理人(如果你有这种倾向的话),或者从软件开发的“工作”中解脱出来,把积累的技能应用到你关心的事情上——做一些让你满意的事情;咨询:你会知道一些年轻人十年后才会明白的事情;以顾问的身份加入一家初创公司的董事会。
也就是说,我是偶然开始做软件开发的-因为当我开始学习编程的时候,我只是喜欢计算机和写代码,让机器做些什么。我从来没有想到这是一份没有前途的工作。
I starting coding "professionally" (that is, getting paid for my work) when I was 19 and had only had a FORTRAN class up to that point. So, that means (quick mental arithmetic) I've been doing this for almost 41 years. My latest job is the very first one where I got to basically design the whole system from scratch. I'm struggling a bit now to get back up to speed with web and mobile programming, but I'm far from a "dead end" so far, in spite of being almost 60.
I have been offered "manager" jobs over the years and have consistently refused them, since I prefer to program over managing people....
But, I know colleagues who have been laid off, and are my age (or older) who are having trouble finding work ("too much experience" !?), so I see how you could get the impression that there is no future after a certain age.
But, as others have noted, I think the key is to continue to provide VALUE for whoever you're working for.
我在19岁的时候就开始“专业地”编码(也就是说,从我的工作中获得报酬),那时我只上过FORTRAN课程。所以,这意味着(快速心算)我已经做了将近41年了。我最近的工作是我第一次从零开始设计整个系统。我现在正努力跟上网络和移动编程的速度,但到目前为止,尽管我已经快60岁了,我还远远没有进入职业方面的“尽头”。
多年来,我曾被邀请担任“经理”的工作,但我始终拒绝,因为我更喜欢编程而不是管人。
但是,我认识一些被解雇的同事,他们和我同龄差不多(或更大),在找工作时遇到困难(“经验太多”?),所以我明白你为什么会觉得过了某个年龄就认为自己职业没有未来了。
但是,正如其他人所指出的,我认为关键是要继续为你所服务的人提供价值。