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?
14 comments
[ 2.9 ms ] story [ 35.8 ms ] threadMy current road map could be summarized as the Euler problems, SICP, and some clojure after I get tired of the implementation specific behavior of scheme.
I have no idea if I'm on the right path or not, but then I'm not really sure that anybody is capable of telling me without a lot more information.
I started out as a hardware guy, and moved slowly over to software over the last 5 years. The great thing about CS is that there is so much you can pick up from material online. Just takes time and work!
This realization can be paralyzing -- you might start over-thinking everything trying to make up for lost time. Don't do this. Sometimes there are no shortcuts in life. And trying to take one could actually take longer.
The good news is that you are interested in doing things and are willing to give it a serious try. Just pursue your new interests without worrying about your "lost" time. If you can immerse yourself, you will catch up sooner than you think.
Taking a data structures CS is a good starting point :)
In spite of all this, I feel pretty good about the future. You should too.
You can get a world class CS education online, for free. If that's not enough, there are online colleges with decent CS programs. It's not too late.
so a short text for you and start over:
Look to this day! For it is life, the very life of life.
In its brief course Lie all the verities and realities of your existence: The bliss of growth The glory of action The splendor of achievement.
For yesterday is but a dream And tomorrow is only a vision, But today well lived makes yesterday a dream of happiness And every tomorrow a vision of hope.
Look well, therefore, to this day!
With either yes or no, if you can afford you might consider taking off 1 or 2 years, moving to a cheap country and erudite yourself(online courses, books - but hell no to college) or just exploring stuff.
Here is some sage advise from Sam Elliot in the movie Roadhouse. Cut it the fuck loose!
The world is full of whiners and loosers. Which are you?
look where nobody else is and go there. Then when the world wakes up you have already been there done that and have years of experience. What makes you tick? What interests you? You have stated you want to write parsers, compilers and other great software. Is that what's really bothering you? You haven't made a great piece of software and you feel that you are a failure? I think you need to write parsers, compilers and other great software.
See you are your own best psychiatrist.