I wonder if I'll be the oldest one in this thread? I'm 64, turning 65 in January. Been programming since 1968.

I don't really like the term "coding", because when I got started, a coder was pretty close to the bottom rung. You had Systems Analysts who wrote specifications, Programmers who turned those specs into flowcharts, Coders who translated the flowcharts into actual code on coding forms [1], Keypunch Operators who punched that code onto punch cards, and finally the true high priests, the Computer Operators who ran your batch jobs and gave you back the printouts.

At least that's what they told us the serious enterprise software companies did. In truth, we were a bunch of hackers who punched our own programs on Teletype machines.

Later I got into writing DOS applications and TSRs and custom BIOSes, and then Windows programming starting with version 1.0. Some application programming, some language design, and some systems hacking like figuring out how to hook into the Windows font rendering before they had scalable fonts, so I could render Adobe's Type 1 fonts behind Windows' back. Worked on Visual Basic and created the VBX interface.

10-15 years later, I switched to web app development and had a pretty good run with that. Helped develop jQuery and taught a lot of people how to use it, got into GIS and mapmaking, did a bunch of election results maps for Google.

Then a funny thing happened: I got into VR, and it turned out all my Windows experience was relevant again. I was talking with a VR startup today and the CEO said "I thought you were just a VR developer - but you've done all this Windows systems hacking too? Maybe you can help us!" (They are trying to do some tricky DirectX system integration.) And the VR work also gave me a chance to get up to speed on Android and iOS development.

They say to leave everything more than 10 years ago off your resume so people won't realize how old you are. But if I did that, this VR company wouldn't have noticed my Windows experience from back in the day. And if you meet me you'll figure out my age soon enough!

At this point I've programmed in about 40 languages and a bunch of different platforms. If you ask me what my greatest strength is, maybe it's that I'm comfortable jumping around all sorts of languages and OSes, and I can pretty much always figure out a way to hook them together.

But I envy people who have become world-class experts in one important thing. One friend is a data scientist who does everything in Python. Another is an iOS expert who knows everything there is to know about Objective-C and never wants to use another language.

So maybe jumping around so much is my great weakness too. When I talk with companies, they are often looking for someone who is the best at one particular thing. It may be data science, Android or iOS development, web front end, or whatever, but they want that one specialty. They may talk about "full stack" developers, but it tends to be a pretty specific "full" stack.

What is the most productive role for someone like me who has worked on so many different kinds of systems that I've lost count?

[1] To get a taste of the old days, search for https://www.google.com/search?q=fortran+coding+form and you'll find some FORTRAN coding forms like this one: http://org.coloradomesa.edu/~lpayne/fall%202014/CS1/coding%2... - print it on some 8.5x14 paper, sharpen your pencil, and start coding!