注意:本文来自:最酷的http://thecodist.com/article/yes_i_still_want_to_be_doing_this_at_56
=========================================================
你真的愿意到了50岁还要做编程吗?
“大规模、高强度的编程?我必须承认,这是年轻人的游戏。”
不,这是傻子们的游戏(大部分都是男性,但不是100%)。我今年55岁,从1981年开始就从事编程这个行业,如果从学校里算起,那是开始于1973年。我真真切切的认识到的一件事是,编程到死是值得的。
若问我到了55岁还要做编程吗?我的回答是:Yes。我仍然会喜欢编程中的各种挑战,解决复杂的问题,找到最优的解决方案。每天早上我都会浏览很多的跟技术和编程相关的网站,看有什么新的技术动态。我知道,如果有一天,当我不再关心这些最新动态时,那就是我不想再做程序员的时候了。自从我第一天从事编程工作开始,我的这种早上的必修课就没有改变过,除非有杂志、手册和书本要读,或者是偶然的会议要参加。
我还记得在我的第一家公司(GeneralDynamics)里做的一个工作。在那里,我要学习如何对新购进的IBM个人电脑做技术支持。这并不是我的主要工作,但这是一些很新的东西,没有人知道哪些知识是需要的,于是我就把手边能找到的资料全读了,包括全部的IBM产品文档。不久IBM的技术支持就来了,指导我们如何配置这些机器,如何把各种产品设备连接到一起。我其实并不需要学习所有的这些东西,但它们看起来都是非常有用的知识。如今,我仍然在学习新的东西,因为这很有趣——即使有些知识看起来并不需要。
如果你不再对编程世界有求知欲,不再对技术相关领域有好奇心,那你的编程生涯将不会有延续。我在上大学时知道很多人取得了计算机科学学位,但大部分的这些人在毕业后没有编过一段代码;他们对编程没有兴趣,或者是不再学习编程,最终被新技术的车轮抛弃。而我在大学学习的是化学专业。
这些年来我的研究方向变来变去,就像狼人电影里会变形的狼人(这也是我高中时的外号)。
如今,我发现的一个最重要的事情是,一定不要贪求更长时间的工作,而应该是要更聪明的工作。作为一个年纪不轻的人,这意味着你不能再每天工作20多小时,即使假设你能坚持一天工作20小时,未必你写出的就是可用的程序。要做出一个有质量的软件,真有一个每天你应该工作多少小时的限制吗?也许吧,随着年龄的增长,这个时长会慢慢减少,但是,只要你不断的学习如何更聪明的编程,你的质量和效率就不会降低,而且会需要更少的咖啡。
如今的编程环境跟我当年刚步入这个行业时比发生了巨大的变化,现在我们有着各种各样的编程语言,开发工具,开发平台,开发方法可供我们选择。一个人不再可能把这些知识全部都掌握,即使压缩到一个很窄的领域,比如我学习的IBMPC方面的知识,那也是很难的。所以说,重要的是如何在这众多的选项里聪明的进行选择。我最喜欢的一句电影对白是来自《印地安那·琼斯和圣杯》,当那个坏家伙灰飞烟灭后,老骑士说“你选错了”。有这么多金光闪闪的东西可选择,但只有一些是真正有用的。
阅历是一种优势,它能让你知道何时该前进,何时该慢下来。而年轻的好处是对任何事物都感到新奇,从不担心失败。我们用另外一种视角可以把这两种优势融合到一起,我想到了年轻时的史蒂夫乔布斯,那时他拥有所有正确的想法计划,但无法将它们实现。而年老的史蒂夫乔布斯却能够坚持这些想法,并把它们大放异彩。从这点上讲,岁月本身就是一种资源,年轻时保持一种好奇心和闯劲,慢慢的随着年龄的增长,再把阅历和一种长远的眼光融合进来,由此你将不再困惑。
如果你希望在55岁时仍然能是一名程序员,那就永远不能让自己丧失对追求更多知识、更先进的知识、更简化你的工作的知识的渴望。一旦你失去了这种进取的锋芒,快速运转的技术车轮会越来越让你感到压迫,直到最终你只能靠做一些平淡无味的事情过活。
我在24岁、做第一份专业编程工作时,从来没想过55时将会是个什么样子,但我那时就已经知道,我做的肯定是和编程相关的,并且不会回头。
30多年后还会有编程这个行业吗?不知道。在我86岁时还会在编程吗?也许编不了了,但如果可能的话,我还是愿意编程。到了那时,我应该已经聪明到能在30分钟内干完一天的工作了。
或者是我告诉我的机器人助手去帮我完成那些事情,而自己回去继续打盹!
------------------------------------------------------英文原文------------------------------------
Do You Really Want To Be Doing This at 50?
"But large scale, high stress coding? I may have to admit that's ayoung man's game."
No, it's a stupid person's game (sure it's mostly men, but not100%). I'm 55 and have been coding professionally since 1981 andstarted in school in 1973 or so. One thing I've learned for sure isthat coding yourself to death is not worth it in the end.
My recent postWhyI Don't Do Unpaid Overtime and Neither ShouldYouremains my most popular post every weeksince it appeared. Seems I am not the only one who has figured outthat deathcoding is a waste of life. I won't repeat what I saidthere.
To the question of still doing this at 55, in my case, the answeris yes. I still enjoy the challenges, managing complex problems andfinding good solutions. Every morning I read a number of websitesdevoted to technology and programming to see what is new. I figurethe day I don't care about new things is the day I give up being aprogrammer. My morning ritual has not changed since I started myfirst programming job, except in those days it was magazines,catalogs and books plus the occasional conference.
I remember a job I had at that first company (General Dynamics)where I was trained to support the new IBM PC's we were getting.This wasn't my only task but it was something new so no one knewwhat might be needed so I read everything I could get my hands onincluding the entire body of IBM's product literature. Soon the IBMreps were coming to me to find out how to configure and combinevarious products together. I didn't have to learn all this stuffbut it seemed a useful body of knowledge. Today I still learn stuffbecause it is interesting even if the need seems unlikely.
If you aren't curious about the world of programming and otherrelated technology areas then your programming career isn't goingto last. Most of the people I knew who got Computer Science degreeswhen I was in college no longer program anything; they lostinterest, or stopped learning and eventually got run over by thenew technology steamroller. My degree (and a half) was in Chemistryof all things.
Through the years I've morphed so many times I may as well be in aWolfman movie (which was my nickname in high school).
The thing I find most important today is that you should never worklonger, just smarter. Being older does mean you can't code 20 hoursa day anymore, or rather imagine you can code 20 hours a day asit's not really good coding. Is there a real limit to how manyhours a day you can actually be producing a quality application?Probably it does go down over time but as long as you continue tolearn how to code smarter the end result is still quality, justwith less caffeine.
The biggest difference between today and when I started is thesheer variety of choices of languages, tools, platforms,methodologies and in general options that one can choose from (orhave chosen for you). It's impossible for anyone to know everythinganymore, even about a narrow area like I was able to do with my IBMPC knowledge. What matters more is the ability to choose wiselyamong the many options. One of my favorite movie lines is fromIndiana Jones and the Holy Grail, where the bad guy melts down andthe old knight says "He chose poorly". So much glittery stuff topick from but only some is actually usable.
Having experience sometimes gives you the upper hand in knowingwhen to go and when to slow. Then again being young lets you lookat something new and not worry about failure. There is benefit toboth points of view, I think of the young Steve Jobs who had allthe right ideas but couldn't make them work and the older SteveJobs who could take the ideas and make them amazing. The point isnot that either age is by itself a benefit but that you keep someof the curiosity and vision of youth and combine it with experienceand a longer viewpoint when being older so you never becomeobsolete.
If you want to be a programmer at 55 still you can't ever lose thehunger to know more, know better and know simpler. Once you losethat edge the technology steamroller keeps on coming closer andcloser until you wind up flat doing something else for aliving.
I never considered when I was 24 and in my first professionalprogramming job what being 55 was going to be like, but I alreadyknew what I had to do to keep relevant and always a step ahead.
Will programming still exist in 31 more years? A good question.Will I still be programming at 86? Probably not but if it's stillpossible and I still care, maybe. By then I should be so smart Ican do a whole day's work in 30 minutes.
Either that or I will tell my robot friend to do it for me and getback to my nap!