It’s already 2017 and many of us are just thinking to start web
development and machine learning, the area that are trending now and have a
good future scope. Reading this article, you’ll have an idea about which path
to follow on moving towards the learning of and practicing web development.
There are lots of new frameworks and tools for web development are coming out regularly. Recently I read an article on medium “A roadmap to becoming a web developer” where a map of all the web related technologies are listed. Here are the maps for those lazy enough not to open the aforementioned article.
Most of the people have question about how to start with web development from scratch.
I would suggest you to necessarily learn Git, before working on a project. If you know it already, it’s well and good.
Simple… Start with HTM5, CSS3, JS. But why all and how?
All of the first, You are required to learn HTML. Not even learn it, just know how to use it for various purposes.
You may go through https://www.w3schools.com for a reference. You will learn it while you use it.
Then once you know how to place and display content on your browser, learn to make that attractive and beautiful. Again don’t just learn, but practice also while doing.
Now, try to build a very small project for practice when you are more comfortable with working with a code editor, browser and displaying your code in the browser.
Now increase your learning rate and start either with AngularJS or ReactJS. Choose any one and stick to it for a while. This could take a while to learn and would also require more effort but it is worth to learn.
Once you start with React or Angular you will start using lots of libraries. So for managing these libraries start learning yarn. Not NPM or BOWER but YARN.
Also try to learn SASS or LESS. It is optional but will help in long run.
With all the libraries and optimizations you wish to include in your web page you would require the power of automation. Start GruntJS or GulpJS.
With the completion of level C, you can successfully build a website front end using the latest technology trends. But for getting a step ahead learn TypeScript and BabelJS. Get familiar with RequireJS or WebPacks. Migrate from ReactJS to InfernoJS (Its smaller and faster).
My suggestion here is that, don’t use jQuery with AngularJS or ReactJS.
If still you want to experiment, try all the other technologies shown in the chart.
Every site requires a backend to serve files and a lot of technologies are there for the same and it is all confusing.
Once you get a good idea of NodeJS use more advanced and interesting features like server side rendering, socket.io and automated testing methods. This will help you to get acquaint with more concepts of web development.
Move from callbacks and promises to async/await. Start linting your code. Deploy the code on AWS EC2 instance. Get your site running.
Then keep NodeJS aside and start GoLang. Its faster.
Move from NodeJS to Ruby on Rails. Although, you’ll notice that most of the code you had to write in NodeJS has already been implemented in Rails. But Rails has its own drawbacks so it won’t take you that far.
After few days of hands on with Rails move over to Django or Flask. The architecture is different to rails but the syntax is almost similar. Also, Django is more demanding as compared to Rails (as far as I know). Try to move to Unit testing and automations with django.
Common to all Routes:
Leave a single database concept and move to redis with a primary database. Feel the power of caching with redis or memcache.
Concepts to know:
· JWT (JSON web token)
· Shell Scripts
As of now I am not covering out the DevOps part else the amount of things you need to learn would become demotivating for you.
Sooo…Whats more? Go, Start now and share your after experience in comment section.