Hiring a Self-Taught Programmer vs. Hiring a Computer Science Graduate
I'm a programmer.
I'm not necessarily a math wizard... typing frantically on computer... creating revolutionary algorithms.
I'm just a guy that taught himself how to make stuff with code.
Today, self-taught developers and computer science graduates have significant differences amongst their skill sets. Colleges don't teach the fact that there's more to developing software than knowing algorithms, data structures, and understanding machine code. Some of the most successful developers are self-taught, examples being Steve Wozniak, co-founder of Apple, and Jack Dorsey, co-founder of Twitter and Square.
So what are the skills that computer science graduates lack that the self-taught commonly have?
Flexibility & Self-Learning
Self-taught programmers often have an optimal approach to learn new information and ideas. Much of programming is figuring out "how to do something". The self-taught programmer often knows how to conquer difficult tasks using available resources; e.g. Google, StackOverflow, Quora, other programmers, etc. When it comes to projects that tread into waters the team is not familiar with, it's the often the self-taught programmer that takes the initiative to navigate and drive the task to the desired result.
Creativity
Though self-taught programmers may not innately know and understand standard algorithmic principals, they make up for it in the ability to create solutions where standards ones do not necessarily work. When it comes to projects that require code that requires more advanced or new approaches, this is often where the standard graduate will likely feel intimidated while the self-taught will commonly embrace the challenge and thrive.
Hustle
The best programmers have passion and drive when it comes to code. The art of teaching yourself requires discipline and perseverance. Commonly, computer science classes often have students that are in the field because "it pays well". Another significant factor is the fact that it's rare to see students be working on or have worked on projects that they have an interest in. When hiring a candidate, you can assume it's preferable to hire someone that clearly has a passion for what he/she is doing.
If you are interested in the self-teaching route for ANYTHING, take advantage of the plethora of resources available to you. Practice and work on projects that can teach you more. The internet is riddled with the vast amounts of knowledge and opportunities.
There's no need to pay for such knowledge.
You just have to search for it.