Hacker News new | ask | show | jobs
by michaelangerman 4061 days ago
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.
17 comments

I am 53 and started programming in 1977. I feel EXACTLY the same as you.
Me 3! 56, first prog job was in '87. Now I'm steadily employed in a dream job, working from home, writing mobile apps and exploring new "IoT" technologies. If this job ends, which all jobs do sooner or later, I'm hoping to starting my own company, finally, and ride that into retirement. But life continues to be an adventure and you never know what lies around the next bend in the road!!! Best of luck to you and to people of all ages in this amazing field.
Let's make it an even 4!

Just turned 50 yesterday. Wrote my first contract program in 1982 when I was 17.

Today I teach teams how to rock-and-roll. I also keep coding, but mostly as a hobby. It has nothing to do with programming -- I simply have too many irons in the fire to do all of the things I love as much as I want to.

I guess I might as well pile on. Turned 50 last year. Got my first paycheck for writing code junior year of high school (writing BASIC code on a Commodore PET!) Working on my fifth startup now.
I can't imagine all the technologies and skills you guys have acquired.

If I may derail the conversation a little bit, may I ask if/how you use the things you've learned today?

I mean, is it things like paradigms that have stuck with you like OOP/functional/w\e, or do you always structure your exception handling in a certain way, no matter the language? Are there skills/technologies you've been using since you've started? For example little scripts of basic that you've never let go off that automate things like setting up build servers and the like?

SCHiM: "is it things like paradigms that have stuck with you..."

For me it's always been about problem solving rather than simple fascination with some particular technology. If I can solve a problem with a keyboard macro in Emacs, great. If it requires Perl or Java or javascript, so be it.

I try to use the tool that's appropriate. If I can solve a problem quickly and move onto something more interesting, one-and-done.

If I have to stop and learn something new (e.g., WKWebView in iOS ObjC) to get my task done, so be it, and I'll put in some late nights to get there because at my age, I'm a bit paranoid about looking bad so I try to give the good folks at HQ no reason to doubt me. I spend a lot of time on Stack Overflow and Youtube doing concentrated learning.

But the real thing is what others have also mentioned: properly defining a problem that needs to be solved, proper communication, keep good records, and try to maintain transparency, honesty, and pleasant comportment at all times.

Honestly the older I get, the less I notice people's age. If someone half my age knows something I don't, then the way I see it, they have something to teach me. I've been to many conferences and watched many youtube tutorials where the teacher was very young (from my wizened perspective) but the information is why I'm there and that's all I care about.

What do I think about young people? (you didn't ask but I'm saying it anyway)

I love young people. They have so much spirit, so much energy and creativity. I keep hearing critical (snarky) things about millennials this, X-gen that. But I don't see it. The young people I've been around (for a while I was back in school full time, surrounded by 20-somethings and a few 30-somethings) were a joy. Fun, humorous, inquisitive.

Everyone has his faults, not least myself, and I believe as we get older we become more tolerant of others' faults and shortcomings. In fact that may be the single hallmark of growing older (apart from physical issues).

No more BASIC, but I still code in Common Lisp whenever I can. And I'm using some library code that I wrote when I was in grad school 25 years ago.

Once you grok Lisp, everything else is easy. You come to realize that the vast majority of what passes for "new technologies" is really just a re-discovery of something that exists (or is easily implemented) in CL. That makes it a lot easier (if a tad frustrating at times) to keep up.

EDIT: CLOS, and generic functions in particular, are a HUGE lever that no other language has co-opted yet.

I'm not quite in the same age range, but north of 40, and have been doing this for > 20 years.

The tech changes - I don't use BASIC or Z80 machine code day to day. The skills that I can speak to, and the skills I see from others with this level of experience, are problem solving and communication, and secondarily the confidence that comes from having made mistakes. Few projects fail miserably solely due to technical issues and skill; in my experience failures come about because of poor communication (including documentation, but also speaking, reading body language, office politics, etc).

Interesting the pattern in this thread - I'm 57 and started in 1973!

There's plenty of languages I've used over the years that I have no use for today, or hardly even remember: Basic, FORTRAN, assembler, Pascal. None of those languages even had exception handling, so it's hard to say that it influenced my thinking on the subject, except by forcing me to be familiar with the alternatives.

Today it's C++ and C# that pay the bills, with as much Python as I can sneak in. Next up in the queue is Javascript, for which I'm admittedly overdue, but that one's entirely on my own time.

Here is the first program I ever entered into a computer.

1 8 + A 5 + 0 0 + 6 5 + 0 1 + 8 5 + F A + A 9 + 0 0 + 8 5 + F B + 4 C + 4 F + 1 C

I remember how much like some kind of incantation it was. I still get that feeling. And I've had the good fortune to work some fun, powerful, and interesting magic with those incantations.

I suspect that most younger people haven't yet seen their tech choices slip into decay and disuse. And they hang on tightly, hoping to expend less effort in learning as time goes by and they master that tech. It's a vain hope. The essential part of the experience is the underlying creativity, the joy of getting to the next ledge, and really understanding what a marvelous thing a computer is.

I fell as you guys. I am very excited with technology since I started. There is so much new and interesting things to play and read that I have no time to do it all.

I can clearly that each year more and more interesting things appear. The speed is also increasing, in way I can't digest it all. It's difficult what to choose, to prioritize is the key to deal with it.

I always get myself wondering how much new things I will see next years.

I'm 30 now, and I started with 17.

I'll be 52 this November. Have been coding mostly as a hobby since '83, with peaks in programming intensity at different stages of my life: sometimes to scratch an itch and sometimes doing some contract/consulting work. Still try to hit the computer whenever I can, but my health's been letting me down lately - nothing too bad, but it's been affecting the focused time I need to do programming right.

So now when I sometimes think of my mortality, the thing I regret is the programming I can't do when I'm gone. Or maybe there is programming after death? I'm hopeful. :)

In the meanwhile, the free time that's opened up from not programming as much is being wisely invested. I'm working hard on my guitar, and before I go dammit, I'm going to shred like a pro!

Happy birthday! :)
57 here, programming since 1972. Yes, it is an incredibly exciting time. It's particularly great to see AI taking off after all these years.
Almost 51 and I'm only a couple years away from my 40th programming anniversary. I can't imagine doing anything else ... I get paid but it's not work for me!
You aren't dismayed by the direction some things have gone? Are you using Java by any chance?

Edit: seriously, what is your env like? Are you into windows, osx, unix, linux?

I'm 30, started 1.5 years ago, and feel the same :)
What are you doing that it's keeping your interest?

I sometimes find myself getting tired of technology and while I love software development, I often think about not doing it anymore. After a while it gets old constantly dealing with other people's decisions.

An easy example is working with Powershell Remoting can be a nightmare if you're not intimately familiar with both Windows itself and Windows Remoting specifically. It's extremely hard to simply use it as a shell without so much deep knowledge, something I don't find to be the case on unix systems.

Absolutely not an attack on Windows, just a recent example I've come across where I don't want to have such a deep knowledge of Windows, but I'm forced to in order to deal with a tech that, in theory, should help me be productive without having such deep knowledge.

I have my days where I just get tired of it all. The day I realized IIS forces you to load DLL's in child applications because the parent loads a DLL (even though they can use separate app pools) is one example. I can't imagine why that's the default.

I find myself having to go home and work on things like homegrown emulators and the like just to keep up my love of technology.

>>I sometimes find myself getting tired of technology and while I love software development, I often think about not doing it anymore. After a while it gets old constantly dealing with other people's decisions.

I feel like you have the beginnings of an entrepreneur here. You should start something that solves this problem you're seeing. The last 2 people I've heard make similar comments ended up starting their own tech-consulting firm. :)

1. "Hate it when X becomes Y and you actually just wanted Z"?

2. "Make an app or start a company that can assure people that X will become Z as quickly and painlessly as possible"

3. ??? (Something to do with YC).

4. "Become a millionaire"

Sounds like you mostly have issues with Windows? If you were using open source software, you could use your considerable expertise to help improve the issues you've found.
> I sometimes find myself getting tired of technology and while I love software development, I often think about not doing it anymore. After a while it gets old constantly dealing with other people's decisions.

I feel you here. I've been the go to sysadmin at every startup I've worked it. Whether it's Windows Servers, vSphere clusters, VLANs on HP or Cisco, it gets old doing the same thing at a different datacenter every couple of months. Especially when you have to learn some vendor specific crap that will almost NEVER be relevant to anything else outside that specific use case.

Thankfully I've been able to move (push? ;) my clients onto more open technologies like Linux, LXC, Openstack etc. all of which means the skills I learn doing this sysadmin stuff are at least tangentially relevant to my main job (unified comms development).

Ultimately like a lot of oldies here (myself included ;) working on the stuff you really want to do in your spare time is where you learn the cool stuff that helps you land the next great gig.

As someone in their late twenties who is just starting a career in programming, it makes me very, very happy to hear things like this.
Hahah don't jump to conclusions, and don't trust anyone over 30.
(-: hehe don't let life pass you by, and don't trust anyone under 30.
Since I believe in taking diversity of advice, I shall now trust only people who are exactly 30.
Only trust people whose age is a prime number.
My dad just retired from a programming job at 66 years old, and now he's back down to one job, doing programming at his own business for clients like big manufacturing companies. One of his complaints before his retirement is that some of the younger people, including some in their 50s, weren't willing to try new things or follow state of the art practices.
Just have to say how encouraging this thread has been. I'm 37 and have been thinking about what my career looks like when I'm "old" :-) Thanks for giving us relative rookies some hope.
I'm approaching 50 and I think programming is more exciting now than it has ever been. There are so many interesting technologies out there that I want to learn, master, and use (e.g. Elixir, Erlang, Clojure, Swift, Lua, Haskell, and myriad frameworks).

I also like the way open source options have completely eliminated the necessity for me to work with commercial languages and technologies, which I always found a bit tedious.

It truly is an exciting time to be a software engineer. Barring any serious illness or accident, I'm looking forward to doing it for another 30 to 40 years.

Tangent: I find it interesting that Erlang is an emerging technology that you are interested in learning at age 50, and yet it has been used in production with a steadily growing community since you were in your 20s. It has simply taken a few decades to grow enough to be a common item on programmers' radars.

I find it fascinating that the gradual adoption of new technology maps onto human time spans like this. This makes me optimistic that even technology that is far ahead of its time can succeed when developed with patience.

It helps that you can run it for free on anything from an iDevice to a hand crafted hipsterbuntu server farm, where in the past you had to do it on expensive Ericsson kit deep inside of telco land.
I didn't say it was an "emerging" technology. I said it was an "interesting" technology.
Also 55, though didn't start programming until 1978. I love it, but I'm more apprehensive these days about being able to continue as the free-lancer I've been for the last ~15 years. I have a few biz ideas (and still riding one from 18 years ago that has made me a tad lazy), but sorely need a collaborator or two.

Maybe I should do a graybeards Meetup group or something. Get some reverse-discrimination going...

Great idea. Probably more of us around then most people realize.
I'm only 35, but it's obvious there's a lot of work to do to "master" a particular language, or at least paradigm. At the point where you feel you've mastered something, or you've reached the point of diminishing returns? Move to a slightly different paradigm, re-apply your accrued knowledge, learn new things, and grow more.

Yes, the field can be insular, yes, there's benefit from cross-pollination from other disciplines, but the field is vast, and it's reach is still expanding. There are plenty of people immigrating and emigrating from CS that are sharing ideas, you don't have to be one if you don't want to be. If you're happy with what you do, and you can make a living doing it, enjoy it. It's privilege, not a curse.

> 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.

I am in the opposite side, I am also very excited about computer science so I focus now on sales and business development because I can earn much more than developing software. Now coding is a hobby again and a complementary knowledge to sales.

Interesting, how much can you make?
Much more. It is important to note that I am the cofounder of the company so selling impacts my income and it's not a commission.
I am 57, been programming professionally since '79, still doing it on a part-time basis, which is perfect for me. Taught me some Angular awhile back. RethinkDB looks interesting. I agree with all who have said that now is the best it's ever been for a dev; web, OSS, cloud, so much power and leverage. I can't see myself not doing some software development well into the future.
I'm 46 and super excited about coding and learning new stuff even after 26 years. I feel no different to my 25 year old work mates.
Exactly. Remember that disease called 'progeria', where a young person ages physically to be old in like 20 years? Yet they still feel like a 20-year-old? That's me, except it took 50 years to get here.

I.e. There are plenty of 20-somethings that learn one tool and don't want to switch. Don't blame age on a 50-year-old being stuck using the tools they know; blame the person.

I’m 43 and I do worry about this. But… not so much. Been programming since 1982 when I was 10... on a Commodore PET. I was instantly addicted, even though it was a green on black screen, needed to load code on a slow cassette-tape device, and was slow as heck. ;)

You see, in this career you have to be willing to drop everything and learn a new thing. All the time. Make learning new things part of your career.

My strategy is to watch for the “next big thing” and stay at the leading edge of that. 10 years ago, for me, it was the Ruby language, and that has borne much fruit. Now it looks like it’s becoming Elixir, so I’ve been building up a portfolio in that language… just for fun (and maybe profit. Well… Probably profit, down the line.)

Are there 20 to 50 times more Ruby jobs than Elixir jobs right now? Probably. Were there 20 to 50 times more Java jobs than Ruby jobs 10 years ago? Yes. (See where I'm going with this strategy?)

I may not stay as fast as the newest coders, but I will write better code in less time than the guy who writes faster code with more embedded technical debt (which must be paid off in spades, with time, later on), and I’m pretty sure that my ability to mentor others is top-notch, and any good company with 40+ cohorts in management (if also including younger on the front lines) is going to recognize all of that.

I also think that (like it or not… and yep, I struggle with this too) it’s even more important as you age to stay on top of your health… especially in a sedentary job like engineering. It may be a conflating variable here- the demands of family and career (in addition to the effects of age) may add to an engineer’s waistline and double-chin and consequently reduce his “oomph” (or to put it blunter, his T), and ALL of this may contribute to a distaste by the younger teams in hiring the 50+ engineer… Not the age itself, per se, but the impression and deleterious health effects that may typically come along with it. It would be interesting to see statistics which took fitness into consideration.

It may of course seem inappropriate to mention, but the statistics are out there-

http://www.canada.com/health/Bias+against+obese+people+incre...

http://listverse.com/2013/09/27/10-frightening-ways-we-discr... (scroll down to #8)

http://business.time.com/2012/05/02/why-being-overweight-cou...

I DO NOT condone this (heck, I'm a bit overweight right now and these stats are working against me... I'm just aware of them), I'm just wondering if this is a conflating variable.

To all you budding and early-career engineers- If you're doing it because you love it... Don't worry too much. Just stay on your toes, be willing to learn always, and by all means DO NOT EVER "marry a company." The age of the 30-years-at-one-company committed engineer is DONE. You need to look out for #1. Your career will benefit greatly if you switch jobs every so often... Employers do not have your best interests at heart. Don't believe me? http://www.forbes.com/sites/cameronkeng/2014/06/22/employees...

Lastly, if you're 5+ years into this career, NEVER settle for 2 weeks' vacation to start. It's not only a load of bullshit, it's institutionalized hazing AND it hurts the employer (because you'll be less productive overall for the same pay)! http://www.theatlantic.com/business/archive/2012/08/the-case...

re: elixir:

What do you think about golang or rust?

Rust seems like a fantastic candidate for a C++-layer replacement.

I went into my thoughts on Go here, a week or 2 ago

https://news.ycombinator.com/item?id=9409803

I went into my thoughts on Elixir here, around the same time

https://news.ycombinator.com/item?id=9428318

is Elixir a new trend? Because it seems I'm completely out of the loop here.
Yes, and maybe. ;)

http://elixir-lang.org/

So far I love it. It's bent my brain into pretty shapes.

It borrows a lot from Erlang, which it sits on top of, such as incredibly fast process spawning, and the OTP library.

But its syntax is sooooo much nicer (at least coming from Ruby).

The potentially extreme fault tolerance ("nine nines" is not unheard-of), and things like hot code deployment, appeals to me as a web developer.

It also has some unique features as far as languages go, I believe... such as full-fledged macros in a non-homoiconic language.

If you want to dabble in it, Dave Thomas' book on it is awesome: https://pragprog.com/book/elixir/programming-elixir

I don't know you, but I'm thirteen years your junior and this statement gives me hope.
I'm exactly 10 years behind you - started programming computers as a job, i.e. employed, when I was 15 in 1985, and I expect I will be coding until I die. Its the only way I see a future for myself as a developer. That, or learn farming.
What patterns do you see repeating themselves in software? Are there any technologies in particular that you think have a strong grounding in improving on past mistakes or any tech you think is a flash in the pan and has already failed before?
49-er here. It's still as much fun to code as it ever was.
well, it is good that you like the things you do. at your age, we youngsters tend to expect you to be in the management level, not at individual contributor level.

from time to time, i would see our team hiring engineer with gray hair and requiring special mechanical keyboard, and we all thought "mm.. interesting."

>requiring special mechanical keyboard

Well youngster, you seem to be falling behind the latest trends. Maybe you're not as young as you think. Don't you know all the fashionable programmers/gamers are using mechanical keyboards?

He speaks truth, i am one such youngster programmer/gamer. Mechanical keyboard FTW.
IBM Type F or M - which r3minds me must build that Aurduio Base USB converter of my Type F
All that clickety-clack must be so satisfying. And annoying to everyone else.
Screw everyone else. Look out for #1 as he said. I like to know when I clickety-clacked the key I was looking for. Mechanical keyboards ftw.
Not all mechanical keyboards are loud or clicky. I use one with Cherry Browns and mostly type without bottoming out the keys, and it's no louder than cheap keyboards.
I love the browns! But Blues are a lot more fun (and loud!) to program on ;)
Because loudness equates to competence?
You don't have to get a mech that is loud.
The only reason you're not demanding a mechanical keyboard yourself is that you're not old enough to have used one. They have a totally different feel that is more efficient for fast flawless typing. Not by a huge amount, but if you're in a position to specify your tools why would you not choose the best? I'll bet he asked for a big high-resolution monitor too, and you didn't even blink.

Go ahead and aspire to management if you want, but don't assume everybody wants the same as you. And I hope your attitude changes before you achieve it.

Fast touch typist here and I can't say the transition away from mechanical keyboards had any impact on my speed. Shallow travel keys and minimal finger exertion are nice.
I am a "youngster" and I wouldn't mind a 60-years old developer around. Someone who doesn't consider something like Node.js a "new" "technology" and moving code client-side SPA-style a "new" "trend". Even without realising that youth is a temporary state.

PS: mechanical tenkeyless keyboards ROCK!

Hope you don't have to learn this from experience, but even young people can experience RSI and need special keyboards.
They say my generation (millennials) will suffer significantly higher rates of RSI due to more keyboard, game controller, and smartphone use.

RSI is no joke.

The most frustrating thing about it is how hard it is to find knowledgeable people. I went in to the doctor for RSI symptoms that were nothing like carpal tunnel and she insisted I had to have carpal tunnel and started talking about getting surgery to release it within like 5 minutes of us meeting. Perhaps the most galling part of this was where she went "here, let me show you" and had me do the various exercises of holding your hands together that are supposed to lead to tingling if you have CTS and when that didn't work she just said "well anyway, you have carpal tunnel syndrome." Thankfully my physical and occupational therapists were more helpful.
Wow, your experience mirrors mine exactly. Turned out to be a torn ligament.

People wonder why I don't trust doctors, it's not that I don't trust all of them, just most I've dealt with are suspect. There really needs to be a better physician review resource online.

I read some of the literature about RSI and this is a pretty common experience, which certainly does shake your faith in the medical establishment a bit. RSI is not even very rare.

I guess now people think I'm a crank; I posted here that I thought doctors just don't spend enough time with their patients and it's worrying and I was downvoted and mocked pretty hard.

Unfortunately I'm not confident that online resources would allow better decisions. I'm not convinced that patients would, by and large, do a much better job evaluating the quality of their doctors' care. The doctor who just gave patients antibiotics whenever they asked for them, whether or not it was appropriate, would probably be more popular in such a service than the doctor who took the time to understand their condition and explain that that wasn't an appopriate treatment.

Do you also expect engineers to drop like flies as they get older so that their numbers would become more in line with the number of available managerial positions? Cause that sounds like a serious flaw with your thinking.
As a programmer of only 2 years I've found the opposite.

I like when the older programmers are more hands on, because I can learn a lot from them.

I also use mechanical keyboards.