Not the OP but I got my first programming job as a junior in high school in 1980 so I've been at it for 40 years. If that's good enough, here are my answers:
> What ideas proved useful throughout your career
Learning Lisp. I got an enormous amount of leverage out of that, and still do (I'm more or less retired, but I have a nice little Lisp consulting gig at the moment).
> what ideas did you change your mind about?
Before Lisp I thought BASIC was pretty cool (old-school BASIC, with line numbers). I was pretty down on Python when I first encountered it but now I'm a fan.
> What are your hobbies?
I like to hike, bike, ski, travel, fly airplanes, free dive and ride flowriders. I also write a blog.
> Do you still program in your spare time - if so, what?
Yes, but not very much. The last big project I did was writing the firmware for this product:
and the e-commerce system I use to sell it. That was quite a while ago.
> Did you get the PhD?
Yes, because I thought I wanted to be a college professor. Turns out that's not what I wanted, but I'm still glad I did it. But it's not for everyone. It really depends on what you want out of life. Do it because you love research. Don't do it as a means to some other end. It takes way too many of the best years of your life to do it for anything other than its own sake.
> What were the Big Ideas in software over your career that didn't work out? Any that were better than expected?
I've seen a zillion software fads come and go. UML. XML. ISO whatever the fuck it was back in 2000 or so. The vast majority of popular things in the software world are bullshit. The world keeps re-inventing s-expressions with different syntax. Very little has turned out better than expected, though Rust and webassembly look pretty cool. If I were going to do another deep dive into something today it would probably be one of those two things.
> General successes/regrets/advice for these readers!
The world today is awash with computational wealth beyond the wildest dreams of my youth. Take advantage of it. Get a Raspberry pi and noodle around with it. Bring up a web server, an email server, a DNS server. If you're really feeling ambitious, write your own, or write a game. Build a Linux kernel from source. Design your own programming language and write a compiler for it, even if it's just a minor riff on something that already exists. None of these things are particularly hard [1], and the things you will learn and the empowerment you will feel by doing them are priceless.
[1] The hard part of programming is not getting things to work, the hard part is getting things to work well enough for someone else to want to use use.
> What ideas proved useful throughout your career
Learning Lisp. I got an enormous amount of leverage out of that, and still do (I'm more or less retired, but I have a nice little Lisp consulting gig at the moment).
> what ideas did you change your mind about?
Before Lisp I thought BASIC was pretty cool (old-school BASIC, with line numbers). I was pretty down on Python when I first encountered it but now I'm a fan.
> What are your hobbies?
I like to hike, bike, ski, travel, fly airplanes, free dive and ride flowriders. I also write a blog.
> Do you still program in your spare time - if so, what?
Yes, but not very much. The last big project I did was writing the firmware for this product:
https://sc4.us/hsm
and the e-commerce system I use to sell it. That was quite a while ago.
> Did you get the PhD?
Yes, because I thought I wanted to be a college professor. Turns out that's not what I wanted, but I'm still glad I did it. But it's not for everyone. It really depends on what you want out of life. Do it because you love research. Don't do it as a means to some other end. It takes way too many of the best years of your life to do it for anything other than its own sake.
> What were the Big Ideas in software over your career that didn't work out? Any that were better than expected?
I've seen a zillion software fads come and go. UML. XML. ISO whatever the fuck it was back in 2000 or so. The vast majority of popular things in the software world are bullshit. The world keeps re-inventing s-expressions with different syntax. Very little has turned out better than expected, though Rust and webassembly look pretty cool. If I were going to do another deep dive into something today it would probably be one of those two things.
> General successes/regrets/advice for these readers!
The world today is awash with computational wealth beyond the wildest dreams of my youth. Take advantage of it. Get a Raspberry pi and noodle around with it. Bring up a web server, an email server, a DNS server. If you're really feeling ambitious, write your own, or write a game. Build a Linux kernel from source. Design your own programming language and write a compiler for it, even if it's just a minor riff on something that already exists. None of these things are particularly hard [1], and the things you will learn and the empowerment you will feel by doing them are priceless.
[1] The hard part of programming is not getting things to work, the hard part is getting things to work well enough for someone else to want to use use.