First we need to determine how seriously you are interested in becoming a programmer. If you want to devote to this work all my life or at least most of it, to develop as a specialist, I see myself in a few years as lead developer of the project, it is necessary to obtain a higher education. For this you need to enroll in a specialized University. This option is good for those who plan in the future to work abroad, where highly valued the knowledge and experience of Russian programmers with degrees.
The qualifications that you have to learn, may have different names, but most often it will be "Software engineering", "management information systems", "Applied mathematics and Informatics". These are the professions need to understand the search Institute, however, the important role played by the choice and scientific-technical base of the University, its faculty, alumni. Software and technology change very quickly, and you need to be sure that on leaving the University, your knowledge will be relevant.
Those who are not willing to spend 5 years studying higher mathematics, architecture of processors and programming languages, you can enroll in a vocational school or College, who also serves programmers. The name of the specialty may sound like "Computer systems", "Programming in computer systems", "Applied Informatics". For 3-4 years (depending on, you arrive on the basis of 9 or 11 classes) you will learn the theory, the mathematical foundations and principles of computer operation and some of the most popular languages.
Finally, as additional education can attend special courses where you will only get applied knowledge on one or two programming languages. Courses are held in 1C-programming, web-programming, basics of programming, as well as on individual languages. Here the choice depends on what kind of programming you want to meet. Usually these courses are special training centers and technical universities and colleges. You can find them online or in Newspapers devoted to the job search.
Programming can be learned independently through books and tutorials, but for understanding of all processes it is better to have a mathematical mind.