DEV Community

Cover image for Full Stack Developer Vs Other Developers
Balvinder Singh
Balvinder Singh

Posted on • Originally published at tekraze.com

Full Stack Developer Vs Other Developers

Hey Everyone, I am back today with a post under the developer category for you all. I hope you must have heard somewhere the term Full Stack Developer, or simply Full-Stack. Most of the people say like Full Stack Web Developer. If you have heard you may have knowledge of what it means, but if you have not heard of them, don’t worry. I will, in this post of mine, I will throw a light on the same to let you all know of what the heck is Full-Stack. Also will tell about some of the differences between other developers and full-stack developers
So let us start with some terms, like what is a Stack, in terms of Developers language.

Stack

The stack we generally refer to the programming language and tools we require to build a software or an application, that the end-user can use like WhatsApp, a chat application or Gmail, a mail client application. Ex like For simple web project, we need a combo of HTML, CSS, JS at a minimum may be accompanied along with bootstrap or JQuery. These together build up a stack of language and tools. For some higher project, there may be some packages that are simple modules or plugins to provide ready-made functionality.

Full Stack

Above we told above about the stack, now full-stack means the combination of everything that is required to build a project like HTML, CSS, JS, Bootstrap, and JQuery. And Full stack we use often for a person, a single person, who knows everything required to build a project. For more complex projects, these front end tools are accompanied along with Backend tools like Database, Server. So knowledge and ability to work on these along the front end is the power of a full-stack Developer.
I Will not talk more about here for backend and front end, so if you want to know, go read my old post at the link below.

So now you all clear with what is full stack; let us discuss some difference between full-stack and Other Developers.

Note: Here Other developers are referred to as developers working on a single language like PHP or like SQL for DB, and not everything.

1. The backbone for Any Startup

As you all know startups can be anything from a team of 10 people to single people or more than 10 people, but they all start with a great idea but a small budget. So most of the startup teams are small teams, that can be hired for the initial investment. The Startup at beginner stage requires the idea to be shaped and built from scratch, So there are no schedules or planned work like, This week The work be done on UI, the work is done on the backend, or the work is done on SEO. Also, there are no dedicated people required, as the product is still in shape.
There may be at a point, the backend needs to be worked on, some time Ui needs to be worked on. So simply hiring two people, one for backend, one for the front end is simply a waste of resources, as well time, because, the one needs to sit free, waiting for others to do their task. That’s why most of the startups look for Full stack as he can flexibly work on UI as well backend both, when and as required.
So he always keeps on doing work and resources as well time and money saved, for employing multiple employees, for a single task. So as the Full Stack can do multi-task, he is the backbone for any startup.

2. Flexible to learn

As the tech is changing proportionally to time, or I say two-four times than previous times, there is a need to be updated with the latest stack of technology. The same is applied for Programming, the language we may choose for a project one week ago can be replaced by the latest version or a completely new language having better features than the older one. So to tackle the changing environment, it is necessary that people learn new things as they come and go.
So let us take a simple example of SQL and CQL, both are database languages. A person dedicated to working on SQL may feel difficult to move to CQl, or he may not change at all saying SQL is better. As he was dedicated to learning and working on SQL only, and not learning new. Whether he learns or not technology will keep changing, so in case the SQL dev needs to be replaced with CQL dev to support the changed Stack.
But a full stack on another side is doing multiple things and is ready to change to new languages as they come because he is flexible to work with anything. Also, he is flexible with changing tech and can adapt to a new stack or language faster, when required.

3. Principles & Approach

There are many principals that any developer needs to follow but they can be generally differentiable like :

  1. Language-based Principals
  2. Programming based Principals

Language-based principals are like, how the loop works in a language like C or if-else in C, whereas Programming based principal is like how loops work in an application or an if-else loop. There is a principle like SOLID for programming based, that are followed by mostly every full stack Developer. Solid is a set of programming principles that helps to write code to a full-stack developer, with any language he may choose.
Language-based principles change based on language, like there may be different principles of a C Dev, vs Angular Dev. But Programming based principles stay the same for every language. For example, MVC principal says, Model stays the same only view changes, in easy terms The UI of Whatsapp keeps changing but a model of messaging from one end to other end stays the same, there will be always a sender, and a receiver connected to each other. So, a full stack developer never has issues with changing stack, because he follows the same principals for every stack he uses, which helps him adapt better to change than others.

4. Multi-Domain Knowledge

As a full-stack working on multiple things, he knows about multiple things like how things work in UI, how animations are made, how APIs are connected. whereas A front end developer only knows about UI and animations whereas back-end developer knows about APIs, connecting to the backend, etc. Both may or may not know each other’s work.
So full-stack developers have the advantage of multi-domain knowledge over others. He has knowledge of like, front end, database, backend, etc.

5. Helping the Team

A full-stack developer accompanied by other dedicated developers can be a part of a team. So there can come issues while development, maybe in front end or back end, at the times, a full-Stack can help better. He may not know the exact solution for a problem, but still, he can suggest some resources, which help the team to reach one step ahead of solving the issue.
There may be issues, like A UI built by front end dev not able to display data from API created by backend dev, So a full stack can help in identifying the issue here. In many cases, he can help the team and back any project with his knowledge.

6. Selection of Stack

As you all know, the one thing that works for me may not work for you, as an example of a simple color, the color I like may not be color you like. Another example is like, a tablet is good for a designer, over desktop for a developer. Similarly, in every project, there is need for using a different stack, like HTML/CSS/JS for simple web page whereas PHP along with these for dynamic application.
So selection is the most important factor before starting any project, as once it is under process, changing to some other stack may not be possible if possible not cost worthy. So a PHP dev will say take PHP, whereas Python-Dev will say take python. But a Full-stack will study both and say like, python has more packages, community as well as support available over PHP for a big project versus, PHP for a small project. He may also suggest using packages and generators that provide, basic functionalities ready than creating applications from scratch, like Jhipster, Django, NGX-starter, etc.

7. Multi-Platform Applications

There are a long time gone, when people make use of Computers or laptops for browsing over the internet; But now more craze has for mobile and tablets. So The product needs to be available on the different platforms like, Web, Android, IOS.
It is not true for everyone, but most of them, the full stacks can build multiplatform apps like web and mobile. They can develop multiple platforms easily as they have knowledge of both, if not already, they can learn faster to make the same.
Whereas a web developer may not be able to create a mobile application, and same applicable for a mobile application developer to create a web. So nowadays, companies prefer full stack more Than hiring the web, and mobile application dev both. So the full stacks are adapt to working on multiple platforms than other developers.

8. Career and Salary

Up to this point after reading, all the above points you may have realized this. If not, you may be thinking about how it affects career, are these really important? So the answer is yes, this affects very much for the same. Full-stack have a better and secure career over other developers and opportunities as they can
a. adapt quickly to new tech
b. They are flexible
c. can work on multiple things
d. a better leader and team helper
e. better decision-maker
The salary may not be more than other developers at the beginning; but it increases with the skills and knowledge and depends on dev itself, of how quickly he grows. Whereas other developers may start from high salaries with a limited growth.Also, career opportunities for the full stack are more.

9. Company Type For Job

Other developers are mostly employees in MNC’s like IBM, HCL; where everything is running from long and there are the same procedures for doing anything, there may be new development but not more often. So Dev stays Doing single tasks at a job like monitoring logs, monitoring DB, Cleaning data, Help Support.
Whereas Full Stacks are hired by startups; mostly new startups where there is a budget for only one or two devs; and full-stack has more advantages over other developers. Their tasks at a job vary from time to time like; sometimes setting up tables in databases, sometimes creating UI, sometimes working on Functionalities.

10. Enjoyment and Happiness

Finally, the most important difference. Think of a game like a snake that has the same single-stage, you need to play daily repeated for like days. You will like it at the start, you will still like after 4–5 days, then so on and later. You start getting bore of the same, after long like a month. Also, there is no option of a new game, so you are have to play the same game whether you like or not. Same is for the devs working on like same things in MNC; like creating queries daily, monitoring daily. The task you enjoy, but gradually as you become experts in same; you may not be happy as at the start; but you need to do still because it is your job paying you.
Now take a game like GTA, you can complete missions, ride a bike, ride car, in simple terms; you can change what you playing and you have to change based on need. Same applies for jobs for full-stack; they keep on doing stuff; new stuff changing from one thing to other, so you never have to bore.
So a full stack enjoys his work more, than other developers. There may be an exception though for some developers.

11. Type of Full Stacks

Not all Full Stack is full Stacks, some can be
a. Full Stack Mobile Dev
b. Full Stack Web Developer
c. Full Stack DevOps
d. Full-Stack Software Engineer
So, having knowledge of multiple languages is also a full-stack; and multiple platforms or DevOps and software are also a full-stack.

Final Summary

You may think I am being biased to One side supporting only Full Stack, but no being myself a Full Stack Developer; I am just sharing what I learned from experiences of mine working in different environments. Don’t feel bad if you are not a full-stack; you can also become the same if you do hard work and try to learn things. So have a happy coding life, enjoy what you do.
Feel free to share what you think, in the comments below. If you like the post, do share it with your loved ones; so my thought can reach more and help everyone. Keep visiting back for more updates coming and new posts like this. Thanks for reading!

Note: This is just my views, and I may not be right, so just let me know in the comments.

Originally published at Tekraze.com

Top comments (6)

Collapse
 
deathshadow60 profile image
deathshadow60

I honestly feel we have a problem in this industry of overspecialization. Perhaps it's my background, but I have a bit of a "military planning" mindset on this, and the lack of understanding other people's tasks is a recipe for disaster.

We have back-end coders who don't know enough front-end to do their job or know if the front-end guy is actually any good. We have front-end guys who don't know enough back end to make the back-end guy's life any easier. We have people who call themselves "front-end" but then say they don't actually know design since that's the photoshop guy's job. Big tip, design is not art unto and of itself, it's engineering that incorporates art, hence the PSD Jockey's who THINK they're designers are usually full of manure.

If the back-end guy knew more front-end, he could better word his requests of the front end or recognize when he should be sending things back for rewrite. If the front-end guy knew more about ACTUAL design and the back end, he'd be writing more efficient more accessible code that results in making the back end easier. If the artist under the delusion they're a "designer" understood accessibility, the purpose of HTML and CSS, logical document structure, and all the other things that make up ACTUAL design... well, they'd hang up their shingle realizing what a fraud they are.

But with nobody actually understanding anyone else's job, or even the most basic principles of their own job, it's hardly a shock places like Domino's get their pants sued off for accessibility violations... or that banks, public utilities, healthcare, and government agencies are constantly butting heads with laws like the US' ADA or the UK's EQA and DDA thanks to WCAG violations. People aren't blowing the whistle because they don't know enough to be writing a single blasted line of HTML or CSS in the first place. Don't believe me? Look at how front-end frameworks work... or more specifically how they undo 20 years of progress, piss on accessibility, and clearly were CREATED by people I wouldn't trust to tie their own shoes, much less tell me how to build a website.

It's why I get irked every time someone says "Well I know PHP inside and out, but I don't really know HTML and CSS" I feel the overwhelming urge to introduce boots to backsides; since as a "Hypertext preprocessor" if you don't know HTML, what the blazes business do you have writing PHP?

But no, how DARE anyone speak like that. Gotta maintain that echo chamber of like-minded fools and the scam artists who prey on them.

Collapse
 
balvinder294 profile image
Balvinder Singh

Hi DeathShadow60,
I agree with you in most of the things. I have personally experienced this thing like, devs do not know of each other things.
I have been myself maintaining the flow between, backend, frontend and mobile guys. I have seen from like basic CSS/Html projects to complex projects, most of the issues arise in development stages because devs may be specialized in their work but limited to a domain.
Like as a case of API, backend dev expects the Ui dev to handle the data entry and check for invalid values at the front end only.
The front end dev may expect back end dev to handle the same at backend only.
In that case, the API may not work anyways and not knowing of each other work they just keep blaming each other. But if they have known a little of each other's work, both should have added their logic to handle the case, and the API should not have failed then.
I am saying this because I am mostly shuffling between things and not limited to one area.
One another problem, I see with devs is like, most of the devs do not learn or like not warn to learn new things. Let say someone learns PHP or let say some framework, laravel he may not be ready to learn a new framework. On told to do something he will simply say like I know PHP only, I will not change to some other framework.
But things are different, one should be attached to a single thing only, I agree that specialization in one thing is good. But change is the only constant in the world. We should make us adaptable to change.

This is why I like shared the same article, to just let people know, it is not bad to be a full stack.

So Deathshadow, i hope you meant these same things or not please correct me.

Collapse
 
larsklopstra profile image
Lars Klopstra ⚡

What do you mean with "So simply hiring two people, one for backend, one for the front end is simply a waste of resources, as well time, because, the one needs to sit free, waiting for others to do their task." Front- & back end developers can work together without having to wait for each other to complete their task

Collapse
 
balvinder294 profile image
Balvinder Singh

Hi Lars,
As I said earlier it's just my view, and I am saying in relevance to a new startup, the very initial stage where like things did not happen that fast, like some API, need to be of data creation, and the UI just need to have a simple form and list display. (not with like finished styling). THe Ui can not be created before like the api functionality is there, and like if still it is created before there is like not much work to do.
From my experience of working in startups (very initial stage), there was like most of the time backend work and not UI as we were just creating screens for like data entry and listing.
So most of the time, we (team of 3 ) used to backend and sometime the UI.
Hope you get my point.

Collapse
 
alohci profile image
Nicholas Stimpson • Edited

There's more to backend than just a web server and a database. For instance, there's middleware and service provision and integration that's often part of a full stack.

Collapse
 
balvinder294 profile image
Balvinder Singh

Hi Nicholas,
yeah, the backend is like different for a person based on stack he using and complexity of the project.
We use like Jhipster mainly, which includes many things in the backend.
Thanks.