I have worked with some genius older developers. If I could point to a flaw in myself as I've grown older, though, it is that I fail to integrate and use working code in the larger ecosystem as quickly as my younger colleagues. More often than not, that shows up as blaming the tool or library because I failed to understand how it works, then falling back on something I already know well. Even if that means rewriting something unnecessarily.
Finally, look - as imperfect as software continues to be, you can't tell me that there weren't awful libraries in common usage ten or fifteen years ago. That doesn't pass the laugh test. You may only remember the good ones, but that's the luxury of memory.
The focus handling is completely broken, but nothing in the Android documentation suggested there was anything wrong with trying to do this. It was only after Googling through many posts that I came to the conclusion that ListView's aren't useful for editable fields.
Of course there may be some magic sequence of API calls that will make the focus handling work but it turns out that using LinearLayout's is much easier.
Of course poor API's have always existed but I am distinctly unimpressed with the quality of Android's UI framework compared to others I have used and I find that very disturbing for such a high-profile and important project.
http://www.google.com/events/io/2010/sessions/world-of-listv...
But to follow onto to your point, it's also the case that the younger programmers can need a decade or more to make enough mistakes; to variously learn what the older programmers already know about various fundamentals of the programming and product-creation business.
And to extend your point, it's been my experience that having a team of younger programmers is just as big a headache and as big a mistake as having a team comprised entirely of older programmers. A mix works better, as the younger folks teach the older folks and they bring knowledge of new technologies and volumes of enthusiasm, and the older folks can teach the younger programmers about temperance, testing, productization and business in general.
Consider, there is vary little that separates handheld Apps from desktop applications. Sure, if you come from the Web side of things it seems new and nifty but they are just stand alone applications. Capacitive sensing touch screens where where new in 1965, but wait it's 2012. http://www.billbuxton.com/multitouchOverview.html
People worry about what happens when desktop CPU's have hundreds of cores, but the super computer world is already dealing with hundreds of thousands of cores etc.
PS: I think this relates to the hacker mentality. If you find a problem you look for a solution rater than see how other people solved the same problem 30 years ago.
It took my a day to find out that ListView's do not work.
You make several assumptions about him that don't seem supported, but worse why make this personal?
> It took you a day to understand how a listview work while a good young programmer who understand technologies should be able to pick up any technology and understand it in a few weeks.
So, older people don't get jobs because it takes them a day to pick up what a young programmer can understand in a "few weeks"? Really?
I think part of the reason you can feel like you are learning faster when you are younger is because you look at everything enthusiastically and hammer through your education seeking out the juicy good bits of a technology and kind of glossing over everything else.
As I get older I find myself evaluating things much more slowly and cynically, checking under every rock for things that can bite me in the ass.
I just wasted a day trying to get ListView's to work in Android only to find out that, well, they don't work, so you need to use something else. Then it took me a couple of hours to essentially duplicate the ListView functionality, except a working version.
The thing is developing a GUI framework isn't rocket science, its been done before and there are plenty of examples of reasonably well designed frameworks out there, Swing and Qt to name a couple.
Software is complex so it takes a while (years at least, probably decades) for a human brain to gain real perspective on what's important and what isn't in software development. A culture like the one we're living in that throws away those brains dooms itself to decline.