You can’t really consider yourself a programmer unless you have programmed your own CMS. At least that is what it seems like with all the CMSs running around or left stranded. David Rodriguez presents a guide that describes how a real CMS should be designed, letting you focus more on the code since the design is already done for you. Wish more CMSs looked at this before starting.