Are you talking specifically within the scope of software development work (iow, problems specifically related to programming itself like bugs in a language) or are you including problems that come from working as a developer in the real world, such as incomplete requirements and/or feature creep?