Olá meu nome é Joice, sou de São josé dos Campos-SP, me formei em Biologia na UNIP-SJC em 2020. Durante a graduação, participei de um estágio voluntário no Parque Vicentina Aranha, com foco em um viveiro de mudas de árvores e educação ambiental. Durante a pandemia percebi a influência cada vez maior da tecnologia no dia-a-dia o que me fez voltar aos estudos e ingressar no Tecnólogo em Análise e Desenvolvimento de Sistemas na Fatec Prof. Jessen Vidal.
Atualmente, estou no 5º semestre e em busca de oportunidades de estágio na área de desenvolvimento de software e tecnologia. Ao longo dos semestres, venho aprimorando minhas habilidades em programação, especialmente em front-end, além de desenvolver uma visão mais ampla de gerenciamento de projetos. Tive a oportunidade de atuar como Product Owner em projetos que seguiram a metodologia ágil Scrum, o que me proporcionou experiência prática em gestão de equipes, priorização de backlog e comunicação eficaz com clientes para identificar suas necessidades.
Curso | Plataforma | Status |
---|---|---|
Introduction to MongoDB | Concluído | |
Google Cloud Computing Foundations | Em Andamento |
Linguagens
Desde o início dos meus estudos, desenvolvi um grande interesse pelo desenvolvimento front-end, ao mesmo tempo em que adquiri conhecimentos em tecnologias de back-end:
Frameworks e Bibliotecas
Banco de Dados
Ferramentas de Design e Gestão
O projeto desenvolvido no primeiro semestre do curso teve como empresa parceira a própria Fatec. Os requisitos foram apresentados pelo professor Antonio Egydio São Thiago Graça, que assumiu o papel de cliente final. O problema apresentado foi desenvolver um Sistema Web para Controle de Ordens de Serviço (SOS) para automatizar o processo de informação de equipamentos com mau funcionamento de Hardware e Software dos computadores da própria Fatec.
Como solução, minha equipe desenvolveu um sistema Web onde os alunos e/ou funcionários que identificassem um problema pudessem abrir um chamado. O técnico responsável possuía um login próprio para receber e administrar os chamados, além da possibilidade de mudança na configuração do layout de cada laboratório e a identificação e listagem dos hardwares de cada máquina.
Link para a API do 1º semestre** BuzzTech-API/API_ADS_1SEMESTE_2022.2
- HTML5
Utilizamos para fazer a estrutura do site, formulário de abertura de chamado, visualização dos chamados e identificação de máquinas.
- CSS3
Utilizamos o CSS para estilizar o site , melhorando a parte visual das páginas criadas com HTML. Com o CSS, conseguimos controlar cores, fontes e layout.
- Bootstrap
Utilizamos o framework Bootstrap para auxiliar na estilização do site, pois possui componentes pré-construidos, como modais.
- Python
Utilizamos o Python como linguagem do back-end, devido à sua simplicidade e facilidade de aprendizado, especialmente para iniciantes. Permitindo que o usuário abra um chamado para reportar problemas em equipamentos com mau funcionamento.
- Flask
Utilizamos o Flask, um framework web em Python, para o desenvolvimento da aplicação e a comunicação com bancos de dados.
- JavaScript
Utilizamos JavaScript para a funcionalidade do layout editavel dos laboratórios, permitindo que os usuários ajustem a disposição dos equipamentos, além de poder alterar tamanho, posição e rotação. O layout ajuda a identificar visualmente os locais com defeitos de hardware ou software de forma interativa.
- MySQL
Utilizamos o Mysql como banco de dados.
- GitHub
Utilizamos o GitHub para a hospedagem do código, facilitando o trabalho em equipe, oferecendo controle de versão eficiente e permitindo o gerenciamento dos colaboradores.
Neste projeto fiz parte do time de desenvolvimento do front-end, onde utilizei HTML e CSS para o desenvolvimento das páginas web de acordo com o design desenvolvido. Fui responsável pelas páginas de computadores não logados e suas especificações e as funções ligadas a ela.
Exercitei as seguintes hard skills nesse projeto:
-
Desenvolver páginas web em HTML5 e CSS3
Sei fazer com autonomia.
-
Desenvolvimento WEB (Utilizando SQL e Python)
Conhecimento básico.
-
Controle de versionamento (GIT e GITHUB)
Conhecimento considerável para puxar, clonar, salvar dados temporários, commitar.
Comunicação: Desenvolvi uma comunicação mais eficaz no trabalho em equipe, estudando e aplicando a metodologia ágil Scrum, o que me ajudou a expor ideias de forma mais clara e objetiva, além de estar alinhada com as necessidades do projeto e do grupo, conseguindo identificar e entender as tarefas a serem desenvolvidas. Para que isso fosse possível, realizei um curso online sobre o Scrum, e a Sprint Review me ajudava a entender os principais pontos de melhoria.
Proatividade e autonomia: Fortaleci essas habilidades ao buscar, por conta própria, soluções para os desafios que surgiam, como ao estudar tutoriais para entender o funcionamento de um CRUD. Esse conhecimento foi crucial para desenvolver a página com computadores não logados, detalhando suas especificações. Quando encontrava dificuldades, como nesse exemplo, também aprendi a pedir ajuda de forma eficaz, garantindo que as entregas fossem concluídas conforme o esperado.
No segundo semestre do curso, o projeto foi desenvolvido em parceria com a própria Fatec. Os requisitos foram definidos pelo professor Giuliano Araujo Bertoti, que atuou como cliente final. O problema identificado foi a necessidade de automatizar o controle de atividades avaliativas para professores de uma escola estadual. Atualmente, esse controle é realizado manualmente, com o uso de cadernetas, o que torna o processo trabalhoso e suscetível a erros. Essa situação dificulta o gerenciamento das atividades por turma e aluno, além de complicar o cálculo das notas atribuídas e o progresso de cada aluno.
Como solução, minha equipe desenvolveu um programa com interface gráfica intuitiva, sendo fácil visualizar o desempenho dos alunos na disciplina. O programa permite o cadastro das turmas e seus respectivos alunos, possibilitando o registro dos instrumentos avaliativos da disciplina e o cálculo da média relacionada às atividades entregues pelas turmas e alunos.
Link para a API do 2º semestre** BuzzTech-API/API_ADS_2SEMESTRE_2023.1
- Java
Utilizamos a linguagem Java para o desenvolvimento do software desktoop.
- Netbeans
Utilizado para o desenvolvimento do código de todo o projeto.
- MySQL
Utilizamos o Mysql como banco de dados, para armazenar e gerenciar as informações da aplicação.
- Figma
Utilizamos o Figma para criar o protótipo da interface, que foi apresentado ao cliente para validação antes do desenvolvimento.
- GitHub
Utilizamos o GitHub para a hospedagem do código, facilitando o trabalho em equipe, oferecendo controle de versão eficiente e permitindo o gerenciamento dos colaboradores.
Neste projeto fiz parte do time de desenvolvimento do front-end. No desenvolvimento da GUI, utilizei código Java, com a interface e método de drag and drop disponíveis no NetBeans. Atuei no desenvolvimento da dashbord e menu, cadastro de turmas, inclusão de pop-ups, visualização de atividades entregues.
Exercitei as seguintes hard skills nesse projeto:
-
Desenvolvimento de telas de software utilizando a linguagem Java
Sei fazer com pesquisa e ajuda.
-
Controle de versionamento (GIT e GITHUB)
Conhecimento considerável para puxar, clonar, salvar dados temporários, commitar.
Resolução de problemas: Durante o projeto, enfrentei desafios técnicos que exigiram que eu buscasse soluções de forma eficiente. Isso incluiu encontrar maneiras de adicionar um modal que fechasse automaticamente após um tempo e permitir que a aplicação pudesse ser reposicionada em diferentes partes da tela, ao invés de ficar estática. Também explorei formas de reaproveitar componentes, como botões, para otimizar o desenvolvimento.
Adaptabilidade: Tive que lidar com a saída inesperada de um membro da equipe que estava envolvido no desenvolvimento do front-end. Essa mudança exigiu uma reorganização do time e me levou a fortalecer minha capacidade de adaptação.
O projeto desenvolvido no terceiro semestre foi realizado em parceria com a Ionic Health, uma empresa de tecnologia voltada para a área da saúde. Especializada em automação e integração, a Ionic Health oferece soluções de tecnologias remotas e ferramentas de relatórios para o setor de saúde. O desafio proposto pela empresa foi solucionar a dificuldade em organizar e documentar os processos internos de forma eficiente. Esses processos, essenciais para o funcionamento de uma empresa de tecnologia voltada à saúde, eram gerenciados de maneira descentralizada, o que gerava inconsistências, perda de informações e aumento no tempo de resposta às demandas internas.
Pensando nessa dificuldade em acompanhar e organizar cada processo foi desenvolvido uma plataforma web com 4 níveis de acesso: colaborador comum, que pode anexar pendências e evidências de um processo ao qual foi designado como responsável e acompanhar seu ciclo de vida; líderes de equipe que podem criar processos e designar etapas desses processos aos colaboradores ou outros líderes; C-levels, que poderão acompanhar como estão essas atividades através do dashboard e usuário Administrador que terá acesso a todos esses recursos, além de poder cadastrar novos usuários.
Link para a API do 3º semestre** m-u-l-a-s/PROTON
- React
Utilizamos React para o desenvolvimento da interface web, garantindo uma experiência de usuário dinâmica e interativa.
- TypeScript
Utilizamos a linguagem TypeScript para o desenvolvimento da aplicação web no front-end.
- JavaScript
Utilizamos JavaScript no back-end para gerenciar a lógica da aplicação e comunicação com o banco de dados.
- Nodejs
Utilizamos Node.js como ambiente de execução no back-end, permitindo a interpretação e execução dos scripts.
- PostgreSQL
Utilizamos PostgreSQL como banco de dados para armazenar e gerenciar as informações da aplicação.
- Figma
Utilizamos o Figma para criar o protótipo da interface, que foi apresentado ao cliente para validação antes do desenvolvimento.
- GitHub
Utilizamos GitHub para versionamento de código e colaboração em equipe, garantindo controle de versão e um fluxo de trabalho eficiente.
Neste projeto, integrei a equipe de desenvolvimento front-end, sendo responsável por implementar as páginas web com base no design definido pelo Product Owner (PO). Minha principal contribuição foi o desenvolvimento da dashboard voltada para os C-levels e dos cards que representam as etapas do projeto.
Utilizei a biblioteca Material UI e TypeScript para estilizar as páginas e implementar gráficos que exibem as métricas extraídas do back-end. Na dashboard, os C-levels podem acompanhar o status de cada etapa do projeto, incluindo etapas concluídas, atrasadas, pendentes e em aprovação.
Nos cards das etapas, além de desenvolver a estilização, trabalhei para garantir a exibição correta das informações de cada processo. Também implementei a funcionalidade de navegação para uma página detalhada, onde os usuários podem visualizar informações específicas e realizar edições necessárias.
Exercitei as seguintes hard skills nesse projeto:
-
Uso do React e TypeScript
Sei fazer com autonomia.
-
Uso do Nodejs
Sei fazer com pesquisa e ajuda.
-
Uso do PostgreSQL
Sei usar com pesquisa e ajuda.
-
Controle de versionamento (GIT e GITHUB)
Conhecimento considerável para puxar, clonar, salvar dados temporários, commitar.
Alinhamento de expectativas: No primeiro projeto com um cliente externo, exercitei a habilidade de alinhar as expectativas do cliente. O cliente tinha uma visão clara do que desejava, o que me permitiu aprofundar meus conhecimentos em UI/UX. Um dos requisitos foi a implementação de sinalizações visuais, como o uso de cores para distinguir tarefas concluídas, em andamento e não iniciadas.
Empatia e Atenção aos Detalhes: Identificamos que parte da equipe do cliente tinha daltonismo, o que poderia comprometer a usabilidade do sistema. Em resposta, ajustamos a paleta de cores, utilizando padrões que garantissem contraste adequado e uma experiência inclusiva para todos os usuários.
Colaboração: Durante o projeto, houve uma mudança significativa no escopo: a página de anexos, inicialmente planejada como uma funcionalidade separada, precisou ser integrada à página de criação de tarefas. Essa alteração demandou um realinhamento interno para redistribuir as tarefas e ajustar as entregas ao novo fluxo. Em conjunto com a equipe, reorganizamos os prazos e garantimos a implementação sem comprometer a entrega final.
O projeto desenvolvido no quarto semestre foi realizado em parceria com a SIATT, sua área de atuação são Sistemas de Defesa e Aeroespaciais, é especializada em Armamentos Inteligentes e na Integração de Sistemas de Alta Tecnologia. A empresa propôs um portal web para o agendamento de reuniões presenciais e online, visando facilitar a organização da equipe em relação às salas disponíveis.
Entendendo a dificuldade que enfrentavam, já que a organização era feita a partir de planilhas no Excel e apenas uma pessoa administrava tudo, desenvolvemos um portal web acessível a todos os colaboradores. O sistema possui um nível de administrador, além de níveis para colaboradores e gestores/diretoria, visto que algumas salas são reservadas exclusivamente para a diretoria. É possível realizar o agendamento de reuniões presenciais e online, com integração ao Zoom para facilitar as reuniões virtuais.
Link para a API do 4º semestre** m-u-l-a-s/API-SIATT
- React
Utilizamos React para o desenvolvimento da interface web, garantindo uma experiência de usuário dinâmica e interativa.
- TypeScript
Utilizamos a linguagem TypeScript para o desenvolvimento da aplicação web no front-end e back-end.
- NestJS
Utilizamos NestJS no back-end para estruturar e organizar a lógica da aplicação, facilitando a comunicação com o banco de dados de maneira eficiente e escalável.
- Nodejs
Utilizamos Node.js como ambiente de execução no back-end, permitindo a interpretação e execução dos scripts.
- MySQL
Utilizamos MySQL como banco de dados para armazenar e gerenciar as informações da aplicação.
- Figma
Utilizamos o Figma para criar o protótipo da interface, que foi apresentado ao cliente para validação antes do desenvolvimento.
- GitHub
Utilizamos GitHub para versionamento de código e colaboração em equipe, garantindo controle de versão e um fluxo de trabalho eficiente.
Neste projeto, fiz parte do time de desenvolvimento front-end e também assumi o papel de Product Owner (PO). Contribuí diretamente para a criação do wireframe do protótipo utilizando o Figma, trabalhando em parceria com o cliente para garantir que suas necessidades e expectativas fossem atendidas desde as fases iniciais do projeto.
Além de colaborar para o desenvolvimento das páginas de cadastro e edição de usuários que era realizado a partir de um perfil administrador e a edição de reuniões. Minha atuação abrangeu tanto a implementação das funcionalidades quanto a estilização dessas páginas, onde utilizei TypeScript para as funcionalidades e Tailwind para a estilização.
Exercitei as seguintes hard skills nesse projeto:
-
Uso do React e TypeScript
Sei fazer com autonomia.
-
Uso do Nodejs
Sei fazer com pesquisa e ajuda.
-
Uso do MySQL
Sei fazer com autonomia.
-
Uso do Figma
Sei fazer com autonomia.
-
Controle de versionamento (GIT e GITHUB)
Conhecimento para puxar, clonar, salvar dados temporários, commitar através de linha de comando.
Gestão de prioridades: Como Product Owner (PO), fui responsável pela comunicação direta com o cliente e pela gestão do backlog, o que me permitiu desenvolver habilidades de gestão de prioridades. Durante a primeira entrega do projeto, ao identificar que a centralização do agendamento de reuniões nas mãos de uma única pessoa estava criando um gargalo,priorizei a implementação de uma solução que permitisse que os próprios funcionários realizassem o agendamento das reuniões, tanto presenciais quanto online, além de visualizarem a disponibilidade das salas. Essa mudança não só otimizou o processo, mas também garantiu uma entrega de valor que atendia diretamente à principal dor do cliente.
Comunicação e Alinhamento de expectativas: Alinhei expectativas entre a equipe e o cliente, tirando dúvidas e interpretando feedbacks. Um momento importante foi a integração com o Zoom, onde foi preciso entender não apenas como a gestão de reuniões funcionava na empresa, mas também as funcionalidades da própria plataforma, para garantir que a solução estivesse dentro do que era possível e adequado às expectativas do cliente.
O projeto desenvolvido no quinto semestre foi realizado em parceria com a Kersys, uma empresa especializada em Gestão Florestal Inteligente. A Kersys oferece uma plataforma web e aplicativos voltados para a gestão digital de processos florestais e outros processos produtivos.
O desafio proposto pela empresa foi a necessidade de um aplicativo que funcionasse mesmo em locais com conectividade limitada. Os produtores enfrentavam dificuldades para monitorar condições climáticas extremas em locais com conectividade limitada. Isso comprometia a tomada de decisões em relação à gestão de seus cultivos, aumentando o risco de perdas devido a mudanças bruscas de temperatura ou variações na pluviometria.
Como solução, foi desenvolvido um aplicativo utilizando React Native, integrado a uma API de dados climáticos. O aplicativo permite que o usuário, após um cadastro simples, crie pontos de monitoramento informando latitude, longitude e um nome para cada ponto cadastrado. Além disso, é possível configurar alertas para receber notificações quando os limites de temperatura ou pluviometria (máxima e mínima) forem ultrapassados. Cada ponto cadastrado possui uma dashboard personalizada, onde o usuário pode visualizar a temperatura média, máxima e mínima do dia, além da pluviometria. A dashboard também apresenta dois gráficos com históricos: um para temperatura e outro para pluviometria. Para um acompanhamento mais detalhado, o aplicativo gera relatórios mensais com os dados registrados. Para superar o desafio da conectividade limitada, foi utilizado o banco de dados local WatermelonDB, garantindo que as funcionalidades essenciais estivessem disponíveis mesmo sem acesso à internet.
Link para a API do 5º semestre** m-u-l-a-s/API-SIATT
- React-Native
Utilizado para o desenvolvimento da interface do aplicativo, garantindo uma experiência de usuário dinâmica e interativa.
- TypeScript
Implementado tanto no front-end quanto no back-end, oferecendo maior segurança e tipagem durante o desenvolvimento.
- NestJS
Adotado no back-end para estruturar e organizar a lógica da aplicação, proporcionando uma comunicação eficiente e escalável com o banco de dados.
- WhatermelonDB
Utilizado como banco de dados local para garantir o funcionamento do aplicativo em locais com conectividade limitada.
- MongoDB
Utilizado como banco de dados principal para armazenar e gerenciar as informações do aplicativo de forma eficiente.
- Figma
Empregado na criação do protótipo da interface, permitindo a validação com o cliente antes do início do desenvolvimento.
- GitHub
Utilizado para versionamento de código e colaboração em equipe, assegurando controle de versão e um fluxo de trabalho organizado.
Neste projeto, atuei como desenvolvedora front-end e também assumi o papel de Product Owner (PO) pela segunda vez. Minhas responsabilidades como PO incluíram a gestão do backlog, o entendimento e a priorização das tarefas, além de manter um contato próximo com o cliente para esclarecer dúvidas e garantir que a equipe tivesse uma visão clara do produto.
No início do projeto, desenvolvi o wireframe utilizando o Figma, alinhando o design às expectativas do cliente. Na parte técnica, minhas contribuições principais envolveram o uso de React Native e TypeScript:
Configuração inicial do repositório front-end, incluindo a estruturação das rotas de navegação; Desenvolvimento de componentes, como os cards exibidos na Home e na Dashboard; Criação da página Home, com a renderização de cards representando os pontos de monitoramento cadastrados, cujos dados são obtidos do back-end; Implementação da página Dashboard, com cards exibindo informações da temperatura média e pluviometria, também fornecidas pelo back-end e exclusão de culturas. Além disso, realizei a implementação do gráfico de pluviometria, que exibe o histórico de chuvas em milímetros para cada ponto monitorado. Esse gráfico de barras apresenta a quantidade de chuva por semana, abrangendo as quatro semanas de um mês, e conta com um filtro por mês e data para personalizar a visualização dos dados.
Exercitei as seguintes hard skills nesse projeto:
-
Uso do React-Native
Sei fazer com autonomia.
-
Uso do MongoDB
Sei fazer com pesquisa.
-
Uso do WhatermelonDB
Sei fazer com pesquisa e ajuda.
-
Uso do Figma
Sei fazer com autonomia.
-
Controle de versionamento (GIT e GITHUB)
Conhecimento para puxar, clonar, salvar dados temporários, commitar através de linha de comando.
Organização: Durante o projeto, após a realização do kickoff, a equipe identificou que ainda havia dúvidas cruciais sobre o produto, especialmente relacionadas à funcionalidade de pluviometria. Ao perceber a necessidade, intermediei uma nova reunião com o cliente. Além de garantir o agendamento da reunião, organizei todo o processo para que fosse rápido e eficaz para ambas as partes. Durante a reunião, conduzimos a discussão de maneira objetiva e produtiva, esclarecendo as dúvidas sobre a API de clima e alinhando as expectativas sobre como apresentar os dados de pluviometria no aplicativo. Como resultado, a equipe conseguiu avançar no desenvolvimento com maior segurança e clareza, reduzindo retrabalho e garantindo a entrega ao cliente.
Adaptação: Durante o desenvolvimento do projeto, enfrentamos um desafio técnico significativo que foi a necessidade de migrar o banco de dados de CouchDB para o WatermelonDB. Essa mudança era essencial para atender à demanda por armazenamento local, mas gerou incompatibilidades com o uso do React-Native Expo no front-end. Assumi a responsabilidade pela migração no front-end, garantindo que todas as funcionalidades permanecessem operacionais, mesmo sem o suporte do Expo. Para isso, adaptei a estrutura do projeto e reconfigurei o ambiente de desenvolvimento. Essa adaptação permitiu que a equipe mantivesse o cronograma de entregas, superando o desafio técnico e garantindo que o banco de dados local fosse implementado com sucesso, atendendo às necessidades do cliente e do produto final.