The Roadmap:
Before moving ahead with the Roadmap, one thing we should note that the below roadmap can be modified as per the individual's condition and situation, but the crux would be identical for all of you which is: "Never Stop Learning, Keep Growing your skill set".
The Big Picture:
Mandatory for All:
As one can see, there are certain technologies one should be aware of irrespective of the fact that you are a backend or a frontend developer:
- Data Structures and Algorithms: One of THE most important aspects which nowadays many developers seems to ignore, but for sure that's the area one should not ignore at all !.
- Basic Terminal Commands: This is also an important aspect, but it can be improved alongside your other learnings. These commands can be and not limited to the usage of vi, cat, ps and many more...
- Version Control (GIT): You MUST be aware of the workflow of git and its basic aspects like namespace, branches, tags, merge and all.
Skills(Variable according to one's situation):
This section would contain the skills a software engineer should learn and these may obviously vary according to one's situation:
- At least one Backend Framework: You need to be very well versed with at least one Backend Framework. It may be Laravel/Symphony or Spring e.t.c depending on the technology you are working in.
- At least one Frontend Framework: Similarly, You need to be very well versed with at least one Frontend Framework. It may be Angular (My personal favorite), ReactJS, VUE.js or something like that.
- NoSQL Databases: This is in huge demand and you have to have hands-on a NoSQL DB like MongoDB. However, you should also be absolutely comfortable with MySQL like databases and their concepts like Joins.
- A Caching Engine: Actually, hitting the database again and again for searching similar kind of data is a huge overhead on servers, and hence demand of someone having hands-on at least one caching engine like Redis or Aerospike is a great add on nowadays.
- A Search Engine: In today's world, searching for queries in databases is frequent and often adds huge overhead to servers especially when the quantum of data is huge. To tackle that, companies are shifting to search engines like Elasticsearch which tackles these problems amazingly.
- Communication Skills: This is the point, often neglected by techies nowadays often prove to be the deal breaker and hence, one should hone their communication skills gradually with time.
- Read Tech Blogs: Reading tech blogs like dev.to, FullStackGeek e.t.c would certainly help you gather knowledge about latest tech updates.
- The list is never ending and so should your hunger of learning :)