At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
What are your views about it ?
Agreed! But going to college is not only about programming knowledge. You will also learn about various aspects of computer system that related to programming (and by knowing this, you will be able to make better decision about how to program better) E.g. by knowing about database design, you can write better SQL statment. Most knowledge in college contribute something in your future career. But I agree with you. Programming is a skill, and IMO it can be taught, but it is up to you to master this skill yourself. Thus, you can skip college and focus on improving your programming skills.
Also, college gives you credentials in the form of a degree.
You will save a lot of time by learning from teacher's experience and acquire best practices in programming. The main difficulty in programming is not to "program" but to "design" ;)
So, I felt much the same way for a long time. However, now that I'm out I realized that I learned some important things that I wouldn't have learned otherwise. 1) I learned a lot about Theory of Computation. I am by no means an expert (Big-O still weirds me out a bit), but because of that understanding and all the frustrating proofs I had to write for that class I am a better developer. 2) I met people. Don't underestimate the value of knowing the right people when it counts. I've gotten three jobs now simply through people that I know. That's how you find the best work, from what I've seen. 3) It demonstrates your ability to do work reliably over a long period of time, which has an impact on how your employer will treat you, and how they will compensate you. 4) If you truly love programming, you'll love a Computer Science degree. There's just no way around it. There are parts that are boring, sure. I had professors that just hit us with powerpoint slides, sure. But the enjoyment I took away from coding on a late-night project with classmates and finally seeing it finished, or participating in UCLA's iCTF (a hacking competition), are the memories that overshadow all of the boring parts for me. That said, do what's right for your situation, but don't say it's a "waste of time" and "useless" unless you've actually done it. You're going to get exactly as much out of your education as you put into it. If you go into it with the attitude that you're going to extract every gem from the experience that you can, you'll love it. All the best.
Programming is just a tool. Just like language is a tool. Computer Science is just what is says. It is the science of how computing works and should be designed to work. If you take the time to go through a program (college or otherwise) that teaches you this science and make you an expert at some or a lot of that science, you will be rewarded throughout your life by being part of great projects. On the other hand, if you become a "programmer", then you will still do fine, but will likely not experience the full depth of possibilities.
Excellent answer farmdawgnation, and i might add (and you alluded to) that going through your degree program will prepare you for working in teams and leading teams. You are also right that you are only going to get out of your education what you put into it. This applying to just about everything in life. If you go in to it with an attitude that it is (whatever it is) is a waste of time, you will take little or nothing away from it. As someone who has been sitting behind a computer for more than 20 years, I had a similar attitude entering college because I already knew 'everything'. I felt that getting a degree was just a formality, and it was to a certain extent. you must remember that the best companies to work for out there are probably not even going to consider you unless you have that piece of paper. But despite my attitude, I did find that there was a lot I was missing. I did learn a lot and I did put in the time and effort to improve my skills (programming, leadership, planning, design) and increase my knowledge. College was definitely not a waste of time for me and this is coming from someone who already had years of real world experience.