5 ms·
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 w
by Stratoscope 10y ago
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 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%20plan.pdf http://org.coloradomesa.edu/~lpayne/fall%202014/CS1/coding%2... - print it on some 8.5x14 paper, sharpen your pencil, and start coding!
- FuckOffNeemo 10y agoI hope your story isn't or rather doesn't become anecdotal and in the future becomes the norm for those in the system field. This thread has been mostly pessimistic, perhaps there is hope yet?
- Stratoscope 10y agoThanks, you are very kind. But if you read between the lines, you may note that I'm not quite as happy with my story as I'd like to be. There were so many opportunities I've had that I didn't capitalize on. jQuery was one. Another was Visual Basic, the VBX, and being known at the time as a Famous Windows Programmer. Before that was my infamous Steve Jobs story: https://news.ycombinator.com/item?id=7451018 https://news.ycombinator.com/item?id=7451018 Maybe this is one big advantage of youth: you can make mistakes like this and still have many years to correct them. At my age, well, I still do have plenty of good years ahead of me, but I certainly don't have as much room to "pivot" as I used to.
- gaius 10y agoI don't really like the term "coding", because when I got started, a coder was pretty close to the bottom rung. As a profession we have done ourselves an enormous disservice by letting outsiders label us "coders". If the journos that do it became known as "typists" they would explode with indignation.
- hawski 10y agoI am not even 30 yet (but close) and as a generalist with lower-level inclination could see something similar. At my first day at my first job at gamedev consulting company, around seven years ago, I've got PSP devkit with a task to port a game to PSP. Game was using an internal cross-platform framework that had some support for PSP. I learned on the job how to run and debug code on devkit. I had to extend framework's support for PSP. It was very satisfying project. Later on I also learned on the job some iOS and Android programming. I heard about a colleague that was sent to a client as a help in iOS project, when his first experience with iOS was a book that he was reading on the plane. It all worked, because people there were great generalists. After a few companies and pause in mobile development (around 2 years) I applied for an iOS developer job in cool startup. The guy that was checking my competency was asking me many questions that I didn't knew answers to. But I could quite reliably imagine most probable answer and he was totally surprised that I could quickly get to the answers (even if my vocabulary was a bit off), by just thinking. I couldn't believe that someone in his position can be surprised by such things. Later on HR person was asking me why I want to be iOS developer if I don't even have a mac or iPhone. I described my previous experiences and that I didn't have PSP devkit or prototype set-top box (at other job) at home either, but it just did not compute for that person. In the end I didn't get the job, but after all this I wouldn't take it. I think that for such cool new companies their stack is so advanced and so special that they cannot comprehend that some generalist can do the same as many of their specialists in no time. Maybe it is more generalist vs specialist than young vs old?