I can't say don't go back to get a degree, but I can speak from my own experience that I learned more in my first 1-2 years working than I did taking classes. CS is very centered around academia and the science of computing, not how to program and get things done.
You forget stuff too eh? Here's a simple solution that I think everybody should do, not just you. Take notes on what you do. Keep a little recipe book of things you've had to look up and figure out. At least you might recognize that you've seen the problem before and have solved it, then you can just go to your own reference to refresh your memory. If you're diligent you'll get a great resource in the end. Make sure if you do this to back it up.
Honestly, it sounds to me you read HN too much. There's a lot of shit on here about what everybody thinks makes a decent programmer and it can make anybody feel that they don't have skillz. Take it with a grain of salt. If you like what you do, you're always interested in learning more and you realize you don't know it all(this obviously is the exact opposite of your problem) then that's enough.
So learn about compilers and discrete math, and FFT, etc, if only to give yourself some familiarity with them for future reference. But please don't force yourself to learn about all of that unless you've got a keen interest, and learning about each subject is the goal rather than a chore that's in your way of being a "good" programmer. Learn what you need when you need it or you're liable to burn yourself out.
I too am sorry to hear about your dad.
Whatever you might think about you being a "cargo cult" programmer you sound like a good guy. Good luck!
You forget stuff too eh? Here's a simple solution that I think everybody should do, not just you. Take notes on what you do. Keep a little recipe book of things you've had to look up and figure out. At least you might recognize that you've seen the problem before and have solved it, then you can just go to your own reference to refresh your memory. If you're diligent you'll get a great resource in the end. Make sure if you do this to back it up.
Honestly, it sounds to me you read HN too much. There's a lot of shit on here about what everybody thinks makes a decent programmer and it can make anybody feel that they don't have skillz. Take it with a grain of salt. If you like what you do, you're always interested in learning more and you realize you don't know it all(this obviously is the exact opposite of your problem) then that's enough.
So learn about compilers and discrete math, and FFT, etc, if only to give yourself some familiarity with them for future reference. But please don't force yourself to learn about all of that unless you've got a keen interest, and learning about each subject is the goal rather than a chore that's in your way of being a "good" programmer. Learn what you need when you need it or you're liable to burn yourself out.
I too am sorry to hear about your dad.
Whatever you might think about you being a "cargo cult" programmer you sound like a good guy. Good luck!