I just don't think you'll find many in the younger crowd of coders to be humble enough to think that 1) their code could be buggy, or 2) that something/someone else could fix it. The only people I run into that talk about hard and true reliable coding as a standard are over 45 years old. All the young bucks think its impossible.
I think it's a matter of experience and maturity. I'm 51 and have been a (mostly) Unix system programmer and admin since while in college. I've worked on all sorts of systems from Linux/Windows PCs to a Cray 2 and YMP and I'm used to having to account for the unexpected. I try to teach the young padawans on my team to think about what could possibly go wrong, and discuss this more with others as the importance of something rises, and to expect the unexpected. An example I offer is an error message I once got from Tcsh way back - "Assertion botch: This can't happen!" Obviously this is balanced against how critical the code/usage is and the famous "cheap, fast, good - pick two" triangle along with the practical aspects of customer/contract needs and requirements. I also stress trying to understand *why* something works, or needs to work, the way it does, not just *how*.
The most important thing seems to be curiosity and a desire to (really) learn and understand how to solve problems, not just solving them. Find the right youngster, give them support and the right environment and some time to learn. Of course, the really hard part is finding the right person.
Give a man a compiler and he'll generate code; teach him to write a compiler and he'll get hooked on caffeine, go crazy, quit and spend his remaining days curled up in a ball sobbing and muttering about Yacc and Lex - or something like that...