Rafael Almeida, com a camisa da Jr.FEI

Rafael Almeida FerreiraCiência da Computação — FEI · 5º ciclo

Todas as
camadasde uma vez.

Ainda na graduação, eu já coordeno o time de tecnologia de uma empresa júnior: respondo pela interface, pelas regras de negócio, pelo banco, pelo servidor — e pelas pessoas que constroem tudo isso. Procuro um estágio para levar essa bagagem a uma equipe maior.

  • Disponível para estágio
  • 3 sistemas entregues na Jr.FEI
  • Prêmio Júnior 2025 — Melhor Projeto Interno
  • São Paulo, SP
Cargo
Coordenador de T.I.Jr.FEI — Empresa Júnior
Curso
5º de 8 ciclosCiência da Computação · FEI
Entregas
3 na Jr.FEIsistemas internos e site
Repositórios
4 públicos≈5.900 linhas · 4 linguagens
Prêmio
Melhor Projeto InternoPrêmio Júnior 2025
01Atuação

Numa empresa júnior
não existe só uma caixa

Programar. Coordenar. Cuidar da infraestrutura. Eu não escolhi apenas um caminho, eu aprendi a transitar entre eles. É essa visão ampla da tecnologia que quero levar para o meu próximo desafio.

Foi assim que aprendi a estimar prazo olhando o código, e a explicar custo técnico para as outras áreas da empresa.

A

Desenvolvimento

Entrego o fluxo inteiro: a tela que o usuário vê, a regra que decide o que acontece e a consulta que grava no banco.

  • PHP e SQL nos sistemas da empresa
  • Java com MVC, DAO e transação
  • React Native com Firebase
  • C e Python na base algorítmica
B

Liderança

Respondo pelo time de tecnologia. Distribuo o que cabe a cada um, destravo quem empacou e garanto que a entrega saia no prazo.

  • Prioridade das demandas de T.I.
  • Padrão de código e revisão
  • Apoio técnico a quem começa
  • Suporte às outras áreas da empresa
C

Infraestrutura

O ambiente tecnológico da empresa passa por mim. Quando um site sai do ar ou um e-mail para de chegar, é o meu telefone que toca.

  • Hospedagem e cPanel
  • Publicação e manutenção
  • E-mails corporativos e domínios
  • Continuidade do que já roda
02Experiência

O que eu faço na Jr.FEI

Não é trabalho de sala de aula: é empresa de verdade, com cliente, prazo e sistema no ar. Eu respondo pelos sistemas que a Jr.FEI usa todo dia, pelo site institucional e pela infraestrutura que mantém tudo funcionando — e pelo time que constrói isso comigo.

  1. 01
    Lidero o time de desenvolvimentoDistribuo demandas conforme o nível de cada pessoa, dou apoio técnico no que trava e acompanho até a entrega sair.
  2. 02
    Coordeno e priorizo as demandas de T.I.Decido o que a área faz primeiro, defino escopo e prazo de cada frente e traduzo isso em tarefas concretas para o time.
  3. 03
    Defino os padrões de desenvolvimentoEstabeleço como se escreve e se entrega aqui, e reviso front-end e back-end para manter a mesma régua em todo projeto.
  4. 04
    Administro a infraestrutura internaHospedagens, cPanel, e-mails corporativos, publicação e manutenção dos sistemas que já estão no ar.
  5. 05
    Sou o ponto de apoio técnico internoQuando outra área precisa de um acesso, uma ferramenta ou um sistema no ar, a demanda chega em mim — e eu traduzo isso em decisão técnica viável.
01 Jr.FEI Cliente externo · solução web

Shopping dos Queijos

Solução web completa para um cliente externo, da interface ao banco de dados, incluindo as regras de negócio e a publicação em servidor. Foi a entrega em que atravessei todas as camadas sozinho: do que o cliente vê até onde o dado fica salvo.

02 Jr.FEI Sistema interno · dois perfis

Portal do Cliente

Sistema interno de gestão usado pela própria empresa, integrando front-end, back-end e banco num fluxo só. De um lado a Jr.FEI conduz projetos, prazos e chamados; do outro o cliente acompanha o que contratou.

Tela de projetos do Portal do Cliente, com cartões de indicadores e a tabela de projetos com status, saúde, responsável, prazo e progresso.
Tela de usuários e permissões do Portal do Cliente, listando gerentes com nome, e-mail, função e status.
Tela de documentos e financeiro do Portal do Cliente, com filtros de busca, projeto, categoria e período.
Sobre o projeto

O Portal do Cliente é o sistema que a Jr.FEI usa para conduzir os projetos que vende. Ele existe porque o acompanhamento dos contratos vivia espalhado entre planilhas, grupos de mensagem e e-mail — e ninguém conseguia responder, num lugar só, em que pé estava cada entrega.

O sistema tem dois lados na mesma base. O lado administrativo é onde a empresa gerencia projetos, prazos, responsáveis, chamados, usuários e permissões. O lado do cliente é a vitrine do que aquele cliente específico contratou: o andamento do projeto dele, os documentos, o financeiro e o canal de suporte. Cada tela filtra os dados pelo perfil de quem está logado.

  • Painel com a saúde da carteira. Projetos em andamento, em risco, atrasados, concluídos nos últimos 30 dias e sem responsável, cada indicador levando à lista filtrada.
  • Dois níveis de acesso. Gerentes e clientes veem telas diferentes, e a visibilidade de cada projeto é controlada item a item.
  • Documentos e financeiro no mesmo lugar. Contratos, propostas, relatórios e entregas, com busca por projeto, categoria e período.
  • Chamados de suporte. A demanda do cliente entra pelo sistema e fica registrada, em vez de se perder numa conversa.
03 Jr.FEI Gestão de projeto · premiado

Site Empresarial da Jr.FEI

Conduzi do planejamento ao lançamento a vitrine digital da empresa: escopo, time, prazo e entrega final. Foi essa entrega que me levou à coordenação de T.I.

Melhor Projeto Interno do Ano · Prêmio Júnior 2025
Home do site da Jr.FEI, com o título Consultoria Empresarial sobre um fundo escuro em rede e o botão Fale conosco.
Página de serviços do site da Jr.FEI mostrando a abertura da área de Tecnologia, com abas para Marketing, Tecnologia e Produção.
Seção Nossa Cultura do site da Jr.FEI, com um carrossel de cartões apresentando a missão da empresa sobre fotos da equipe.
Sobre o projeto

O site institucional é o primeiro contato de quem quer contratar a Jr.FEI, e o que existia não sustentava mais esse papel. O projeto foi refazê-lo do zero: uma vitrine que explicasse quem é a empresa, o que ela vende e por que 25 anos de história importam para quem está decidindo fechar um contrato.

Aqui meu papel não foi escrever a maior parte do código, e sim conduzir o projeto: definir o escopo junto com a diretoria, montar e distribuir o trabalho no time, acompanhar o prazo, revisar o que ia sendo entregue e responder pela publicação final. Foi essa entrega que me levou à coordenação de T.I. — e ela levou o prêmio de Melhor Projeto Interno do Ano no Prêmio Júnior 2025.

  • Escopo e time. Levantei o que a empresa precisava mostrar, quebrei em frentes e distribuí entre os membros conforme o nível de cada um.
  • Identidade em cada seção. Home, serviços e cultura ganharam abertura própria, mantendo a mesma linguagem visual do começo ao fim.
  • Serviços separados por área. Marketing, Tecnologia e Produção, cada frente com a sua página e a sua chamada.
  • Publicação e manutenção. A entrega não acabou no lançamento: o site ficou hospedado sob a minha responsabilidade.
03Portfólio

Quatro projetos,
em ordem de dificuldade

Na ordem em que construí, para você acompanhar a curva: do primeiro programa que grava num arquivo de texto até um sistema com banco relacional, transação e rollback — e um app mobile com autenticação na nuvem. Cada projeto está aqui com o código aberto e a tela rodando: dá para conferir antes mesmo de me chamar.

01 Python 1º ciclo · primeiro projeto

Exchange de Criptomoedas

Uma corretora de cripto em console: login por CPF e senha, depósito, saque, compra e venda de Bitcoin, Ethereum e Ripple com cotação que muda a cada consulta, saldo separado por moeda e extrato com data e hora de cada operação.

Terminal da Exchange em Python: login por CPF e senha, menu com oito opções e a consulta de saldo em reais.
Ampliar
Contexto do projeto

Primeiro projeto da faculdade, no 1º ciclo. A proposta era simular uma corretora de criptomoedas — a plataforma onde alguém troca real por Bitcoin, Ethereum ou Ripple — inteira em terminal, usando só o que Python oferece de fábrica: datetime, random e os.

Foi aqui que caiu a ficha de que um programa que fecha e esquece tudo não serve para nada. O saldo em reais, o saldo de cada moeda e o extrato do investidor vivem em arquivos de texto nomeados pelo CPF de quem está logado, então cada investidor tem a própria conta e ela continua lá na próxima execução. Foi o primeiro contato com a ideia de persistência — e com a de segurança, já que a senha é pedida de novo a cada operação do menu.

Destaque técnico

Cada investidor tem os próprios arquivos de saldo e de extrato, nomeados pelo CPF. Foi aqui que entendi que um programa precisa lembrar do que aconteceu depois de fechar.

  • Login por CPF e senha, com a senha revalidada antes de cada operação sensível.
  • Depósito, saque, compra e venda das três moedas, com verificação de saldo antes de fechar a operação.
  • Cotação viva. O preço de cada moeda é sorteado a cada consulta, então comprar e vender nunca dá o mesmo resultado.
  • Extrato com data e hora de tudo que passou pela conta, gravado a cada movimentação.
02 C 2º ciclo · dois perfis de acesso

Exchange de Criptomoedas — versão C

A mesma corretora, agora com dois perfis. O investidor deposita, saca, compra e vende, consulta saldo e extrato. O administrador cadastra e exclui investidores e moedas, consulta a conta de qualquer investidor e atualiza as cotações do mercado.

Contexto do projeto

Refazer em C a corretora que eu já tinha escrito em Python, só que com uma exigência nova: agora existem duas pessoas usando o sistema. O investidor deposita, saca, compra, vende e consulta a própria conta. O administrador cadastra e exclui investidores, cadastra e exclui moedas, consulta a conta de qualquer investidor e atualiza as cotações do mercado.

O jeito preguiçoso seria escrever dois programas com a lógica financeira copiada dos dois lados — e ter que corrigir cada bug duas vezes. Em vez disso, os dois executáveis são compilados por um Makefile a partir do mesmo módulo de regras: cada um tem só o seu menu, e as operações de conta existem uma vez só. Foi a primeira vez que eu tomei uma decisão de arquitetura em vez de só resolver o exercício.

Destaque técnico

Os dois programas compilam a partir do mesmo módulo de regras, via Makefile. A lógica financeira existe uma vez só, em vez de ser duplicada nos dois binários.

  • Dois executáveis, um núcleo. admin e investidor compartilham o módulo de regras via Makefile.
  • Conta por CPF em arquivo. Cada investidor cadastrado gera o seu arquivo de conta e o seu arquivo de extrato.
  • Administração de verdade. O admin pode criar moedas novas e atualizar cotações, não só olhar o que já existe.
  • Cadastro que habilita o acesso. Ao criar um investidor, o admin já define o login e a senha com que ele entra no outro programa.
03 Java 3º ciclo · arquitetura de software

FEIFood — sistema de delivery

Um delivery no estilo iFood, do cadastro do usuário até a avaliação do pedido entregue. Cinco tabelas relacionais, seis telas, busca de prato com JOIN entre cardápios, carrinho que agrupa itens repetidos e cálculo de imposto sobre bebida alcoólica através de interface. No histórico dá para cancelar, excluir e avaliar de 0 a 5.

Contexto do projeto

Projeto de Arquitetura de Software e Programação Orientada a Objetos, no 3º ciclo. A tarefa era reproduzir o fluxo de um delivery no estilo iFood — do cadastro do usuário até a avaliação do pedido entregue — mas o que estava sendo avaliado não era a tela: era como o código estava organizado por trás dela.

O sistema segue MVC com padrão DAO. As telas em Swing não conversam com o banco: elas chamam um controller, que chama o DAO, que é o único lugar do projeto que sabe escrever SQL. Os alimentos saem de uma classe abstrata, com comida e bebida herdando dela, e a bebida ainda implementa a interface de imposto sobre álcool — o cálculo do tributo mora no tipo que precisa dele, não espalhado em if pela tela.

A parte que eu mais gosto é a finalização do pedido. Ela grava o cabeçalho, recupera o id gerado pelo banco e insere todos os itens com setAutoCommit(false). Se qualquer passo falhar no meio, o rollback() desfaz tudo — o banco nunca fica com meio pedido gravado.

Destaque técnico

A finalização do pedido é transacional: grava o cabeçalho, recupera o id gerado e insere todos os itens com setAutoCommit(false). Se qualquer passo falhar, um rollback() desfaz tudo — o banco nunca fica com meio pedido.

  • Busca com JOIN. Procurar um prato específico varre o cardápio de todos os restaurantes de uma vez.
  • Carrinho que agrupa. Três unidades do mesmo item viram uma linha "3x", em vez de três linhas repetidas.
  • Histórico completo. Cancelar muda o status, excluir remove do histórico e avaliar grava uma nota de 0 a 5 — um UPDATE, um DELETE e outro UPDATE.
  • PostgreSQL via JDBC, com cinco tabelas relacionais e a conexão isolada numa classe só.
04 JavaScript 4º ciclo · mobile

GymFEI — app de treinos de academia

App mobile com duas áreas separadas na mesma base. O personal cadastra, edita e organiza treinos por grupo muscular; o aluno faz login, vê os treinos, executa e acompanha o próprio progresso. Autenticação e dados no Firebase, cache local com AsyncStorage e navegação em stack entre doze telas.

Gravação de tela do GymFEI mostrando o personal criando e organizando um treino no aplicativo.
Gravação de tela do GymFEI mostrando o aluno abrindo o treino e começando a execução.
Ampliar
Contexto do projeto

O GymFEI nasceu de um app de treinos que eu já tinha feito no ciclo anterior, na matéria de Front-End. A base era a mesma ideia, mas ali ela morria na tela: era interface sem nada por trás. Refiz o projeto do zero em React Native com Expo, agora com autenticação de verdade, banco na nuvem e um app que continua funcionando depois de fechar.

São duas áreas na mesma base de código. O personal cadastra, edita e organiza treinos por grupo muscular; o aluno faz login, vê o que foi montado para ele, executa e acompanha o próprio progresso. Quem entra determina para onde a navegação leva, e o Firebase cuida tanto do login quanto dos dados.

Destaque técnico

Treino excluído não some do banco: vai para uma lixeira e pode ser restaurado depois. É soft delete — a mesma decisão que sistemas de produção tomam para não perder dado por clique errado.

  • Soft delete. Treino excluído não some do banco: vai para uma lixeira e pode ser restaurado. É a mesma decisão que sistemas de produção tomam para não perder dado por clique errado.
  • Firebase Auth + Firestore para login e persistência, com AsyncStorage guardando a sessão em cache no aparelho.
  • Doze telas em navegação por stack, com as rotas do personal e as do aluno separadas.
  • Histórico por grupo muscular, para o aluno enxergar a evolução em vez de só marcar treino feito.
04Em números

O portfólio somado

Nunca me fixei numa stack só. Fui de ponteiros e arquivos em C até um app mobile com banco na nuvem — e é por isso que eu entro numa base de código nova sem travar. Linguagem se aprende; saber ler um sistema inteiro é o que leva tempo.

≈5.900linhas de código
4repositórios públicos
6linguagens no dia a dia
3entregas na Jr.FEI
Java 43% JavaScript 39% C 14% Python 4%

Distribuição por linguagem nos quatro repositórios públicos. PHP e SQL entram pelo trabalho na Jr.FEI.

05Ferramentas

Com o que eu trabalho

Linguagens

  • JavaPOO, Swing, JDBC
  • JavaScriptweb e React Native
  • PHPback-end de sistemas
  • SQLconsulta, JOIN e modelagem
  • Python
  • C

Front-end & Mobile

  • HTML e CSSlayout responsivo
  • React Native + Expo
  • React Navigation
  • FirebaseAuth e Firestore
  • AsyncStorage
  • UI/UXda interface à entrega

Dados & Arquitetura

  • PostgreSQL
  • JDBCtransação e rollback
  • MVC + DAO
  • Orientação a objetosherança, abstração, interface
  • Modelagem relacional

Infra & Gestão

  • Hospedagem e cPanel
  • Manutenção de servidores
  • E-mails corporativos e domínios
  • Git e GitHub
  • Gestão de projeto e de time
06Formação

Bacharelado em Ciência da Computação

Centro Universitário FEI — mais da metade do curso concluída, com base em algoritmos, estruturas de dados, banco de dados, arquitetura de software e programação em Python, C e Java.

5º ciclo em andamento · 4 concluídos · conclusão no 8º

  • Algoritmos e estruturas de dados
  • Programação orientada a objetos
  • Arquitetura de software
  • Banco de dados relacional e modelagem
  • Front-end e experiência do usuário
  • Desenvolvimento mobile
07Contato

Vamos conversarsobre um estágio

Se você chegou até aqui, já viu o que eu construo e como eu penso. O próximo passo é simples: me chame. Estou em São Paulo, disponível para vagas de desenvolvimento web, mobile ou back-end, e pronto para começar.

Ou, se preferir, por qualquer um destes canais: