Last updated December 8, 2011.
Drupal is growing up, and with its maturity comes a complexity that is making it harder and harder to learn. We have initiatives that focus on making the user interfaces easier to use, but we have not been paying attention to how improvements to core have affected new contributors, and their ability to learn how to code for Drupal.
(This idea comes out of the Engineering for the 80% talk given at Drupal Camp Colorado, and the Bay Area Drupal Camp in 2011.)
Learnability being the idea that people new to Drupal often struggle with the way we do things in Drupal's code. Sometimes these "ways" have been crafted over time by developers who are familiar with Drupal, not realizing that building in "magic" is confusing to newcomers. And sometimes these issues are just problems with inconsistency, documentation, code quality, or anything else that makes Drupal coding hard to learn.
Drupal did not get to be as successful as it is today by being made of the best code out there. Drupal got to where it is today by being approachable, readable, understandable, and easy. Moms and Dads, retirees and little kids, administrators and musicians were all able to look at Drupal's code and make improvements. If we build a tool so sophisticated that only people with CS degrees can work on it - we're not only locking out potential future contributors, but we're going to loose a lot of the ones we already have.
Issues that have been tagged specifically for learnability can be found by searching the issue queue for the tag Increases learning curve.