A Full Stack developer is in charge of managing each of the aspects related to the creation and maintenance of a web application. For this, it is essential that the Full Stack developer has knowledge in Front-End and Back-End development. In addition to managing different operating systems and programming languages.
A Full stack developer will be able to do the following:
– Properly use a version control system (VCS), storage in the cloud, manage network resources and management of redundancy and data availability.
– Know how to create a normalized relational model, which includes external keys, indexes, views, search tables, etc. (data modeling).
– Know the non-relational databases (NoSQL) and understand in which cases these databases are preferable to the relational ones.
– Know back-end programming languages such as PHP, Ruby, Python or Java, etc. Likewise, you should know how to use Frameworks such as Angular and Symfony or environments like Node.js or React.js
– API / MVC: Ability to write clear, coherent and easy-to-use interfaces.
– Experience in frameworks for the implementation of mobile applications, such as React Native, Ionic, Cordova, etc.
– Understanding of APIs and TDD (Test Driven Development)
– Knowledge of Agiles methodology
– Knowledge of languages such as Java, Spring / Spring Boot framework, REST / SOAP web services
– SQL and NoSQL relational database (MySQL, Mongo DB, etc.)
– Tools such as Maven, Gradle, Jenkis, Docker, AWS services, Sonar, New Relic, etc.
– Understand how customers use the software and also know how the business works.
– Ability to diagnose and solve technical problems of high complexity.
– Write quality unit tests.
– Understand the automated processes to build an application, test it, document it and deploy it to scale.
– Know the security problems, since each layer has its own vulnerabilities.
– Ability to collaborate with the team to create innovative solutions efficiently.