Full Stack Developer
O que é um Full Stack Developer?
A definição de Full Stack Developer varia e nem sempre é consistente. Na realidade, um Full Stack Developer é uma pessoa capaz de gerir Backend (lado do servidor) e Frontend (cliente, browser).
O backend envolve pelo menos uma linguagem de programação e normalmente, uma base de dados ou tipo de base de dados chave-valor.
O Frontend é constituído pelas linguagens HTML, CSS, JavaScript e/ou frameworks que co-relacionadas a essas tecnologias.
O conjunto referido é chamado de stack. Desta forma, um Full Stack Developer é uma pessoa capaz de lidar com o conjunto completo de tecnologias e não se foca em apenas uma delas.
Como cheguei a Full Stack Developer?
Desde muito cedo, estive em contacto com a tecnologia. Sou curioso e não basta que funcione, gosto de saber porquê. As perguntas que me faço com frequência são:
- Funciona! Porquê?
- Não funciona! Porquê?
Nesta perspectiva, não basta saber porque funciona, tenho que saber exactamente porquê e como.
Assim, sempre fui em busca de novas tecnologias quer de aplicação web, de hardware ou de sistemas operativos, procurei soluções e fui aprendendo a implementar várias. Esse conhecimento tornou-me capaz de construir sistemas completos, da raíz à entrega de projecto.
O processo, tornou-me também capaz de encontrar e resolver problemas, evitando assim a complicação de gestão de tarefas e a perda de tempo inerente ao processo.
Sou apaixonado pelo código, a construção dos sistemas e a reversão do mesmo. Os desafios constantes na construção de sistemas, a integração de múltiplos sistemas e a optimização da comunicação entre eles.
Com o passar do tempo, estudei a fundo várias tecnologias, múltiplos frameworks e procurei soluções para os mais diversos problemas.
Algumas das tecnologias que estudei e, em algumas, ajudei a desenvolver o core de sistema, corrigi bugs e testei falhas de segurança. Algumas das tecnologias que participo ou participei activamente são:
Nesta perspectiva, no que toca a sistemas baseados nestas tecnologias, adaptei-me à implementação de todos.
Assim, é importante salientar que dependendo do projecto somos forçados a escolher a melhor opção para cada situação.
Desta forma, senti a necessidade de me especializar o máximo possível no maior número possível de tecnologias para que, desta forma, possa apresentar soluções sólidas para cada projecto.