I believe that if colleges offer a degree in Software Engineering, it is for a reason.
You can program all you want if you pick the right books... However, it takes time to blend with computer languages and be efficient. Not only that, it takes time to realize how much you can do with a language and exploit that.
Nowadays, companies are looking for people who specifically know a specific language. So if you stick only to one language, chances are low you'll get a good job.
Let me give you a list of languages, but keep in mind 4 things:
1. There are no jobs specifically for the first line in the list, but they're a good complement in curriculums.
For the other 3 lines:
2. The lower we go in the list, the language gets harder to learn.
3. The lower we go in the list, the pay tends to be better.
4. The lower we go in the list, the harder it is to get a job on that language.
-VBScript, VBA or anything-goes-"script"
-Java, C#, Visual Basic.
-C, C++, Objective-C
-AssemblersThe following are not "programming languages" strictly speaking, but they're a must for transactional applications which account I believe for more than 90% of applications developed worldwide. These languages are specific for databases and are supposed to be simple:
-SQL, PL SQL and Transact-Sql
There are also essential languages for web development, which all alone are useless, they complement with other languages.
-HTML
-PHP
-Javascript
-ASP.NET / ASP
The aforementioned languages need to be mixed with others to make a good web application.
For example, a typical Microsoft Framework web application contains: ASP.NET, C# or VB, Javascript, and T-SQL. In addition, Telecommunications are vital to a good programming.
Most programming books omit telecommunications. For example, the main reason to have C# or VB in the Microsoft Framework web applications is for security (to prevent "listeners" from getting hints on how to hack your site). Web Developers tend to ignore why, even graduates.
So, as stated before, colleges offer a degree in Software Engineering for a reason.
It's not easy to get proficient on your own, but you may if you pick the right books and spend enough time at it.