I wish I could start over
When I was about 14, I learnt to program by taking a C language course and over a few years because quite fond of programming. I made quite a few single module programs, games, learnt bits of a lot of different things - x86 assembly language, openGL, +ORCs How to crack tutorials, GTK+ and QT for Linux etc etc. I studied Electrical Engineering in college and pretty much stopped programming all of a sudden. I had lost focus completely. The courses were "okay", but I never felt really curious like the way I felt whenever i spent time programming.
After college I took a job in an "IT services" company and stuck to "maintaining" COBOL programs for over 5 years.
And then suddenly about a year and half back, I woke up to the fact that I had pretty much wasted 9 years .
I convinced my manager that I wanted to move to Java because I hadn't done much more that IF ELSE END-IF in COBOL over the 5 years! I learnt Java, familiarized myself with the Java EE stack - got interested in Object Oriented thinking, spent time trying out smalltalk. Thought smalltalk was so awesome, that made me explore some more. On the way I discovered Haskell, functional programming, Lisp and and most recently Clojure.
So, looking back at the last 1.5 years - I feel I am in a little bit better place, but still can't imagine why I wasted the previous 9.
I haven't made any great pieces of software, yet - so I am quite not there. The more I read, the more I come to feel that taking a Computer Science course at college would have given me so much of the theoretical grounding I feel I lack now. I want to write parsers, compilers and other great software that I think my knowledge limits me from significantly.
I wish I could start over. Any advice?