You need to learn only 4 languages
In truth, you really only need to learn 4 languages, which are:
- A server-side language (you can choose from Php, Ruby, Python, ASP.NET and few others)
Learning these 4 languages will be enough for you to create beautiful, dynamic, user friendly websites with great functionality.
Learning HTML and CSS
HTML and CSS are very easy to learn and will let you create static websites, such as your company's profile or your portfolio. A good place to learn HTML is W3schools
For CSS, I will advice video tutorials instead. The Css series on the phpacademy channel on Youtube is a great option.
Or I recommend the free course on tutsplus for learning Html and Css: 30 Days to Learn HTML and CSS, which I think is great.
Html and Css will be enough for you to create pretty good looking static website. But if you want to create dynamic websites, then you need to learn a server-side language. Dynamic websites are sites where the content changes dynamically on a web page or where the content is user generated, such as Facebook, Reddit or Youtube. For example, when you log into Facebook with your email and password, you are redirected to home.php. All the millions of people that log in everyday to Facebook are using the same home.php file, but they all receive different content in it, because they log in with different accounts, which again is a process that can only be achieved with a server-side language.
Php is the most famous server-side programming language and is very well documented; and you will find tons of free tutorials on the internet and also many forums and communities dedicated to Php. However you might also want to look into Ruby or Python which are also good and quite famous, but since I specialize in Php I am going to talk about that.
Start by watching the Php series on thenewboston channel. It has 200 videos for you to watch! You can watch all of them but I suggest you watch the first 50 or 60 for now, and finish the series later.
After you have watched some tutorials of the series, you will have good understanding of PHP. Next go over to the phpacademy channel on Youtube and watch few of the many tutorial series in their playlists section. I recommend Login and Registration system tutorial and the Blog tutorial.
After watching all this, you should start a personal project and in the meantime, either finish the 200 videos series on thenewboston or watch different tutorials on the phpacademy, which ever helps you in your project.
I cannot stress enough about the importance of video tutorials. They are great especially for learning a programming language from the start. Once you reach an intermediate level, you might find text-based tutorials better, like I do, but for beginners the thousands of video tutorials on Youtube are just awesome.
What else you need to be more advanced?
Once you are comfortable with what we have discussed I suggest that you also learn a framework such as CodeIgniter, CakePhp or Laravel. Frameworks are great and can really make your life easy when you need to make websites with the most common features.
When you are learning, it is very important to have joined some forum where you can ask for help. Usually people there are very friendly and will offer more help than you might expect. But make sure you are respectful and that you have read the rules of the forum. Google around for forums that are dedicated for whichever language you are learning. Stack Overflow is a great website where you can get fast and quality answers, but again make sure you have read their guidelines for asking questions
Finally, what you do not need.
You need many software for doing web designing such as Photoshop and Illustrator. But you do not need to learn any software for web development. You will find many articles on the net teaching you how you can create websites using FrontPage or Dreamweaver and other WYSIWYG(What You See Is What You Get) editors or other software. At first they might seem appealing but they will not be useful in the long term as they will not help you add complex features on to your site.
However, Content management systems like Wordpress or Drupal can be very useful to make certain types of websites such as your blog or portfolio, but becoming an expert in just them will not make you a web developer unless you learn at least some HTML and CSS.
I think you should have a somewhat clear understanding of the things that you will have to learn for being a web developer. For any remarks use the comment section below and thank you for reading.