I want to start building websites for businesses, but I'm new to building a website for someone else. I have only built websites in dreamweaver using templates i find online. Should I stick to learning code or use a CMS like Drupal or Joomla. I don't know much about them but I heard you can even build a social network yourself with little knowledge?
Any direction on what I should pursue is greatly appreciated!
Personally, If i was you and wanted to get the most amount of work done, with having the smallest knowledge base I would stick to a CMS. It definitely allows you to get things done that even if you spent 2 years learning, you still wouldn't understand (trust me i've been doing it for 4 and there things I still haven't figured out about some CMS's).
So for the first part of your question, yes I would spend your time learning the how-to's of a specific cms, although don't be afraid to try and pick up some basic languages such as HTML, JS, CSS, MySQL and PHP. Most public CMS's are based off of a AMP model (standing for Apache, MySql, PHP) and if you want to manipulate certain features of your site, understanding those 5 languages will be your key. The most important of those languages (and the simplest) would be HTML and CSS, those are your true keys for manipulating the appearance of your site.
With all that in mind, my personal fav is Wordpress, great support, a big community to help you, and tons of open source themes and plugins.
Wordpress is widely used and is good for simpler sites. Drupal is more complex but has greater capability for more demanding specifications. I haven't looked at Joomla.
some solutions like WP are easier to learn than other. however which ever solution you choose to learn, i suggest that you do a little bit of preparation first. go and get your training material first - be they from the net or the bookshop. trust me, you will find that your learning experience much smoother and quicker.
As mentioned, HTML, CSS, JS and PHP/MySQL are what you really want to try to learn if you want to get into doing it all yourself. CMS' are great though if you can learn it's usage well. You can even make and run complex sites on WordPress if you know how to modify it
I have a very different take from some of the other posters. It depends on what you want to do in the long term. If you just want to crank out functional but relatively generic sites, then by all means stick with learning the various CMS platforms. Wordpress, Joomla, Drupal, and the like are the ones you should know first. But if you want to know how the sites actually work and how to build something unique, then you must learn HTML and CSS.
Luckily, it's not an either/or proposition. You can learn both.