I decided to go into CS because I wanted to be a programmer, yet I wasn't one of those kids who programmed from an early age. I had no idea where to start and either didn't have the time or the drive to embark on a rigorous self-education spree. University seemed a good fit to me, even to learn to become a "standard" developer.
That said, three years later I'm nearing the completion of my CS degree, and I understand what computer science really is and love it. I have no plans for further time in academia. I'm also confident in my programming abilities, at least for an entry level job. Would you say a CS course was appropriate for me, or should I have spent the three years learning programming on my own (I had a decent tech support job after high school so the latter was definitely an option)? What if anything would you recommend to people who are interested in programming late in high school but don't have the advantage of having grown up programming?
Sorry, my post was a bit of an early morning coffee fueled rant.
I was really replying to the usual "I did CS and they didn't even mention RoR" posts that usually pop up when anyone mentions CS on a development oriented forum.
If you have done a course and appreciate what CS is and you are confident in your skills then it sounds to me like you have done the right thing. In my experience the absolute best people I have worked with have been been fantastic natural developers who also had a good CS education - but this only pays off in technically difficult areas - either because the domain is complex and/or the solution is complex.
I also wasn't a programmer before I started university, and I haven't regretted getting a Master's in CS one bit. There's some sort of general aptitude for programming you need, and no university education in the world can help you if you lack that. But if you have that, a CS education is a lot of help in making you a good programmer. Not because of whatever languages are in fashion when you get the education, but because of the more timeless subjects: Algorithms, paradigms, complexity theory, and compiler theory. These are the tools you need to be able to quickly pick up a language, any language, and be reasonably good at it.
That said, three years later I'm nearing the completion of my CS degree, and I understand what computer science really is and love it. I have no plans for further time in academia. I'm also confident in my programming abilities, at least for an entry level job. Would you say a CS course was appropriate for me, or should I have spent the three years learning programming on my own (I had a decent tech support job after high school so the latter was definitely an option)? What if anything would you recommend to people who are interested in programming late in high school but don't have the advantage of having grown up programming?