The technology requirements in the market has been changing for quite some time. Today the world is more into full stack developers and there are many opportunities available everywhere for full stack developers. When that becomes a modern requirement, the freshers also try to get more hands on experience on full stack development to be ready with any opportunity that can hit their door. They are very flexible to work on any stack. This is good in a way but I somewhat feel that we are losing masters in a particular stream.
I have a few technical architects on the team in my office. One person is dedicated to SQL and another person is dedicated to C# development. They have no idea about the other technological stack. They have been in the industry for the past 15 – 20 years and they are hard to code developers on their own stream. Of course, the company is trying really hard to provide enough food for their thoughts but with the modernization of the technology, their one domain knowledge is slightly fading away. People recruit and look for someone who is Jack of all trades. The industry no longer needs a master these days. But there are still requirements in some of the companies where there is a need for dedicated developers.
Legacy product needs
In one of the teams in my company, they have been maintaining a legacy product that needs a SQL expert to do some development. They have been hunting for a SQL developer for the past few months but the applications are also very less and the candidates are also not so great. Today I have to have a discussion with the hiring manager and he explained to me the problems he is going through with the recruitment. Today the candidates who apply for any position are with diversified knowledge on so many things. It can be good for a start-up company but not for a company where there is a requirement only on a specific domain.
When they try to ask questions about some of the SQL concepts that are basic, the candidates are stammering and finding it difficult to answer. The manager feels that even after recruitment and lots of effort in training the candidates, their focus will be on other stacks as well and try to move out to work on a different technology stack. This is a problem that hiring managers are facing nowadays.
Another reason could also be because of the competition we have in the market with that of No SQL learning. Some people are interested to try out many No SQL databases straight away and focus more towards big data and analytics. In that case, their exposure towards SQL will gradually reduce. I will not say that No SQL is definitely a competitor for SQL positions but they also create an impact on the crowd of freshers. With modern stack development, people also try to choose lightweight SQL databases and try to do a full stack development. In that case, they don’t prefer gaining a full-fledged knowledge on SQL concepts and the ACID principles.
When No SQL gains more popularity among the developers, I will definitely say that SQL is needed for some of the complex requirements that cannot be achieved with the help of non-structured NoSQL databases. The main backbone of SQL is the relational concepts in the database which is quite challenging in the DB level in a No SQL database, there are still applications in the banking sector that will definitely need only SQL database.
To conclude, though I’m a full stack developer myself, I would suggest that every developer should be doing deep learning on one technology stack at least. Say, for example, my career started with more inclination towards the database side and I also worked as a Database Administrator for nearly 1 year. I took that opportunity to learn lots of information and concepts about the database. Later I moved to the other stacks as well and now I’m a full stack architect capable of working on any stack for any type of requirement. So, I would say that whatever we learn, doing deep learning is definitely very important.