What a variety of issues Ed Yourdon addresses in his A Tale of Two Futures. In that diverse collection of topics, I'd like to focus on a fairly obscure part of what he has to say: the quality of today's programmers. Not because it's important to Ed, necessarily, but because it's important to me. First, let me tell you where I'm coming from. I like to tell people that my head is in software's academic world, but that my heart is in its practice.What do I mean by this? I have done the academic software thing. I've been a professor of software engineering, the director of a software engineering program, a visiting professor at a university in Sweden, and a member of the Software Engineering Institute's technical staff (which, at the time, was far more academic than practical). I've accumulated more than a decade's worth of academic experience.I have done the industrial software thing. I've worked as a maintainer, then a developer, team leader, acquisition manager, and R&D specialist. I've served as a consultant. All in all, I've accumulated more than three decades of industrial experience.Drawing on this mixed background to mull over the formative experiences of my career, I find that it's the practitioner moments that I come back to. I recall the brilliant, strange, and wonderful developers I worked with and the exciting, challenging, and world-changing applications I worked on. From deep in the trenches, I acquired the gritty, hard-won lessons that let me solve real problems with sheer brainpower, getting the awesomely dumb computer to do awesomely brilliant things by infusing it with just the right software. I still marvel at what we practitioners have accomplished. For these reasons, I take offense when people knock software practice. And Ed has, in spades, with his prediction of software's future.