wyrd
Well-known member
"If you work for 10 years, do you get 10 years of experience or do you get 1 year of experience 10 times?"
Steve McConnell - Code Complete: A Practical Handbook of Software Construction, page 768.
Ive been thinking about this quote ever since I first read it. Ultimately I came to the conclusion that Im one of those who has been programming for several years (3 or 4) and have gained 1 year of experience over and over again. Ive been through PHP, ASP, Perl, CGI, VB6, Java, C/C++, C#.NET, VB.NET, ASP.NET, and yet the only programming language I am remotely competent in programming in at the moment is C#.NET. This is because over my relearning experiences I have forgetting the languages in which I once knew. Not good.
I think, finally, that Ive realized programming is not just learning trivial syntax of various languages (C, Java, C#, VB, etc.), which has helped me move a forward a bit. Im finally starting to learn about design patterns and design issues in general.
However, I have a problem.
"Man is an emotional animal." - John Dewey.
Whenever I discover a programming area of excitement, I tend to over do it. Just recently I realized there was more to Transact SQL then simple little SELECT statements, Transact SQL is a full blown language. I almost over did it and bought tons of books to learn a ton of Transact SQL syntax so I could pretend to be some uber Transact SQL guru (obviously being far from it). I had delusions of working for the government and controlling "information" (you may laugh). Obviously buying books on trivial Transact SQL would of thrown me back, yet again, to ground zero. By the time I would of been done reading those books I would of forgotten 90% of what I currently know.
Now that my Transact SQL phase is over with (thankfully I didnt indulge and instead got books to further my general programming skills), Im starting on yet another emotional trip. Game programming. Is anyone here a game fanatic as I am? Im 22 and still play games. There is no greater high then losing yourself in a fantasy world which allows you to forget, if even for one moment, that the real world exists. When I eventually go for a job I honestly think Id like programming games far more then programming software, unfortunately I know about programming software and dont have an ounce of know how in game programming. DirectX is foreign to me. Win32 API is foreign to me. These are gaps which must be filled, and Im sure they will if I transfer to DigiPen. The problem is that Im afraid I may not be able to hold out on my emotions in learning these areas. I may find myself indulging into the Win32 API and trying to learn everything about it, forgetting what I now know. Im also afraid that going to DigiPen will result in going back to ground zero, yet again.
I need a way to apply the skills I have now to future languages and techniques in which I may learn. If I transfer to DigiPen Ill be programming strictly in C++, within months I will have forgotten everything that Ive learned about Transact SQL and .NET. Unless I use good design techniques (including design patterns) in my school projects (which are rarely, if ever, needed) I will eventually forget everything about that as well. If I choose not to go to DigiPen and try to learn Win32 API or DirectX on my own, the same fate may eventually arrive. Ill indulge into these aspects of programming and slowly start forgetting what I currently know.
I need help. Im open to just about anything. Also feel free to write up your own experiences based on the quotes above, itll make for an interesting topic if anyone else is in the same boat as I am. Plus itll make me feel a lot less stupid.
At the very least, thanks for reading. :-\