Skip to content
View eisandromc's full-sized avatar
☕
+ 💻 = </code> 👨🏻‍💻
☕
+ 💻 = </code> 👨🏻‍💻

Block or report eisandromc

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
eisandromc/README.md
Sandro Martins — Menos hype. Mais engenharia com propósito. Código, educação e IA para resolver problemas reais e formar talentos.

Site LinkedIn Instagram YouTube

helloWorld_

Oi, eu sou o Sandro! sou engenheiro de software, desenvolvedor full stack e professor de tecnologia. Há mais de 20 anos trabalho em diferentes contextos de desenvolvimento e formação profissional, aproximando engenharia, educação e problemas que existem fora das apresentações.

Uma parte importante da minha trajetória foi construída no desenvolvimento de aplicações web, integrações, APIs e soluções para organizações. A outra acontece em salas de aula, laboratórios e projetos integradores, ajudando estudantes a transformar conhecimento em repertório técnico, autonomia e capacidade de tomar decisões. Essas frentes não competem entre si: uma melhora a outra.

Minha atuação docente inclui experiências em FIAP, Senac RS e Fundatec. Além da formação profissional, já participei de iniciativas que aproximam tecnologia e responsabilidade social, como ações de recuperação de equipamentos com participação de estudantes durante as enchentes no Rio Grande do Sul. São situações em que conhecimento técnico precisa se converter em ação responsável e útil.

Este GitHub é o lugar onde organizo o lado demonstrável desse trabalho. Aqui você encontra projetos, experimentos, materiais de ensino, ferramentas e decisões de arquitetura que podem ser estudados, executados, adaptados ou discutidos conforme a finalidade de cada repositório.

20+ anos de experiência · 5.000+ alunos formados
Tecnologia não se torna valiosa por ser complexa. Ela ganha valor quando resolve um problema, pode ser compreendida e permanece útil depois da primeira entrega.
01 Engenharia · 02 IA aplicada · 03 Educação

Por onde começar: projetos · engenharia · educação · tecnologias · comunidade


👨‍💻 Projetos que valem a visita

Prefiro apresentar projetos com uma finalidade clara a usar uma parede de logos como argumento de competência. Os exemplos a seguir mostram diferentes partes do meu trabalho, de automação e interfaces a atividades didáticas e soluções voltadas à educação.

Projeto Por que vale conhecer
SummumOpus · PowerShell Explora auditoria, configuração, otimização e observabilidade do Windows. Um ponto de partida para discutir automação, critérios operacionais e responsabilidade ao intervir em sistemas.
Oficina E-commerce · JavaScript Exercício de carrinho de compras para estudar manipulação do DOM, estado da interface e estruturas de dados em um problema familiar.
CSS Moderno · HTML/CSS Demonstra Container Queries, :has() e Subgrid. O objetivo é compreender quando os recursos melhoram a organização e a adaptação das interfaces.
Modularização, Componentes e Microsserviços · JavaScript Material para discutir separação de responsabilidades, composição e limites arquiteturais com exemplos navegáveis.
Cards de Produtos · Front-end Atividade de interface para observar hierarquia, espaçamento, contraste e componentes reutilizáveis em um cenário de catálogo.
Sistema de Banca Avaliativa · Educação e produto Projeto relacionado à organização do processo de apresentação e avaliação de trabalhos acadêmicos. Consulte o repositório para verificar seu estágio e escopo.

A organização do conteúdo, a documentação e as licenças variam conforme a finalidade e a maturidade de cada projeto. Nem todo repositório é um produto pronto para produção; alguns foram concebidos para experimentar, ensinar ou documentar uma abordagem.

Explorar todos os repositórios


🧠 Como penso e construo

Minha referência inicial não é uma linguagem, um framework ou a ferramenta mais recente. É o problema a resolver, quem será afetado pela solução e quais restrições precisam ser respeitadas. A arquitetura deve surgir dessas decisões, com complexidade proporcional ao contexto.

Costumo organizar a análise técnica em cinco perguntas: qual resultado é esperado; quais dados e integrações são necessários; o que precisa ser confiável e seguro; como o trabalho será validado; e como alguém conseguirá manter a solução depois. A documentação é parte dessa conversa, não um artefato preparado apenas no encerramento.

flowchart LR
    P[Problema e contexto] --> R[Requisitos e prioridades]
    R --> A[Modelo e arquitetura]
    A --> I[Implementação]
    I --> V[Testes e validação]
    V --> E[Entrega e observação]
    E -. Aprendizados e melhoria .-> R
    classDef principio fill:#DCEEFF,stroke:#0B7EF3,color:#07142F
    classDef entrega fill:#DDF8EE,stroke:#38CFA2,color:#07142F
    class P,R,A principio
    class I,V,E entrega
Loading

Engenharia com IA, sem promessas impossíveis

Em soluções que usam modelos de linguagem, procuro separar instruções, conhecimento recuperado, ferramentas externas, validação e decisão humana. Um modelo pode ajudar a interpretar ou produzir informações, mas isso não substitui controle de acesso, testes, rastreabilidade ou revisão quando o risco exige.

RAG e integrações por ferramentas podem ser úteis, mas não são requisitos de toda aplicação. O desenho abaixo representa uma arquitetura possível, não uma garantia de precisão ou uma configuração implantada em todos os projetos.

flowchart TB
    subgraph E ["① Entrada"]
        direction LR
        U(["👤 Pessoa e demanda"]) --> O["🧭 Orquestração da tarefa"]
    end
    subgraph G ["② Contexto e geração"]
        direction LR
        R["📚 Consulta autorizada<br/>RAG ou API<br/>(só se precisar de dados externos)"] -.-> M["🧠 Modelo de linguagem"]
    end
    subgraph C ["③ Controle e entrega"]
        direction LR
        Q["✅ Checagens e<br/>critérios de qualidade"] -->|baixo risco| S(["📤 Resposta ou resultado"])
        Q -->|risco ou incerteza| H["🧑‍⚖️ Revisão humana"] --> S
    end
    E --> G --> C
    classDef foco fill:#DCEEFF,stroke:#0B7EF3,stroke-width:2px,color:#07142F
    classDef dados fill:#DDF8EE,stroke:#38CFA2,stroke-width:2px,color:#07142F
    classDef alerta fill:#FFF2C9,stroke:#FFC84A,stroke-width:2px,color:#07142F
    class U,O,S foco
    class R,M,Q dados
    class H alerta
    style E fill:#F7FBFF,stroke:#0B7EF3,stroke-width:1px,color:#07142F
    style G fill:#F5FDF9,stroke:#38CFA2,stroke-width:1px,color:#07142F
    style C fill:#FFFCF2,stroke:#FFC84A,stroke-width:1px,color:#07142F
Loading

Um princípio orienta essas decisões: menos improvisação naquilo que importa; mais espaço para experimentar onde o erro é controlável. Quem mantém um sistema precisa entender suas escolhas, não apenas admirar o resultado na demonstração.


🎓 Como ensino

A experiência como professor molda minha forma de desenvolver e comunicar tecnologia. Tenho atuado na formação técnica e no ensino superior, aproximando programação, projetos integradores, arquitetura e empregabilidade. O ponto de partida é sempre tornar o aprendizado compreensível, praticável e transferível para novos desafios.

Modelo de planejamento didático 20-70-10: uma referência de 20% de introdução, 70% de prática e 10% de consolidação, com metodologias ativas e foco no estudante.

O 20-70-10 é uma referência de planejamento que utilizo, não uma proporção universal ou rígida: uma parte do encontro organiza o conhecimento, a maior parte privilegia investigação e prática e outra parte consolida decisões, dúvidas e aprendizados. A distribuição precisa mudar de acordo com os objetivos, o tempo disponível, o repertório da turma e as necessidades de acessibilidade.

O estudante aprende melhor quando consegue explicar o que construiu, por que decidiu daquele modo, como verificou o resultado e o que faria diferente. Por isso, valorizo exercícios reproduzíveis, atividades de projeto, colaboração, documentação, pensamento crítico e espaço real para revisão e erro.

Não se trata de substituir teoria por atividade incessante. Trata-se de dar à teoria o lugar que ela merece: fundamentar escolhas práticas. E lembrar que copiar código sem compreender a decisão não é exatamente a habilidade mais disputada do mercado.


🛠️ Stack e ferramentas

Minha base de atuação reúne tecnologias web, integração de sistemas, dados e ferramentas de desenvolvimento. Nesta vitrine, priorizo o conjunto mais relacionado aos projetos e aos conteúdos apresentados, em vez de tratar toda ferramenta explorada como especialidade consolidada.

Grupo Tecnologias
Linguagens TypeScript, JavaScript, Python, PHP, Dart, Bash
Front-end React, Next.js, Vue, Svelte, Astro, Vite, Tailwind, HTML, CSS
Mobile React Native, Flutter
Back-end Node.js, NestJS, Express, Laravel, GraphQL
Banco de dados PostgreSQL, MySQL, MongoDB, Redis, Prisma
Mensageria RabbitMQ, Kafka
IA e dados Python, scikit-learn
Claude OpenAI API Gemini LangChain MCP RAG e busca vetorial n8n pandas Jupyter
DevOps e infra Docker, Kubernetes, Terraform, Linux, Nginx, GitHub Actions, Vercel, Netlify
Ferramentas e design Git, GitHub, VS Code, PowerShell, Figma

Quando uma tecnologia aparece em uma demonstração, procuro deixar clara sua finalidade: o problema que ela resolve, as limitações relevantes e as alternativas possíveis. Uma lista de ferramentas pode ser extensa; capacidade de decisão é o que faz diferença.


🌐 Conteúdo, comunidade e contato

Compartilho experiências e materiais sobre programação, engenharia de software, arquitetura, educação tecnológica, IA aplicada e desenvolvimento profissional. O conteúdo pode assumir a forma de demonstração, atividade de aula, estudo de caso, experimento ou reflexão técnica. A proposta é a mesma: sair da abstração e gerar algo que outra pessoa consiga aproveitar

Para estudantes, valorizo caminhos que desenvolvem autonomia e repertório. Para profissionais, discussões sobre decisões, manutenção, ferramentas e evolução de carreira. Para instituições e equipes, projetos, oficinas e experiências de aprendizagem conectadas a situações reais.

Community Perfil
DEV Community dev.to/eisandromc
TabNews tabnews.com.br/eisandromc
Medium medium.com/@eisandromc
Google Developer g.dev/eisandromc
NVIDIA Developer developer.nvidia.com
Stack Overflow stackoverflow.com/users/26036021/eisandromc
Reddit reddit.com/user/eisandromc

🤝 Vamos conversar?

Se você quer desenvolver um projeto, discutir uma decisão de arquitetura, planejar uma formação técnica ou compartilhar uma experiência de aprendizagem, podemos conversar. Gosto especialmente de iniciativas que reúnam problemas reais, boa engenharia e pessoas dispostas a aprender juntas.

📬 Fale comigo pelo LinkedIn ou pelo site. Se algum repositório te ajudou, deixe uma ⭐

Pinned Loading

  1. css-moderno-container-queries-has-subgrid css-moderno-container-queries-has-subgrid Public

    Demos práticas de CSS moderno com Container Queries, :has() e Subgrid, com exemplos reais e layout aplicado.

    HTML

  2. oficina-ecommerce oficina-ecommerce Public

    Aprender estrutura de dados com JavaScript

    JavaScript 2

  3. SummumOpus SummumOpus Public

    Script PowerSchell otimizador de máquinas Windows

    PowerShell

  4. modularizacao-componentes-microsservios modularizacao-componentes-microsservios Public

    Aplicação didática em JavaScript puro que demonstra, na prática, modularização, componentes e microsserviços em um cenário web simples e navegável.

    JavaScript