Full Stack Developer: Myth or Reality?

Anderson Vargas
Development analyst

According to the StackOverflow survey (Yes, the one you are thinking of) conducted in 2018, most developers could be considered “Full Stack”, an intrinsically superior profile, very demanding in knowledge and with high demand in the sector.

We are talking about a developer capable of designing and implementing projects, both on the server-side and on the client-side, which means knowing the strengths and weaknesses of each technology and staying updated as new technologies evolve and/or appear.

Origins of the Full Stack

Starting the current millennium, a term called “Full Stack Developer” began to gain strength. Various technologies, including the web, were among the least complex and there was not much to choose from back then. I will try to translate a little the circumstances of the time:

  • Bandwidth used to be up to 50 times less than what we know today.
  • For the Front End, Javascript was not very powerful and a DOM based on what was HTML4 / CSS2. All this oriented to the ability to view documents and where the diversity of screen resolutions was a problem.
  • There were a few server applications, in which languages ​​and environments varied, but the Client-Server model, development patterns, and techniques used were relatively similar.
  • When talking about databases, the term “Relational Model” was inevitable when entering a conversation on the subject.
  • Let’s continue … It turns out that someone came up with the idea that the same developer could take responsibility for all development, and that’s how the Full Stack profile was born. In fact, as a curious fact, I was able to know that a great person, such as Facebook, during its expansion stage, apparently only hired developers with this profile, can you believe it?

Today

Since then, the evolution of Back End and Front End technologies has been exponential:

  • There has been a fundamental paradigm shift in where the status of an application resides, which has had the Back End as the protagonist. This paradigm shift has also changed the center of gravity of the Full Stack developer’s knowledge, which went from being, at first, a Back End expert with knowledge of Front, to now being more of a Front End expert with good knowledge of Back End.
  • Javascript has been improved and sophisticated (ECMAScript 5 to 7) to the point of being able to implement software engineering solutions at a level very similar to C # or Java. Modern JS frameworks are almost as complex as Back End Frameworks.
  • Browser’s have evolved, from the mere presentation of documents that we discussed at the beginning of this article, to become a true platform for applications.

After taking a look at the past and assimilating the present, let’s try to answer the next question, are they Myth or Reality?

To answer this question, let’s propose the profile of a Full Stack developer. Assuming that a single person can potentially be more productive than two, three or even four people. Especially from a business perspective, the potential to pay a person a little more to do a job that previously required four is extremely tempting, isn’t it? Now let’s look at what I call DFRV.

But Anderson, what does that mean?

Relax, it is not a mythological term, it is just the acronym for “Realistic Viable Full Stack Developer” and below we will summarize it in some skills that revolve around this desired profile:

1. HTML / CSS

These are the foundation for any developer to create a website. HTML is implemented to add web content, while CSS is used as a personalization tool on any website.

2. JavaScript

It is considered the mandatory language used by any Full Stack developer. Therefore, having vast knowledge about this will lead you to the destination. As theory-based practical knowledge is always considered a welcoming skill in any sector.

3. Back end

As a Full Stack developer, one needs to have the knowledge related to coding the background process. To get a better exposure, you need to have an immense knowledge of various programming languages. The more you know the better. Some of the languages ​​are Java, C #, Python and many more.

4. HTTP / HTTPS

It plays a vital role in establishing communication between the client and the server due to its implementation in the security sector of any application.

5. Database / web storage

Storage will be quite difficult due to the huge amount of data generated, usually daily. Also, creating any website or app store will be a problem. Therefore, knowing the relationship between databases and memory is crucial.

6. Security

As all development is done over the Internet, security becomes a major concern. Therefore, each developer needs to have a basic understanding of security. As a Back End web developer, knowledge about security issues is a must.

7. There are others clearly, I invite you to consult them XD

Finally, I want to highlight that each and every one of the profiles is important and has their end.

Maybe I won’t be a Full Stack Developer, maybe I will be an Adaptive Developer, yes! I just made it up XD. And I say this because at the end of the day there is no definitive guide to determine who we are, we determine that ourselves, no matter what develops: Front, Back, DB or all of the above, I am happy if when starting up my ability algorithmically, he managed to solve a challenging problem.