For anyone starting to learn web development, figuring out what language to learn can be tricky. Today there are so many options, frameworks, instances, processes, even for me, it can get overwhelming. So to help new developers here are a few tips that I hope you will find helpful.
Pick a Side:
As you progress you will no doubt find yourself picking up other languages, you will quickly realize the web is not compartmentalized and that there will always be overlap between front-end and back-end.
Learn the language, not the framework:
Also with today’s rate of new framework fads, it's possible that the framework you are using today will be obsolete in 1-2 years. Learning the language behind the framework better positions you to be more adaptable down the road.
Decide what you want to build:
As I said before, the web has matured a lot over the years and I think it is time to start re-classifying what we are building. Personally, I like to break the web down into web applications and websites.
- Website - a place on the web, where content comes from a single source and disseminated to a large anonymous public (i.e. my own personal website).
- Web Applications - a type of software built using web languages that can create, manage, alter, store and distribute content to and from multiple users and groups (Facebook, Twitter, Trello, Gmail, etc.). There is a lot of overlap, but a web application can be used to build a website also known as a Content Management System (CMS) such as Drupal, Wordpress, TypeTote, or Squarespace.
The reason I think it's important to classify what you want to build is that it will determine the kind of languages you will want to learn. For websites, knowing HTML and CSS, along with a CMS will allow you to help an individual or organization have a space on the web. If you find yourself wanting to build a to-do app or work for Spotify's engineering, then you may want to look at Rails or Node since that is what they use and the languages themselves were built for such a purpose.
Pick your tools, trust them, love them, and make your toolbox:
This I think is probably the most important tip. It's easy to get caught up in the hype of the latest fad language. But the real thing with web development today is not about how it's built, but can you build it?
The only requirement for web development is to accomplish your goal. In reality, non-technical people do not care how you build it as long as it gets the job done. That's why I follow up by saying there's always room for improvement. Yes at times it can be questionable how something was built, but regardless anything and everything always has room for improvement.
The last thing I like to say is that it's important to be open, in that there never is one right way to do something. So whether you’re working on a team, with a client, or for yourself, be sure to try to understand and approach things with an open mind. In web development, rules are often meant to be broken.
I hope these tips are helpful and if you have any questions please feel free to send me a message.