📜 ⬆️ ⬇️

Full stack web developer

For a long time a very interesting topic of the Full Stack developer'a has been popping up in various sources. Namely, what should such a developer be, what experience, knowledge and skills should he possess, what technologies should he work with? And if with the question of what should be of itself more or less clear, I should be able to write a non-trivial application from scratch myself, i.e. frontend, backend, work with the network, from the database and other buns, architectural solutions, etc. That with the subsequent questions is not so clear. Interested please roll up ...

In this article I present to your attention the translation of part of the article from here .

Full Stack Layers:


1. Server, network and hosting environment.

This will include an understanding of what can break and why. Appropriate file system usage, cloud storage, network resources, and an understanding of data redundancy and availability are required. How to scale an application with hardware limitations? What about multithreading and race conditions ? The ability to catch something that you will not see on your working machine, but it can happen in the real world. Full Stack developer can work side by side with DevOps . The system should provide useful error messages.

2. Data Modeling

If the data model is erroneous, then business logic and higher levels begin to need a strange (terrible) code to compensate for sharp corners that the data model does not cover. Full Stack developers know how to create a reasonably balanced relational data model, with foreign keys, indices, views, etc. Full Stack developers are familiar with NoSQL and know when the solutions shine with respect to relational databases.
')
3. Business logic

This requires solid object-oriented skills. Also here you may need a different framework.

4. API layer / Action layer / MVC

Knowledge of how the outside world can act against business logic and data models. At this level, frameworks must be used to a large extent. Full Stack developers have the ability to write a clear, consistent, simple interface.

5. User Interface

Full Stack developers understand how to create a readable layout and recognize that they need the help of professional artists and graphic designers. In any case, the introduction of good visual design is key. He is fluent in HTML / CSS, JavaScript (node, backbone, knockout, etc.).

6. User Experience

Full Stack developers understand that users just want to work. A good system will not bring its users to carpal tunnel syndrome or sore eyes. Full Stack developer can look at the process of 8 clicks and 3 steps and reduce it to a single click. Such a developer writes useful error messages; if something breaks, he apologizes for it. Sometimes programmers unintentionally write error messages that can make a user feel stupid.

7. Understanding what the customer and business need.

Full Stack developer understands what happens when a client uses the software, and also has an understanding of the client's business.

Other parts of the puzzle:

1. The ability to write quality Unit tests.
2. Understanding Continuous Integration .
3. Awareness of security issues is very important, since each layer has its own possible vulnerabilities.

Further in the original , some thoughts of the author go, well, I suggest everyone to discuss, comment on and add to the list of skills and the necessary Full Stack developer knowledge and skills. Thanks for attention.

Source: https://habr.com/ru/post/220437/


All Articles