image

Accede a bootcamps ilimitados y a más de 750 cursos para siempre

70
%OFF
Article image
Flavio Oliveira
Flavio Oliveira26/07/2026 12:53
Compartir
AWS - Agentes de IA em CampoRecomendado para tiAWS - Agentes de IA em Campo

Além do código: como a IA transformou meu desafio de programação em aprendizado

    Como uma metodologia baseada em prática, reflexão e diferentes perspectivas profissionais pode contribuir para a evolução de quem está aprendendo desenvolvimento de software.

    Introdução

    Aprender programação vai muito além de conhecer uma linguagem ou memorizar comandos.

    O verdadeiro desafio está em transformar conhecimento em capacidade de resolver problemas, tomar decisões e construir soluções que possam evoluir.

    Durante minha jornada de estudos em Java, especialmente no desenvolvimento do desafio do Jogo Sudoku, busquei uma abordagem diferente: utilizar o projeto não apenas como uma atividade de conclusão, mas como uma oportunidade para desenvolver uma experiência mais próxima da realidade profissional.

    Para isso, combinei uma metodologia própria de aprendizado, o uso consciente da Inteligência Artificial e a simulação de diferentes perspectivas presentes em uma equipe de desenvolvimento.

    O objetivo deste artigo é compartilhar essa experiência e mostrar como essa abordagem pode ajudar outros estudantes a aproveitarem melhor seus projetos de aprendizagem.

    📚 Quando o prazo termina, mas o aprendizado continua

    Durante minha jornada de estudos na DIO, participei de um bootcamp focado em desenvolvimento Java.

    Como acontece com muitos estudantes, nem sempre conseguimos acompanhar o cronograma inicialmente planejado.

    Ao final do período oficial do bootcamp, existia a possibilidade de simplesmente considerar aquela etapa encerrada.

    Porém, percebi que o maior valor estava no conhecimento construído durante o processo.

    Decidi continuar desenvolvendo os desafios propostos, não apenas com o objetivo de concluir uma formação, mas buscando transformar esses exercícios em projetos que representassem minha evolução técnica.

    Essa mudança de perspectiva foi fundamental:

    Antes:

    "Preciso finalizar o curso."

    Depois:

    "Preciso aproveitar cada etapa para desenvolver conhecimento e construir algo que demonstre minha evolução."

    🧠 Uma metodologia de aprendizado baseada em evolução contínua

    Durante esse processo, desenvolvi uma abordagem baseada em seis etapas:

    Aprender
    ↓
    Dialogar
    ↓
    Simular
    ↓
    Aplicar
    ↓
    Revisar
    ↓
    Documentar
    

    Cada etapa possui um papel importante na construção do conhecimento.

    📖 1. Aprender: compreender antes de aplicar

    A primeira etapa consiste em compreender os fundamentos.

    Durante meus estudos de Java, busquei entender não apenas como utilizar determinado recurso, mas principalmente:

    • Por que esse conceito existe?
    • Qual problema ele resolve?
    • Quando essa abordagem faz sentido?

    Alguns conceitos estudados:

    • Classes e objetos;
    • Encapsulamento;
    • Herança;
    • Polimorfismo;
    • Interfaces;
    • Organização de projetos;
    • Boas práticas de desenvolvimento.

    O objetivo sempre foi construir uma base sólida antes de avançar para conceitos mais complexos.

    💬 2. Dialogar: utilizando IA como parceira de aprendizado

    A Inteligência Artificial passou a ter um papel importante nessa jornada.

    Porém, o objetivo nunca foi utilizar a IA como substituta do aprendizado ou simplesmente como uma ferramenta para gerar código.

    O principal valor esteve no diálogo.

    A IA passou a funcionar como uma parceira de reflexão técnica, ajudando a questionar decisões, explorar possibilidades e compreender melhor os conceitos envolvidos.

    Algumas perguntas utilizadas durante esse processo:

    • Essa solução faz sentido?
    • Existe uma forma mais organizada de estruturar esse código?
    • Essa classe possui responsabilidades demais?
    • Como um desenvolvedor experiente avaliaria essa abordagem?
    • Quais problemas essa decisão pode trazer no futuro?

    Um ponto importante dessa experiência foi perceber que a IA não substitui o processo de pensar, pesquisar e tomar decisões.

    Pelo contrário: ela amplia a capacidade de questionamento e acelera o aprendizado quando utilizada de forma consciente.

    👥 3. Simular: observando o problema por diferentes perspectivas

    Uma das experiências mais interessantes dessa jornada foi utilizar a IA para simular diferentes perspectivas inspiradas nos papéis existentes em uma equipe real de desenvolvimento.

    A ideia não foi criar uma equipe real, mas utilizar diferentes pontos de vista para analisar um mesmo problema.

    👨‍💻 Desenvolvedor

    Perspectiva focada na implementação.

    Principais questões:

    • - Como resolver esse problema?
    • - Qual estrutura utilizar?
    • - Como aplicar os conceitos aprendidos?

    🏗️ Arquiteto de Software

    Perspectiva focada na organização da solução.

    Questões analisadas:

    • - Essa estrutura permite evolução?
    • - As responsabilidades estão bem distribuídas?
    • - Existe acoplamento desnecessário?
    • - Essa solução pode crescer?

    🧪 Analista de Qualidade (QA)

    Perspectiva focada em cenários e validações.

    Perguntas:

    • - O que acontece em uma entrada inválida?
    • - Quais situações extremas precisam ser consideradas?
    • - O sistema está preparado para falhas?

    📋 Product Owner

    Perspectiva focada no problema que precisa ser resolvido.

    Questões:

    • - Qual necessidade estamos atendendo?
    • - Essa implementação resolve o problema correto?
    • - Estamos construindo algo que realmente agrega valor?

    👨‍🏫 Professor / Mentor Técnico

    Perspectiva focada na construção do conhecimento.

    Esse papel foi importante para compreender conceitos de forma mais profunda.

    A abordagem não era apenas receber uma resposta, mas entender:

    • - Por que determinada solução funciona?
    • - Quais conceitos estão envolvidos?
    • - Quais alternativas existem?
    • - Como esse conhecimento pode ser aplicado em outros contextos?

    🔍 Code Reviewer

    Perspectiva focada na qualidade da implementação.

    Durante essa etapa, as perguntas passaram a ser:

    • - O código está claro?
    • - Os nomes representam bem suas responsabilidades?
    • - Existe possibilidade de refatoração?
    • - Outro desenvolvedor conseguiria compreender essa solução?

    Essa etapa trouxe uma mudança importante de mentalidade:

    Um código funcionando é apenas o começo.

    🛠️ 4. Aplicar: transformando conhecimento em projetos

    Após compreender conceitos e discutir possibilidades, o próximo passo foi aplicar o conhecimento através de projetos práticos.

    Durante essa jornada, alguns projetos representaram etapas importantes da evolução:

    🐶 PetMachine

    Primeiro contato mais estruturado com Programação Orientada a Objetos.

    Conceitos praticados:

    • - Classes;
    • - Objetos;
    • - Encapsulamento;
    • - Responsabilidade das classes.

    O principal aprendizado foi entender como representar elementos do mundo real através do código.

    ---

    🏦 Sistema Bancário

    Um novo desafio: representar regras de negócio.

    Aprendizados:

    • - Validações;
    • - Controle de estados;
    • - Regras de funcionamento;
    • - Organização da lógica.

    ---

    🚗 Simulação de Carro

    Um exercício focado em comportamento dos objetos.

    Aprendizados:

    • - Estados possíveis;
    • - Restrições;
    • - Responsabilidade dos métodos;
    • - Modelagem de comportamento.

    ---

    🎬 Sistema de Ingressos

    Uma evolução importante utilizando conceitos mais avançados de orientação a objetos.

    Conceitos aplicados:

    • - Classe abstrata;
    • - Herança;
    • - Polimorfismo;
    • - Interfaces;
    • - Sobrescrita de métodos.

    Esse projeto ajudou a compreender que orientação a objetos não é apenas reutilizar código, mas criar modelos que representem corretamente um domínio.

    🔎 5. Revisar: melhorar continuamente

    Uma das maiores mudanças durante essa jornada foi perceber que um código funcionando não significa necessariamente um código bem estruturado.

    Com a evolução dos estudos, comecei a analisar:

    • - Organização das classes;
    • - Separação de responsabilidades;
    • - Clareza do código;
    • - Possibilidade de evolução futura.

    A pergunta deixou de ser:

    "O código funciona?"

    E passou a ser:

    "Essa solução está preparada para evoluir?"

    Essa mudança representa uma transição importante entre apenas escrever código e começar a pensar como alguém que desenvolve software.

    📝 6. Documentar: transformando aprendizado em portfólio

    Outro aprendizado importante foi perceber o valor da documentação.

    Registrar a evolução permite:

    • - acompanhar o próprio crescimento;
    • - compartilhar conhecimento;
    • - receber feedback;
    • - construir uma trajetória profissional.

    Por isso, comecei a utilizar:

    • - Git;
    • - GitHub;
    • - README estruturados;
    • - histórico de evolução dos projetos.

    O objetivo não é apenas armazenar código, mas registrar uma jornada de aprendizado.

    🎮 Sudoku: um projeto em evolução

    Atualmente estou desenvolvendo o desafio do **Jogo Sudoku em Java**.

    Esse projeto representa uma nova etapa da jornada porque reúne diversos conhecimentos construídos anteriormente.

    Mais do que implementar um jogo, estou utilizando o desafio como um laboratório para praticar:

    • - organização de código;
    • - resolução de problemas;
    • - modelagem;
    • - evolução incremental;
    • - boas práticas de desenvolvimento.

    O projeto ainda está em andamento e sua evolução pode ser acompanhada pelo GitHub:

    📌 Repositório:

    https://github.com/foliveiradark/dio-java-fundamentos/tree/main/poo/sudoku

    A ideia é que o próprio histórico do projeto represente a evolução: desde as primeiras implementações até futuras melhorias de organização, arquitetura e qualidade do código.

    💡 O impacto da minha experiência anterior nessa jornada

    Minha trajetória profissional influenciou diretamente essa forma de aprender.

    Minha experiência com gestão de projetos trouxe a importância de:

    • - planejamento;
    • - organização;
    • - acompanhamento de evolução;
    • - melhoria contínua.

    Minha experiência com educação trouxe uma visão importante:

    Aprender não é apenas receber informações.

    É construir conhecimento através de:

    • - prática;
    • - reflexão;
    • - questionamentos;
    • - feedback.

    Essa visão acabou sendo aplicada também ao aprendizado de programação.

    🌱 Um aprendizado além do código

    Durante essa jornada percebi que desenvolver software envolve muito mais do que escrever instruções para um computador.

    Também envolve:

    • - aprender continuamente;
    • - comunicar ideias;
    • - analisar problemas;
    • - considerar diferentes perspectivas;
    • - buscar melhoria constante.

    Essas competências fazem parte da construção de um profissional de tecnologia.

    🚀 Transformando desafios em oportunidades

    Uma das maiores mudanças dessa jornada foi compreender que exercícios podem representar muito mais do que simples tarefas.

    Um desafio pode ser:

    ❌ Apenas uma atividade para concluir.

    Ou pode ser:

    ✅ Uma oportunidade para desenvolver pensamento técnico, experimentar decisões e construir algo demonstrável.

    A diferença está na forma como encaramos o processo.

    Conclusão

    Minha principal conclusão até aqui é que aprender programação exige mais do que consumir conteúdos.

    É necessário criar um processo onde conhecimento seja transformado em prática.

    A Inteligência Artificial ampliou minha capacidade de aprendizado, não substituindo o desenvolvimento do raciocínio, mas funcionando como uma ferramenta de diálogo, reflexão e evolução.

    Ao simular diferentes perspectivas de uma equipe de desenvolvimento, consegui analisar problemas por diferentes ângulos e desenvolver uma visão mais próxima da realidade profissional.

    A tecnologia está mudando a forma como aprendemos e desenvolvemos software.

    Mas o elemento principal continua sendo o mesmo:

    A capacidade de aprender continuamente, fazer boas perguntas e evoluir através da prática.

    🚀 A jornada continua.

    Compartir
    Recomendado para ti
    Nublify - Primeiros passos em IA e Cloud
    AWS - Agentes de IA em Campo
    Riachuelo - Criando produtos com IA
    Comentarios (0)
    Recomendado para tiAWS - Agentes de IA em Campo