برای طراحی و توسعه وب ۶ تا بخش پایه ای رو باید بلد باشین .. قبل از اینکه این ۶ تا بخش رو بگم باید بگم که معمولا چون این کارها به صورت تیمی انجام میشه هر ۶ تا رو یک نفر انجام نمیده ... مثلا طراحی رابط رو یک نفر انجام میده .. تبدیل این طرح به ظاهری پاسخگو و کارا توسط یه نفر انجام میشه و توسعه back end توسط یه نفر دیگه انجام میگیره .. (البته این یک مثال بود
) ... ولی چون ماها اصولا زیاد با کار تیمی حال نمی کنیم همه رو باید تک نفره انجام بدیم که باید در مطالب زیر مهارت داشته باشیم:
۱- زبان Markup که در ۹۹% موارد HTML هست.
۲- زبان Styling که در ۱۰۰% موارد CSS استفاده میشه.
۳- یک زبان سمت مشتری (client-side) مثل Javascript که پرکاربردترینش هست و کتابخانه های بی نظیری مثل jQuery رو داره.
۴- یک زبان سمت سرور (server-side) مثل PHP یا ASP یا Ruby .. که PHP پرکاربردتر از دو تای بقیه هست و پرطرفدارتره.
۵- SQL برای برقراری ارتباط با پایگاه داده.
۶- مهارت هایی در طراحی رابط کاربری با استفاده از نرم افزارهایی نظیر Photoshop یا Illustrator.
اما در مورد ساختن CMS بگم که خوب ساختن CMS شخصی زیاد کار جالبی نیست و خوب با این همه CMS با امکانات بالایی که موجوده مثل WP به نظر من هدر دادن وقت هست .. و هر چقدر که یک شخص دانش بالایی داشته باشه نمیتونه CMS به قدرت WP که دارای یک تیم توسعه دهنده بسیار قوی هست بسازه ... CMS فقط برای مدیریت محتوا هست .. اما فکر کنم منظور شما از CMS طراحی برنامه وب یا web app های خاص خودتون هست .. خوب CMS زیرمجموعه ای از web app ها هست .. برای توسعه web app بهتره در کنار اون ۶ تا موردی که بالا گفتم .. یک فریم ورک هم استفاده کنین که بسیار مفید هستن .. مثل laravel برای PHP و Ruby on Rails برای Ruby ...