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.
– Interface design: Master HTML and CSS for the design as well as JavaScript for the dynamism of the application. Designing a simple and attractive interface is paramount to success.

Technical requirements:

– Use of HTML5, CSS3 (Sass, LESS), JavaScript, AJAX and responsive design.
– Knowledge of one or more frameworks based on JavaScript such as AngularJS / Typescript, Backbone, ReactJS and other tools such as NodeJS, Grunt, Gulp, etc.
– 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.