
Desenvolvedor de Software
Envie uma proposta de trabalho diretamente para este candidato
Sou graduado em Ciência da Computação pela Universidade Paulista (UNIP) e atuo com desenvolvimento backend em Java, com foco em entregar soluções estáveis e evolutivas. Tenho experiência na manutenção e modernização de sistemas legados, além da construção de novas aplicações baseadas em arquitetura de microserviços.
No dia a dia, trabalho com Spring Boot no desenvolvimento de APIs RESTful, aplicando boas práticas como tratamento de exceções, uso correto de status HTTP e organização em camadas, sempre buscando código limpo e de fácil manutenção. Também tenho vivência em sistemas distribuídos, utilizando comunicação síncrona e assíncrona entre serviços, incluindo mensageria com Apache Kafka.
Tenho experiência com containerização usando Docker e versionamento de código com Git, o que me permite trabalhar de forma consistente em diferentes ambientes e colaborar bem em equipe. Além disso, aplico conceitos de cache com Redis para ganho de performance, escrevo testes automatizados e utilizo práticas como TDD para aumentar a confiabilidade das aplicações.
Possuo familiaridade com multithreading e sempre busco soluções que priorizem desempenho e escalabilidade. Já atuei em ambientes ágeis, utilizando Scrum, e tenho um perfil analítico, colaborativo e focado em resolver problemas de forma eficiente. Estou sempre evoluindo tecnicamente e buscando construir soluções que façam sentido no longo prazo.
Manutenção e Modernização de Sistemas Legados
Responsável pela manutenção e evolução de sistemas legados em Java (Java 8+), garantindo estabilidade, desempenho e continuidade do negócio.
Atuação direta na identificação e correção de bugs, refatoração de código e aplicação de boas práticas (Clean Code, SOLID).
Modernização gradual de sistemas, incluindo melhorias de performance, segurança e desacoplamento de componentes.
Desenvolvimento de Aplicações com Spring
Desenvolvimento de aplicações utilizando Spring Boot para criação de serviços robustos e escaláveis.
Implementação de APIs RESTful com controle adequado de status HTTP (ResponseEntity), tratamento global de exceções e validação de dados.
Uso de injeção de dependência, configuração de beans e organização em camadas (Controller, Service, Repository).
Desenvolvimento e integração de microserviços com comunicação síncrona (HTTP/REST) e assíncrona (event-driven).
Utilização de clientes HTTP como Spring Cloud OpenFeign e/ou WebClient para comunicação entre serviços.
Aplicação de conceitos como desacoplamento, escalabilidade e resiliência em arquiteturas distribuídas.
Noções de uso de API Gateway e Service Discovery para organização e comunicação entre serviços.
Mensageria e Event-Driven
Implementação de comunicação assíncrona utilizando Apache Kafka.
Produção e consumo de eventos com controle de groupId, paralelismo e processamento distribuído.
Tratamento de falhas com retry, Dead Letter Topics (DLT) e garantia de entrega de mensagens.
Aplicação de padrões como event-driven architecture para redução de acoplamento entre serviços.
Uso extensivo de Docker para empacotamento e execução de aplicações em ambientes isolados.
Criação e manutenção de imagens customizadas para desenvolvimento, homologação e produção.
Execução de serviços auxiliares (Kafka, bancos, etc.) via Docker Compose para simulação de ambientes distribuídos.
Versionamento de Código com Git
Gerenciamento de código-fonte com Git em ambiente colaborativo.
Uso de estratégias de branching, pull requests, code review e resolução de conflitos.
Organização do fluxo de desenvolvimento com foco em entregas contínuas e qualidade de código.
Testes e Qualidade de Software
Desenvolvimento de testes unitários e funcionais com JUnit e outras ferramentas do ecossistema Java.
Aplicação de TDD (Test-Driven Development) para garantir maior confiabilidade e manutenibilidade do código.
Validação de comportamento de APIs e serviços, incluindo testes de integração.
Entendimento e aplicação de conceitos de multithreading em Java para ganho de performance.
Uso de processamento paralelo em cenários como consumo de mensagens e APIs concorrentes.
Atenção a problemas como race condition e uso de estruturas seguras (ex: ConcurrentHashMap).
Nome do cursoCiência da Computação - InstituiçãoUniversidade Paulista - UNIP
Data de início01/2020 - Data de término01/2024