To begin, "full-stack" developers often find it difficult to explain what they do, "I WAS THERE!".
A Multitasker person
The Full Stack developer's duties will involve creating the app's user interface, writing code, managing databases, and testing the application thoroughly; doing all of that with some accuracy, which it's NOT TRUE/UNREALISTIC.
While it's correct that devs with a comprehensive set of skills are in demand, the term "full-stack developer" is often abused; in today's workplace, being a full-stack developer indicates various forms to different people.
How Companies perceives the job
Some people see the job title carrying someone who can code anything, regardless of context or language. Others adopt "full-stack," introducing developers who have little experience in various things. In the most basic sense, the job title is employed to simply means "a combination of skill sets used broadly without a narrowed thinking."
In today's workplace, there is a strong trend towards hiring developers with a broad set of skills; this indicates that employers are looking for "full-stack" developers who know a little of everything and are ready to accommodate any type of environment quickly.
On the other side, many companies prefer to hire developers with solid/compact experience in several programming languages.
The Summary
So, the question is, it's Good or Bad to become a Full Stack Developer?
🟨 Good for companies to launch/test/iterate fast and to spend less money.
🟨 Good for candidates to adopt it to experiment, find where their skills fit, and then stick to a narrowed skill-set and scale.
🟥 Bad for Products Quality considering the broad skill-set of the developer.
🟥 Bad for developers in the long run because serious companies tend to hire narrow-skilled people rather than broad-skilled ones.
My Perspective
You can choose at a certain point to become a Full Stack Developer, to experiment with your skills/wants/talent, then switch rapidly after finding where your skills/personality fit more and stick to it in the long run.
A Fact
🟩 Excellent people in a particular skill perform better and make Excellent products.
Top comments (1)
Arbaoui,
Good question. I've been developing software solutions for over 33 years and in that time, the role of "engineer" has changed dramatically. Now full-stack developer is mostly being able to whip-up UIs and browser-based solutions quickly and easily using a variety of tools. The responsibilities usually being where the graphics/UX folks finish their designs. Then, of course, is the middleware components which vary like crazy including Node or PHP or Java or Python running on some kind of servers (which sometimes you have to have configure). Many times you have to "integrate" with backend services like email, sms, and other storage. Lastly, comes the database integration with a slew of Sql and noSql solutions, which the customer expects you to have lots of knowledge.
Sounds like a lot of things, right? Well, I agree it is but start slowly and build up with practice, patience, and getting involved.
Good luck!