Skills you need for becoming a web developer

Coding \ Other Sunny Comments May 20th 2013
There is a lot of advice on the internet regarding what all things a person need to become a web developer. Although, many include very good advice, many still are quite long winded and include unnecessary extra information and resources that I believe can confuse absolute beginners. Therefore, I am going to have a go at explaining exactly what all languages/skills you need.

You need to learn only 4 languages

If you ask an average web developer this question: 'How many computer languages do you know?' They will quickly respond with something like this 'Well I know.... HTML, Css, Php, MySQL, JavaScript, jQuery, Ajax, JSON and XML' and you will be left so overwhelmed by this that you might remove any thoughts of learning web development. The truth is that many of these languages are 'part of' each other or different techniques of the same language; or are not equal to one another in size.

In truth, you really only need to learn 4 languages, which are:

  • HTML
  • CSS
  • A server-side language (you can choose from Php, Ruby, Python, ASP.NET and few others)
  • A client-side language, JavaScript (or jQuery which is just another form of JavaScript)

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.

Learning Php and JavaScript.

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.

Learning JavaScript/jQuery

JavaScript is the most popular Client-side language, that has few competitors. You will also find great free tutorials on JavaScript very easily.

You can check out the section on JavaScript on W3schools or complete a course on Codeacademy, both are good in my opinion.

Before I continue with JavaScript, I should mention something important that you should know. Before when I said that you need 4 languages, I was not being completely honest. In fact you might just need 3.

If you learn Html, Css and Php, you will be called a back-end developer. You will be able to create dynamic websites with great functionality, but without a client-side language such as JavaScript, you will not be able to create a good experience for users.

If you learn HTML, Css and JavaScript, you will be called a front-end developer, where you will be able to create very good looking sites, with slide shows and image galleries, but you will not be able to create the kind of functionality like letting your users register or letting them share something on the site, for this you will need a server-side language.

To become a client-side developer you'll definitely need to learn JavaScript and you can visit the tutorials resources that I have mentioned.

If you want to become a back-end developer, but you also want to be able to add some client-side features to your sites, then instead of learning JavaScript, I suggest you learn jQuery which is a great JavaScript library and it will let you easily do many common things that you would use JavaScript for. And to learn jQuery I suggest you watch another 200 videos series on thenewboston channel for jQuery. Again, I would also recommend the course on tutsplus: 30 Days to Learn jQuery. I like both of them, so I can't say which one is better, so it's up to you to decide.

What else you need to be more advanced?

If you have chosen to be a back-end developer with Php, I suggest you learn Ajax. Traditionally to use Ajax you would need to know a bit of JavaScript and Xml as Ajax stands for Asynchronous JavaScript and XML. But if you learn jQuery then you can very easily do most of the things without knowing much about JavaScript or Xml.

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.

If you choose to be a front-end developer. You can do many exciting things as you advance your learning. I suggest first you learn JavaScript libraries such as Mootools, Dojo, along with jQuery. And one very useful technology that you should definitely check out is node. js, which is a 'server-side' JavaScript interpreter, which means that it will let you use your JavaScript skills on the server (as an alternative to Php for example). Lastly, having learned JavaScript, you will find learning and working with JavaScript API related to HTML5 very easy and useful in your projects.

Getting help

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.

A software that you definitely need is a text editor. There are many text editors available for free such as Notepad++, but my favorite is Sublime text 2 which is also practically free to use.

Conclusion

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.

Follow us on Twitter!
comments powered by Disqus