I am 55 and have been programming computers since 1975 when I was 15 years old. Do the math, I have been programming now for 40 years. Recently, I had a conversation with someone else about this topic and I told them that I have never been so excited about my career, the field of computer science, and most importantly the opportunities that exist today in the field of technology. The excitement surrounding too many topics to list is amazing. I only hope and wish that I am able to stay healthy and continue programming to the day I die.
When I was a young man, a slightly older associate told me that "programming is a trap". What he meant is that if you are relatively smart, you can get a CS degree, get good at it, and go earn a fantastic income right out of school. I heard the words. I understood the words. I agreed with the words. Even now, 30 years later, I keep asking "is this a trap that I choose to remain in?" I still love programming, but it is a trap in that I've not, for a long time, seriously tried doing anything else. So for me it has been 30 years of regular retooling, and likely another 20 years of the same. Unless I decide to open the trap and leave.
As someone who started programming during the mid 80's:<p>- Everything I've learned may be applied to most languages. Meaning that writing testable code generally translates from BASIC to Javascript.<p>- Programming should always make you feel stupid. Feeling comfortable with something means that you stopped learning new things.<p>- Experience != Knowledge. My biggest issue with some older programmers is that they tend to confuse experience with a language, codebase, or framework with knowledge. The more you learn the less experience you will have. Think about it. You start learning Javascript after years of working with C#. What does that experience work for now? You will surely have an understanding of all the basics. But you have not yet been bitten by the == and === operators. You have to get that new experience. As time passes you will realize that it becomes a game of knowing enough versus being experienced enough.<p>- New technologies are exciting. A lot of people are scared by them. They feel they will be replaced. Their comfy jobs taken away. I'm not scared of this. Change is exciting because it means that I will have the chance to learn something.<p>- New languages might be rehashed versions of older ones. But they contain something different: Somebody else did it. That's reason enough to give it a try. Javascript might not be the most universally praised language, and it doesn't really bring much new to the scene. Its still someones interpretation of how a given problem should be solved. You might not agree with it, but that wont stop people from writing lots of JS code.<p>- Nostalgia is fine. Don't let it get you. Sure, I miss typing BASIC into my old C64, but its no longer relevant. I could pick up demo'ing as a hobby and learn lots of stuff about old chips and memory management tricks. It wont really help me to stay employed much.<p>- All these new devices are scary! I grew up programming for one kind of device. Now I have to take into account tablets, phones, tvs, and whatnot. Embrace it. Mobile is here to stay. It will keep morphing and completely remove desktop computing as we know it. The same way desktop computers removed mainframes and terminals. It is scary. Try and get excited. There is nothing more mind blowing than watching a several months old child tap on a tablet to play a game.<p>/old guy rant
"Unlike Engelbart, I have re-tooled. I now work in JavaScript in the browser and on the server. I had to walk away from the codebase that I loved. I understood that the price of relevance is to give up fighting at some point and settle for a partial victory. I think I was right in the development environment I created. But right doesn't mean the world uses what you created."<p>Yep. That's the key to staying relevant: change with the times.
Is this the old people thread?<p>I'm 37. I think ageism is a very real problem and I hope people will consider doing more suing even if they don't have to. Some people need to be sued. We need some class actions.<p>Right from the top down of Silicon Valley ageism is rampant and in your face. For example, Sam Altman has publicly made explicitly agist remarks.<p>You kids may not think its a big deal now but give it ten years or so. You will see.<p>Of course in 10-15 years everyone will be in the same boat, being completely ignored by the ASIs.
Anyone interested in Doug Engelbart and his pioneering work at Stanford Research Institute (or computers in general) should check out What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry [0]. It goes back much further than Xerox or Apple to tell the tale of Engelbart's visionary Augment project and how his ideas led to the birth of the PC and the internet.<p>If you're not interested in purchasing the book, he gave an incredible hour and a half long demonstration of his system at the Fall Joint Computer Conference. Dubbed The Mother of All Demos [1], he displayed (for the first time in the world) remote video conferencing, hypertext, text editing, and a graphical windowing system. In 1968. Definitely worth a watch.<p>[0] <a href="http://www.amazon.com/What-Dormouse-Said-Counterculture-Personal/dp/0143036769" rel="nofollow">http://www.amazon.com/What-Dormouse-Said-Counterculture-Pers...</a><p>[1] <a href="http://en.wikipedia.org/wiki/The_Mother_of_All_Demos" rel="nofollow">http://en.wikipedia.org/wiki/The_Mother_of_All_Demos</a>
Interesting, I just hired someone in mid 50's for a programming role. We've seen at least a dozen candidates and he did by far the best on the phone and code test. Now I'm happy to have him on the team. In a industry with a shortage of people that are good I'm surprised anyone can afford to discriminate good candidates based on their age. I think the key is being good and getting along with people. I've interviewed some older guys that were not only bad but were coming with an attitude that they were going to teach everyone here.
I was looking at some of the code for one of his projects that is a little node http server. I don't really know JS or node at all, but can someone explain this to me:<p><pre><code> function secondsSince (when) {
var now = new Date ();
when = new Date (when);
return ((now - when) / 1000);
}
</code></pre>
I'm assuming now returns seconds since some fixed point in time ( epoch ) when when someone passes in the 'when' argument, it must already be formatted a certain way, or node/js somehow managed to figure out the input? How would it deal with 5/8/2015 vs 8/5/2015<p>Or this is just a very case specific function and the input is already sanitized in a way that is prepared for this function?<p>github is here: <a href="https://github.com/scripting/pagepark/blob/master/lib/utils.js" rel="nofollow">https://github.com/scripting/pagepark/blob/master/lib/utils....</a>
The more interesting post was the link to Phil G's blog post about the MIT reunion:
"The medical doctor was at the peak of his career and in no danger of being fired. The university professor had the security of tenure and was looking forward to a defined benefit pension starting six years from now. The corporate attorney was finishing up a prosperous career. The engineers who’d chosen to work in industry, however, were a varied lot. A woman who’d taken a job at a defense contractor was still there, 30 years later. The super-wizard Lisp Machine programmer was now in a senior technical, but non-supervisory role, at a multi-billion dollar dotcom (not necessarily getting paid more than a competent 30-year-old, however). About half of the engineers, however, talked about being pushed into a financially uncomfortable early retirement and/or not being able to find work."
So far, it looks like nobody is commenting on Dave Winer’s own work.<p>Everybody has been influenced by Engelbart, but nobody uses NLS. Merely the ideas went into all the computers that we use today. Engelbart was so frustrated because he had more great ideas, but they were difficult to develop and he couldn’t get funding.<p>Winer specifically mentions Userland Frontier. It was a useful tool, which I’m sure helped with the development of RSS, just as NeXT Project Builder helped with the development of WWW. The problem with the Engelbart comparison is that there are countless other development environments, many of them free and/or not in a dialect of C and/or available via git, while the Mother of All Demos was unique.<p>I think the open-sourcing of Frontier was too little, too late. Frontier is an impressive achievement, but I don’t see why it should be interesting to me.
I play a lot of music with folks older than me... I'm 37, and the drummer in a blues band I play with is 73 (he's a neat guy- he was in the 13th Floor Elevators).<p>I've played with folks in their late 80s, and most of the folks I play with weekly in a large jazz band are between 50 and 70. I also play bi-weekly with an orchestra with members ranging from 12-82.<p>Maybe I lack the same perspective I lacked when I was younger (and thought that 45 was pretty old), but I absolutely don't see how 60 is old. 80 is old, maybe, but 60 just isn't that old, and I don't mean that in the attitude sense, as with:<p>"The ones that love me say I'm really young, and I appreciate that. I think they mean my thinking is flexible, and I'm excited about the future, like a young person might be."
You wonder why people aren't curious?? I'm 28 and I would pay money to spend a day talking about coding with you - I'm "senior level" at my company but that just means I don't have very many people around to mentor me. If you're near the Seattle area I'd love to buy you coffee.
This is a great thread. What I have appreciated most is seeing the long-term vision that older programmers have - thinking in terms of change over decades, not years.<p>Working in the web industry, the second-hardest thing I find (after pace of change/fascination with "New! Shiny!") is the vision of people can be measured in months to 3-4 years. Applications are not built with the thought they will be running in a decade; it's assumed they'll be rewritten in New Language X with New Architecture Y long before that.<p>To older programmers: if you work in the web field, how do you handle/deal with this?
Not that I condone treachery, but growing up my father used to have a famous line "Old age and treachery will beat out youth and enthusiasm any day". And although he wasn't a programmer, but rather an investigative thinker, his subtle manner of obtaining voluntary compliance seemed to win the day. Whilst not treachery in the blatant sense, there was allot to learn from this wisdom which is only gained from life experience. Would I have hired Doug, probably, but I think maybe I would have been better self-served being HIRED by Doug. My age - 43 and irrelevant IMO.
Part of the problem, at least in America is one that people don't want to talk about. The industry has globalized greatly over the last couple decades, and many companies hire in areas that have no labor standards. Companies are operating under US labor standards but are hiring people in greater numbers in China and India, some to work in the US. In those places discrimination by age is commonplace. Additionally, there are a large number of foreign managers working in the US who don't understand why they can't just openly discriminate by whatever standard they want. and it makes sense they are confused if you're allowed to discriminate in some cases but not others at the same company. No one regulates US based corporations hiring people in overseas markets for US jobs. The problem is so bad that many resumes that US managers in US companies have sitting on their desk contain things like age, birthplace, country of origin, family members, and even blood type. It blatantly violates US law.
"The processes I use, investing in good tools and underpinnings, and paying attention to good features of other people's software, makes it easy and quick to try out new ideas. Some of them are really worth it."<p>What processes is he using? What tools and underpinnings that allow him to quickly try out new ideas?
Those who do not know who Douglas Engelbart is should see <a href="http://en.wikipedia.org/wiki/The_Mother_of_All_Demos" rel="nofollow">http://en.wikipedia.org/wiki/The_Mother_of_All_Demos</a>. If you have time, watch the demo to see the state of the art in 1968.
I read an article recently that said something to the effect that most people stop listening to new music at age 33. I kinda feel the same about programming. There are a lot of people still doing it, but not as many that are truly excited about learning new things.<p>When we bring on young people they have a ton of energy and are excited to try every new thing which, don't get me wrong, is awesome. But they do occasionally criticize me for moving too cautiously, even though I am plenty excited about trying new things. I always think to myself, call me back in about 15 years and we'll see whether you evolve into the rockstar that you envision yourself to be, or else if you stagnate, burn out, move onto something else, etc. I always hope they do become the rockstar.
I'm 18 years old and I just got my first significant programming job building android applications for a medical device company. I must say its inspiring to read something like this. I've heard stories from mentors and professors about what it takes to stay relevent in the field computer science. It's odd to think that the technologies I've devoted my time and energy could be all but useless by the time I turn 30. Maybe it's wrong, but I dream of a post Moore's Law era where development tools can finally mature and the best programmers are the ones with 40 years of experience.
I can imagine a time in my distant future where I will feel unappreciated and/or unable to keep up with technology the way I can today (though admittedly even today it's not an easy task given the trajectory. I'm pretty certain we're on an exponential curve).<p>What is the gift that will keep on giving? Write about what you know. Write about your experiences and insights. Even thousands of years from now people may come across your work and given the advances they will be living amongst will almost certainly be interested in what you had to say.
Well remember: 74 is the new 24, <a href="https://www.youtube.com/watch?v=7u5c-Qndqio" rel="nofollow">https://www.youtube.com/watch?v=7u5c-Qndqio</a><p>(The artist that did that music video is 74)
I'm 30 and a senior programmer. What should I be doing to ensure I have career options at 50? Is management inevitable with individual contribution primarily reserved for scrappy youngsters?
I'm 30 now (from time to time I feel that I've already lived enough and am mostly done), the idea of expecting at least 30 productive years ahead of me is intriguing.
Recently I saw a conference presentation from an 80 year old who had just created a new CPU on an FPGA and ported a graphical operating system onto it :-) <a href="https://twitter.com/lukego/status/436558489910255616" rel="nofollow">https://twitter.com/lukego/status/436558489910255616</a>
I'm only 35 (in hex, ha, ha!) and I've been programming professionally since 1985 when the earth's crust was still cooling. It's still a blast.
One of my mentors is in his 60s (I think). He's an extremely successful architect/consultant who still does plenty of coding. His enthusiasm is what energizes me (just turned 30).<p>I'm not saying that people don't get tired/slower as they get older (I struggle with it), but I don't think it's inevitable.