Hello Giddiyup, welcome to ET.
That post sounds quite, how should I say, sincere. I've done the reverse of what you've done: coding since 99 and trading since not so long ago - or rather making trading systems, but I'm only in my late 20s. It's great that you know exactly what you want to do, and are realistic and prepared to spend enough time to get good at it. With so much trading experience, once you learn programming it will be somewhat easier for you to translate your own actions into computer code. Most system developers hired by companies work with experienced traders which communicate their ideas to the programmer, and in the communication a lot of things get lost. Without the communication breakdown, you on your own could maybe end up creating an automated system that will work quite well.
Now, it sounds to me like you have 0 experience coding. Here's the deal with programming languages. You may have heard stuff like "true pros use c++". Don't let that confuse you, you won't need c++ for a long time (and it's a difficult language, sometimes even for me still). There is however C# which is much easier, in fact it's almost as easy to use as BASIC (if you remember the early 90s) once you get into it. It takes away a lot of worries, and the .Net platoform which it uses holds your hand (profesionally) on a lot of issues. I use that to this day more than anything else, and most trading systems (apart from microsecond HFTs) developed by small and medium companies and hedge funds use it too.
Your goal of "get a job with some firm creating trading algos" is doable, but above all what those firms will look for are systems that you have created in the past that have had a track record in real-time (usually with real money) trading. This track record may take time on its own to get developed, however. On the plus side, they won't care so much about your experience as a programmer, as long as your ideas work and you can explain them.
Unfortunantelly, most coding jobs with .Net languages (VisualBasic, C#, F#, etc) involve boring stuff, creating boring apps and helping people out. I've worked in the game development industry, there are some jobs there too, but that becomes boring after a while also. The good, well paid jobs, come after 5+ years of experience, and maybe a year or two of internships. Maybe you already know that, but I'm just saying.
Anyway, you're on the right path with your own idea, just let me steer you one bit further. Like I said, your trading experience is very important. You can use it to a great advantage. This means my advice is to you to learn basics of programming, then C#, then everything you can get and need, and start working on some trading systems 1-2 years from now (depends how quick you learn and how hard you're willing to work). Once you learn how to make the computer see exactly what you saw when trading, and react to that information exactly the way you would (or as nearly as possible), you could in theory not have to work ever again - or simply loose your money really quick. That good part sounds like a fairy tale, kinda silly I know, but I've seen some people make it. Better yet, if your trading style doesn't fit, and you want to try out something new, you don't have to wait months to see if it works - you can just change your computerized strategy and backtest it for the recent period!
There are lots of C# tutorials online, sample code, etc etc. MSDN is the online Microsoft database (ie huge online help file) and you can find examples and tutorials for everything. You will first want to get yourself familiar with Visual Studio, and then go from there. If you find it hard to get the proper information you think you need, some programming courses might do you good, but my personal belief is that we learn best by example and finding our own information (tho everyone's different so I don't know).
Finally, once you get to grips with a langauge, coding can be fun. At least for me, after all these years. It's constant puzzle solving, it involves a lot of ingenuity and you often have to be inventive and a problem solver. It also requires hard work, and the first lesson you will learn is: when you estimate the time you need to finish something, multiply it by 3 and that's the real amount of time it will take.
Good luck!