Quote: "I could rant on all day about the complexities of AI "
I'm sure you could! I've just recently had the pleasure of experiencing another teams AI system - and it's amazing how the other half lives.
I've already got in to the industry though - the hardest part. Now, it's just learning everything I can, meeting and impressing the right people, and being good.
As for being indispensible as a coder - bad idea. What if you take ill? It's great for developing a 'martyr' syndrome, or holding your company by the short and curlies, but it's bad for a project. I heard about one guy who named all his variables by the alphabet. I.e. the first one was 'a' then 'b' then 'c' etc. When he ran out, it would be capitals, 'A', 'B' etc. Still not enough, he'd start using 'aa', 'ab', 'ac' etc. Only he magically remembered what they all were.
No-one had a hope in hell of understanding his code. As soon as they did - they fired him for being an idiot. A clever idiot, but crazy solo-programmers do not, by definition, work well in a team.
Comments and easy to understand code will serve you well when job hunting, as I'm sure others will tell you.
[edit] Jeku: That's a nice jet on the website, not as keen on the jeep though