Сделайте несколько сайтов на разных популярных CMS: Joomla, MODX, Drupal,… Напишите для них по модулю/компоненту.
Что бы не делать лишнюю работу — можно взять проекты на фрилансе плюс будет хотя бы символическая оплата.
Что касается работы над CMS, я бы посоветовал взять за основу какой-нибудь фреймворк. Сейчас, я бы взял Zend, так как он написан академически правильно, но в то же время он довольно сложный для восприятия новичкам. Из попроще, вроде бы, Yii сейчас в моде.
А дальше, навесьте на фрейморк все лучше, что вы вы видели в каждой CMS или даже придумайте новое решение конкретной задачи. Как-то так делал я.
Вообще, написание CMS — это для «тру» велосипедистов. Нужно смотреть правде в глаза: вряд ли у вас получится что-нибудь ценное, но это поможет вам разобраться в тонкостях проектирования модульной системы, предметной области CMS, надеюсь, ООП, паттерне MVC и шаблонизаторах, а также вы получите бесценный опыт разработки огромного и сложного проекта.
В общем, лично мой уровень после написания такого велосипеда за год взлетел с что-то могу написать с нуля, до я могу все и спокойно без опыта работы даже с Зендом и чтения мануалов пишу на Magenta, который вот совсем недавно казался китайской грамотой.