Retos de Information Technology
Explore information technology challenges on Ewance to develop skills companies are actively hiring for. Work on briefs covering cloud, infrastructure, security, and platform engineering.
Most Popular
- ResearchPrincipianteNuevo
Discovery profundo para un módulo de IA generativa en una plataforma educativa
Diseña y ejecuta un discovery de 4 fases en 5 semanas: 1) entrevistas con 12 estudiantes y 6 docentes sobre el problema de bloqueo, 2) observación en aula de 3 sesiones con anál…
- Product Discovery
- User Research
- Prototyping
Multidisciplinar - StrategyIntermedioNuevo
Diseñar el go-to-market de una herramienta para devs en LATAM
Define el ICP (Ideal Customer Profile) basado en datos de uso open-source + 6 entrevistas con equipos representativos. Elabora el posicionamiento (frente a Datadog/New Relic y f…
- Product Strategy
- Go To Market
- Pricing Strategy
Product Management for Software Engineers - StrategyPrincipianteNuevo
Facilitar una decisión build-vs-buy para un motor de búsqueda interno
Define los requisitos funcionales y no funcionales (latencia, escala de catálogo, control de ranking, multilingüe, seguridad). Investiga 3 opciones: 1) Elasticsearch self-hosted…
- Product Strategy
- Business Case
- Competitive Analysis
Product Management for Software Engineers - CodeIntermedioNuevo
Construir un analizador de dataflow para detectar fugas de credenciales
Implementa el analizador en TypeScript usando ts-morph o babel parser. Modela el problema como dataflow: identifica fuentes (literales que matchean patrones de secretos, process…
- Dataflow Analysis
- Static Analysis
- Ast Manipulation
Program Analysis Practice your coursework on real scenarios.
Every challenge is shaped from real-world context — not generic exercises. The work mirrors what your degree prepares you for.
Why Ewance
- CodeSéniorNuevo
Implementar ejecución simbólica sobre un subset de C
Define el subset de C admitido (sin punteros, sin malloc, enteros de tamaño fijo, structs simples). Implementa el motor en Python: parser de C usando pycparser, IR propia o LLVM…
- Symbolic Execution
- Program Analysis
- Smt Solving
Program Analysis - CodeSéniorNuevo
Diseñar un análisis de punteros para una base de código C++ legacy
Implementa un análisis de punteros basado en Andersen (inclusion-based) o Steensgaard (unification-based) sobre LLVM IR. Justifica la elección con el trade-off precisión vs esca…
- Pointer Analysis
- Static Analysis
- Program Analysis
Program Analysis - CodeIntermedioNuevo
Sintetizar transformaciones de programa para refactor masivo en Python
Implementa la herramienta en Python usando libcst o ast nativo. Acepta como input 3-5 pares (antes/después) escritos a mano. Sintetiza una regla de reescritura (basada en patron…
- Program Synthesis
- Ast Manipulation
- Program Analysis
Multidisciplinar - CodeSéniorNuevo
Interpretación abstracta para análisis de overflow en firmware embebido
Implementa el analizador en OCaml o Rust sobre LLVM IR. Modela el dominio de intervalos para enteros con widening al cruzar bucles. Combina con dominio de paridad para mejorar p…
- Abstract Interpretation
- Static Analysis
- Program Analysis
Program Analysis - Browse challenges
Explore role
Product Manager
Ship product that solves real user problems. Combine user research, prototyping, and stakeholder alignment to turn ambiguous briefs into measurable wins — the role at the centre of modern software teams.
- CodeFundamentosNuevo
Modelar una biblioteca digital con tipos de datos abstractos
Diseña 4 TDA: Libro (con ISBN, título, autoría, género, copias disponibles), Lector (con ID, nombre, contacto, préstamos activos), Préstamo (con libro, lector, fecha inicio, fec…
- Abstraction
- Data Abstraction
- Modular Programs
Programming Abstractions - CodePrincipianteNuevo
Calcular descuentos progresivos con recursión y funciones de orden superior
Modela las reglas de descuento como funciones de orden superior: cada regla es una función pedido -> descuento. Implementa al menos 5 reglas (volumen escalonado, club por antigü…
- Recursion
- Higher Order Functions
- Abstraction
Programming Abstractions - CodePrincipianteNuevo
Diseñar un programa modular para análisis de logs de un restaurante
Diseña 4 módulos: io_logs (parseo y validación), aggregate (cálculo de métricas), analyze (detección de anomalías como margen fuera de banda), report (formato del informe). Cada…
- Modular Programs
- Abstraction
- Python
Programming Abstractions - CodePrincipianteNuevo
Implementar un parser recursivo descendente para expresiones aritméticas
Define la gramática (BNF mínimo) para expresiones aritméticas con precedencia correcta y asociatividad de potencia a la derecha. Implementa el tokenizer, el parser recursivo des…
- Recursion
- Abstraction
- Data Abstraction
Multidisciplinar Build a verifiable portfolio.
Submissions become evidence. Reviewers with shipping experience score against a rubric; the result becomes a credential anyone can verify.
Why Ewance
- CodePrincipianteNuevo
Refactorizar un script monolítico a módulos reutilizables
Lee el script (proporcionado), entiéndelo y traza un mapa de qué hace cada parte. Refactoriza en 5 módulos claros: io (lectura CSV), tax (cálculo de impuestos por país), invoice…
- Modular Programs
- Abstraction
- Refactoring
Programming Abstractions - CodeIntermedioNuevo
Bosques de Conteo Aproximado para Logs de Telemetría
Lee la teoría de Cormode y Muthukrishnan sobre Count-Min Sketch (CMS) y la familia HyperLogLog. Implementa ambas estructuras desde cero (sin usar librerías que las traigan ya he…
- Probabilistic Data Structures
- Hyperloglog
- Count Min Sketch
Randomized Algorithms - CodeIntermedioNuevo
Algoritmo de Karger para Cortes Mínimos en Red de Distribución
Implementa Karger básico (contracción aleatoria de aristas) y Karger-Stein (recursión con dos contracciones independientes). Para garantizar probabilidad de éxito mayor o igual …
- Randomized Algorithms
- Graph Algorithms
- Karger Stein
Randomized Algorithms - AnalysisPrincipianteNuevo
Las Vegas vs Monte Carlo para Selección de Pivote Robusta
Implementa ambas variantes en Python puro (sin numpy.partition). Diseña adversarios de entrada que rompen el quickselect determinista (entradas casi ordenadas, mismas claves rep…
- Randomized Algorithms
- Quickselect
- Monte Carlo
Randomized Algorithms - ResearchIntermedioNuevo
Aprendizaje de Hashing Universal para Tablas Resistentes a Colisiones
Implementa una familia de funciones hash universales tipo Carter-Wegman h(x) = ((a*x + b) mod p) mod m, donde a, b se eligen aleatoriamente de [1, p-1] y [0, p-1]. Demuestra emp…
- Universal Hashing
- Carter Wegman
- Randomized Algorithms
Randomized Algorithms - CodePrincipianteNuevo
Algoritmo de Reservoir Sampling para Streaming de Telemetría Médica
Implementa el Algoritmo R de Vitter y el A-Res ponderado (Efraimidis-Spirakis) en Python con tipado estático. Demuestra empíricamente sobre 5 trazas de 8M eventos cada una que l…
- Reservoir Sampling
- Streaming Algorithms
- Randomized Algorithms
Randomized Algorithms - CodeIntermedioNuevo
Patrón Strangler-Fig para Núcleo Bancario Cobol Legacy
Lee 4 casos de uso del módulo de simulación de préstamos en Cobol (anonimizados, sin nombres reales de cliente). Escribe tests de caracterización que reproduzcan exactamente las…
- Strangler Fig
- Characterization Tests
- Legacy Modernization
Multidisciplinar - AnalysisPrincipianteNuevo
Detección de Code Smells con Análisis Estático en Backend Django
Configura SonarQube self-hosted, Pylint con configuración custom y Radon para complejidad ciclomática y mantenibilidad. Integra en GitHub Actions: cada PR muestra delta de issue…
- Code Smells
- Static Analysis
- Refactoring
Refactoring and Code Smell Detection - CodeIntermedioNuevo
Método Mikado para Romper Acoplamiento en Monolito Java
Lee el módulo de inventario (alrededor de 18.000 líneas Java). Define el objetivo Mikado: 'extraer Inventario como módulo Maven independiente con su propia base de datos'. Empie…
- Mikado Method
- Refactoring
- Java
Multidisciplinar - CodePrincipianteNuevo
Catálogo de Refactors Fowler sobre un Frontend React Heredado
Selecciona 5 componentes React de mayor churn (medido sobre 6 meses de git). Para cada uno: escribe tests de caracterización con Vitest + Testing Library cubriendo el comportami…
- Refactoring
- Fowler Catalog
- React
Refactoring and Code Smell Detection - CodePrincipianteNuevo
Refactor Asistido por IDE para Reducir Acoplamiento en Microservicio Go
Identifica las dependencias circulares con go-cleanarch y go-mod-graph. Para los 3 paquetes más enredados, usa los refactors de GoLand (Extract Interface, Move Function, Change …
- Refactoring
- Hexagonal Architecture
- Go
Multidisciplinar - ResearchPrincipianteNuevo
Elicitación de Requisitos para Sistema de Trazabilidad de Salmón
Realiza 5 entrevistas semiestructuradas (1 hora cada una, guion preparado). Modela 8 casos de uso primarios (escanear caja, registrar lote, vincular alimentación, exportar infor…
- Requirements Elicitation
- Use Cases
- Non Functional Requirements
Multidisciplinar
Cómo funciona
Del briefing al certificado, en seis pasos.
Paso 01
Explora retos alineados con tus estudios.
Paso 02
Acepta el que encaja con tus metas.
Paso 03
Trabájalo con la guía del AI Copilot.
Paso 04
Envíalo para una evaluación estructurada.
Paso 05
Consigue una credencial verificada.
Paso 06
Añádela a LinkedIn con un solo clic.
Equipos del sector tras una década de briefings prácticos
¿Reclutando de este grupo?
Patrocina un reto y conoce candidatos a través de su trabajo real.
Los equipos de la industria pueden diseñar briefings en torno a las habilidades que buscan, y evaluar a los estudiantes por entregables puntuados con rúbrica — no por currículums.



















































































