Principal Programador remoto Fullstack
RedWeb
2017-09 » 2019-09
Principal Programador remoto Fullstack
Desde Setembro de 2016, tenho trabalhado como Programador Fullstack Remoto na RedWeb, redesenhando e desenvolvendo o seu producto de marketing interno, Aesir.
Aesir já é uma ferramenta de marketing já estabelecida no mercado, mas havia a necessidade de o tornar numa solução multi-plataforma, apenas dependente da stack tecnológica, e não de qualquer plataforma/framework.
Pouco depois de ter entrado na empresa, foi-me bastante evidente que a base de código não poderia ser portável entre plataformas, sem houvesse um grande redesenvolvimento, ou originaria uma grande duplicação de código.
Começámos então a trabalhar numa solução totalmente modular, e altamente portável entre diferentes plataformas.
Service Oriented Architecture e Domain Driven Design
O redesenvolvimento do Aesir consiste numa alteração completa da sua Arquitectura, passando para uma Service Oriented Architecture (SOA), junto com Domain Driven Design (DDD).
Existe então uma completa separação de conceitos no core da solução, resultando na separação da Camada de Regras de Negócio da Camada da Aplicação.
Este redesenvolvimento trouxe também a oportunidade de melhorar o código base, não só com o uso de standards, como também da cobertura de testes (TDD) na solução toda.
No backend, a nova solução foi desenvolvida seguindo religiosamente standards PSR, Padrões de Design de Software usados na industria (Singleton, Factory, Builder, Facade, Repository, Bridge, Visitor, Decorator, ...), princípios SOLID, DRY e YAGNI, como também a Normalização e ACID na Camada Persistente, resultando numa base de código mais limpa.
No frontend, também há uma clara separação de conceitos entre a estrutura (HTML), comportamento (JS Nativo) e aspecto (CSS) da aplicação.
A equipa inicial é composta pelo Ronni Christiansen enquanto CEO, Tito Alvarez enquanto CIO/PO, eu enquanto líder técnico/equipa, e o Nuno Lopes enquanto programador júnior backend.