In this article, we would be discussing the roadmap a developer should follow after learning/working in PHP or any other language for a significant amount of time.
Table of Contents
- 1. Need for discussing this
- 2. Target Audience
- 3. The Roadmap
- Major Resources for learning
Need for discussing this:
Why on Earth we are discussing this? Because if YOU don't expand your skill set, one of the following situations you may face in life:
- You might get literally thrown out of the IT industry as the time passes by.
- Even if you manage to survive, you would be working while doing mediocre or not so challenging work and that too at a not-so-good salary.
- In today's world, IT industry wants developers who are JACK of many skills and master of at least 2-3 skills in IT domain.
- You would certainly not have the self-confidence if you do not have a great and wide skill set.
So, what is the target audience of this article? Certainly, if you found yourself lying in all of the below-mentioned conditions, you are very much welcome to go ahead with this article:
- You work in IT industry as a Software Engineer with less than 5 years of experience.
- You are either a Frontend developer or a Backend developer.
- You have, as of now a very limited or weak skill set.
- You want to survive for long in the IT industry.
- You do not want to live your life with mediocre work doing unchallenging work all the time and that too at not so attractive compensation.
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 :)
Suggested Read: Best PHP Frameworks (2019)
Major Resources for learning:In this era, there is n number of quality resources which one can use to expand their skill sets, some of them are:
- [Udemy] Complete Guide to Elasticsearch
- Geeks For Geeks
- [Practice] Codechef
- And so on...
Liked this blog? Don't miss out on any future blog posts by Subscribing Here