Finding good programmers or programmers above the average is a little bit hard. Most programming schools are only doing a review on the two main branches of programming paradigms, using the most frequently used branch called imperative programming which is mainly focused in object oriented programming. Is that enough?, I am not finding guilty and I am not interested on that subject, because I have learnt functional programming and procedural programming mainly using books, both technical and theoretical, among other stuff like reading code — mainly learning from FOSS projects and its source code. My interests have been saving me for years as developer, because I am always improving my skills and there is always something new to learn about.
I am always seeking new books and knowledge, so I am frequently reading books, blogs, magazines and related stuff. My interests are deep, and for me is usual to deal with technical documentation and similar stuff, even the approach is entirely theoretical I do not have problems understanding that kind of writing. A recent example is ProView, an open source Industrial Control System framework which is being documented only with reference manuals and some tutorials spread along the Internet. But I have learnt its internals and the project where I am working is using almost all features of that framework, including custom device classes, I/O classes, graphical components and device components. There are not online courses, training and similar stuff, only few European organizations are providing training for that system.
For someone like me, finding jobs is something ridiculous in some instances. Many jobs are requesting certifications and similar accreditation. I have learnt assembly language, C, C++, Haskell, Promela, among other stuff without any training help, just reading and practising programming. Who needs certifications with that capacity?. If you are not interested in your career and your profession, you will never reach a good level. If any accreditation is required in your current job, and your company needs more programmers, just keep finding people that needs training courses to learn, I am not interested in your job offering. I can bet that your certificated programmers cannot think on building a list searching algorithm without looping instructions (for, while, do-while) and using only recursion.
Despite the frustration of dealing with that kind of job positions in past years working as Web Developer, for both the Enterprise and small companies, I think that starting this blog and releasing some source code as FOSS developer has served me to release myself of many prejudgements. You can see my LinkedIn profile, my FOSS projects and the stuff that I speak on this blog, if that is not enough to get conscious about my ability as programmer, I think that you are wasting your time. I have a very strong basis on programming due to my interest and I can learn almost anything only reading.