Software Engineering
Ingeniero de Software
Los ingenieros de software convierten intención en código del que otras personas dependen, a menudo sin llegar a conocerlas. El oficio es más amplio que los lenguajes — Python, Go, Java rotan dentro y fuera de moda — y se centra en el juicio: qué abstracción introducir, qué prueba escribir primero, qué comentario de revisión importa y cuál es gusto disfrazado de principio.
Herramientas de IA como Copilot y Claude Code aceleran la escritura, pero elevan el listón sobre qué construir realmente. A los ingenieros sólidos les importan las personas que mantendrán su código dentro de dos años, incluidos sus futuros yo.
Los estudiantes atraídos por este camino a menudo empezaron a construir cosas en la secundaria y nunca pararon. El crecimiento viene de lanzar sistemas reales, asumir la responsabilidad cuando fallan y leer código escrito por personas mejores que tú.
US$163,883 salario mediano en United States¹
- CodeIntermedioNuevo
Plataforma de gestión de flotas para empresa logística del puerto de Algeciras
Diseña y construye un prototipo funcional de plataforma web para gestión de flotas de transporte de contenedores, usando HTML, CSS, JavaScript en el frontend y Java EE en el bac…
- Full Stack Development
- Java Ee Development
- Real Time Web Features
Web and Mobile Application Development - CodeIntermedioNuevo
Digital Humans: Rigging y Skinning para una Empresa de Avatares LATAM
Construye pipeline en Python con Open3D + libigl: (1) detección de landmarks anatómicos sobre malla via correspondencia con template (Procrustes + ICP refinement); (2) ajuste de…
- Digital Humans
- Rigging
- Skinning
Advanced Computer Graphics - CodeIntermedioNuevo
Conversión a SSA y Eliminación de Subexpresiones Comunes
Construye el CFG del IR de entrada, calcula los frontiers de dominancia con el algoritmo de Cytron et al. e inserta phi nodes para variables vivas. Renombra variables con el alg…
- Ssa Construction
- Dominance Analysis
- Value Numbering
Advanced Compilers and Program Optimization - CodeIntermedioNuevo
Optimización de Bucles y Vectorización Manual con Intrínsecos SIMD
Implementa loop interchange e identificación de bucles tileables sobre el IR del compilador, con análisis de dependencias suficiente para garantizar correctitud (test de bandera…
- Loop Optimization
- Vectorization
- Simd
Advanced Compilers and Program Optimization 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
- CodeIntermedioNuevo
Diseñar un sistema de archivos en espacio de usuario con FUSE
Implementa un FUSE filesystem en Python (libfuse) o Rust (fuser) que monta un bucket compatible con S3 (usa MinIO local para desarrollo). Soporta operaciones POSIX básicas: geta…
- File Systems
- Fuse
- Systems Programming
Operating Systems - CodeIntermedioNuevo
Path Tracer Físicamente Basado con Importance Sampling
Implementa path tracer Monte Carlo unbiased. Soporta: ray-triangle intersection acelerado por BVH (Bounding Volume Hierarchy), 3 BSDFs (Lambert, GGX dieléctrico con Fresnel, GGX…
- Physically Based Rendering
- Monte Carlo
- Path Tracing
Advanced Computer Graphics - CodeIntermedioNuevo
Backend Paralelo con OpenMP para un Compilador de Stencils
Diseña la generación de directivas OpenMP (#pragma omp parallel for, schedule, collapse) a partir del IR de stencils existente. Implementa heurísticas de cuándo emitir collapse …
- Compiler Backend
- Openmp
- Parallel Programming
Advanced Compilers and Program Optimization - AnalysisIntermedioNuevo
Out-of-Order Execution con Tomasulo en gem5
Parte del modelo O3CPU de gem5 y extiende dos variantes del Issue Queue: (A) IQ unificada de 64 entradas; (B) IQ particionada por tipo (ALU/MEM/FP) de 24+24+16. Configura ROB de…
- Out Of Order Execution
- Gem5
- Cpu Architecture
Advanced Computer Architecture - 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.
- CodeIntermedioNuevo
Reconstrucción de Mallas con Poisson Surface para una Startup de Patrimonio Digital
Implementa el pipeline en C++ con Open3D y libigl: (1) preprocesamiento bilateral filtering + outlier removal; (2) estimación de normales orientadas vía MST; (3) Poisson surface…
- Geometry Processing
- Mesh Reconstruction
- Poisson Reconstruction
Advanced Computer Graphics - CodeIntermedioNuevo
Cloth Simulation con Position Based Dynamics para una Productora de Moda Virtual
Implementa solver PBD/XPBD: malla triangular con partículas, constraints de distancia (stretching) entre vértices vecinos, constraints de bending entre triángulos adyacentes (Mü…
- Physical Simulation
- Cloth Simulation
- Position Based Dynamics
Advanced Computer Graphics - CodeIntermedioNuevo
Estructura de Datos Concurrente para Cache de Catálogo en Marketplace Bogotano
Implementa en Rust dos variantes: una con std::sync::RwLock<HashMap> y otra con DashMap. Soporta operaciones get, insert, invalidate y bulk_invalidate por prefijo. Diseña tests …
- Concurrent Data Structures
- Rust Concurrency
- Rwlock Dashmap
Concurrent and Parallel Programming - 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
- RefactorizacióN
- Python O Javascript
Refactoring and Code Smell Detection 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
- CodeIntermedioNuevo
Implementar un sidechain para tokenizar trazabilidad de aceite en Jaén
Diseña la sidechain (elige stack + justifica), con periodicidad de commit a mainnet cada 6 horas. Implementa el smart contract Solidity para registrar: lote, finca origen, fecha…
- Blockchain
- Smart Contracts
- Sidechains
Blockchain and Decentralized Systems Engineering - AnalysisIntermedioNuevo
Audita la deuda técnica de una plataforma SaaS de gestión hotelera
Realiza una auditoría de deuda técnica (technical debt) de la plataforma utilizando métricas objetivas: cobertura de pruebas, complejidad ciclomática, frecuencia de cambios fall…
- Technical Debt Analysis
- Pipelines Ci/Cd
- Software Metrics
Software Engineering and Quality Assurance - CodeIntermedioNuevo
Optimizaciones de Mirilla Sobre IR de Tres Direcciones
Trabaja sobre el IR existente (formato TAC, Three-Address Code, suministrado en una sintaxis simple tipo SSA). Implementa una pasada peephole que recorra ventanas deslizantes de…
- Compiler Backend
- Ir Design
- Peephole Optimization
Compiler Construction - CodeIntermedioNuevo
Entrenamiento federado con seguridad agregada para banca móvil
Implementa un entrenamiento federado horizontal sobre un modelo de fraude (modelo base proporcionado, MLP simple). Usa PySyft, Flower o tu propia implementación con PyTorch. Aña…
- Federated Learning
- Secure Computation
- Ml Privacy
Privacy-Enhancing Technologies - 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
Refactoring and Code Smell Detection - CodeIntermedioNuevo
Paralelizar un kernel de simulación de carteras Monte Carlo
Recibes el kernel actual en C++ (alrededor de 5.000 LOC) y datos sintéticos representativos (1 millón de paths × 500 instrumentos). Paraleliza con OpenMP o TBB, analiza work-spa…
- Parallel Algorithms
- Openmp
- Work Span Analysis
Parallel and Distributed Algorithms - CodeIntermedioNuevo
Aplicar MPI a un solver de elementos finitos para clima local
Recibes el solver secuencial (alrededor de 8.000 LOC Fortran) y un dominio de prueba (cuadrícula 512×512×64 sobre la zona metropolitana de Santiago). Diseña una descomposición d…
- Mpi
- Message Passing
- Parallel Algorithms
Parallel and Distributed Algorithms - AnalysisIntermedioNuevo
Predicción de Estructura de Proteínas con AlphaFold para una Biotech Argentina
Configura un workflow con ColabFold (o OpenFold local en GPU) para predecir estructura de 12 proteínas diana, incluyendo MSA (Multiple Sequence Alignment) generation y 5 modelos…
- Structural Bioinformatics
- Alphafold
- Gpu Computing
Computational Biology and Health Informatics - 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
- AnáLisis EstáTico
- Ast Manipulation
Program Analysis - CodeIntermedioNuevo
GPU Compute: Optimización de Kernel CUDA y Análisis Roofline
Parte del kernel SPH base provisto (alrededor de 200 líneas de CUDA con N≈1M partículas). Aplica optimizaciones: tiling con shared memory, vectorización de loads (float4), reduc…
- Gpu Architecture
- Cuda
- Performance Optimization
Advanced Computer Architecture - CodeIntermedioNuevo
Smart contract de stablecoin colateralizada para wallet en Buenos Aires
Implementa los contratos: (1) Vault que custodia colateral USDC y emite la stablecoin con ratio mínimo 130%, (2) liquidación parcial cuando el ratio cae bajo 115% con incentivo …
- Smart Contracts
- Solidity
- Defi
Blockchain and Decentralized Systems Engineering - AnalysisIntermedioNuevo
Diagnosticar contención NUMA en un sistema multicore de inferencia
Recibirás acceso remoto a un servidor de prueba idéntico (2 sockets Xeon Gold, 56 núcleos físicos, 256 GB RAM) con la carga real de inferencia (binarios + datos sintéticos repre…
- Os For Multicore
- Numa
- AnáLisis De Rendimiento
Advanced Operating Systems - CodeIntermedioNuevo
Property-Based Testing para una Librería de Conversión de Divisas en Bogotá
Identifica 6-8 propiedades invariantes del dominio (por ejemplo: convertir A a B y luego B a A debe estar dentro de la tolerancia de redondeo declarada; la suma de las comisione…
- Property Based Testing
- Unit Testing
- Test Design
Software Testing and Quality Assurance - CodeIntermedioNuevo
Refactor con Patrones Comportamentales en un Motor de Juego Móvil
Recibes el motor en C# (Unity 2023 LTS) con la suite QA existente (escenarios de jugabilidad grabados). Identifica las 25 ramas y agrúpalas en 4 categorías. Modela las acciones …
- Patrones De DiseñO
- Csharp
- RefactorizacióN
Software Design and Design Patterns - CodeIntermedioNuevo
Paralelizar simulación CFD con MPI para investigación CONACYT
Recibirás el código serial en C (provisto) y acceso a un cluster con 8 nodos de 16 cores. Implementa la descomposición 2D, intercambio de halos con MPI_Sendrecv no bloqueante, r…
- Mpi
- C Programming
- Domain Decomposition
High-Performance and Scientific Computing - CodeIntermedioNuevo
Hibridación OpenMP+MPI para procesamiento sismológico en RackNerd
Audita el código MPI puro (Fortran 2008, provisto) y perfila para identificar regiones candidatas a OpenMP (probablemente: filtros temporales, transformadas FFT, cálculo de corr…
- Mpi
- Openmp
- Fortran
High-Performance and Scientific Computing - AnalysisIntermedioNuevo
Modelado de roofline para pipeline genómico en cluster compartido
Perfila las 6 etapas del pipeline (Trimmomatic, BWA, Samtools sort, Mark duplicates, BQSR, GATK HaplotypeCaller) con likwid o Intel Advisor para obtener intensidad aritmética y …
- Roofline Model
- AnáLisis De Rendimiento
- Vectorization
High-Performance and Scientific Computing - CodeIntermedioNuevo
Análisis de Flujo de Datos para Detección de Variables Muertas en LLVM
Implementa la pasada como un FunctionPass de LLVM en C++. Calcula los conjuntos in/out de liveness por bloque básico hasta punto fijo, identifica stores y definiciones cuyo dest…
- Dataflow Analysis
- Llvm
- Liveness Analysis
Advanced Compilers and Program Optimization - 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
Program Analysis - CodeIntermedioNuevo
Análisis de Pipeline de CPU para Aceleración de Hash en Pyme Chilena
Recibes la implementación actual (C portable, ~400 LOC), un dataset de 10 millones de mensajes y dos CPUs distintas (una Skylake sin SHA Extensions y una Zen 3 con SHA Extension…
- Cpu Pipeline
- Vectorization
- Simd
Computer Systems and Organization - CodeIntermedioNuevo
Procesador RISC-V de 5 etapas en Verilog para curso de hardware
Diseña un procesador RV32I con 5 etapas (IF, ID, EX, MEM, WB), forwarding de EX/MEM y MEM/WB hacia EX, stall en load-use hazard y flush en saltos taken predecidos como not-taken…
- Verilog
- Risc V
- Pipelining
Digital Systems Design - CodeIntermedioNuevo
Construir un asignador de memoria slab para una distribución embebida
Implementa en C un asignador slab con caches de 16/32/64/128/256 bytes, listas libres por cache y reciclado de slabs vacíos. Mide latencia de asignación, fragmentación interna y…
- Memory Management
- C Programming
- Systems Programming
Operating Systems - CodeIntermedioNuevo
Implementar un Linker Sencillo para Curso Universitario en Lima
Implementa en C un linker que: lea archivos objeto ELF64 generados por GCC, fusione secciones, resuelva símbolos globales, aplique relocaciones x86_64 más comunes (R_X86_64_PC32…
- Linking And Loading
- Elf Format
- C Programming
Computer Systems and Organization
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.
Roles relacionados que podrías explorar
Ver todos los roles →Software Engineering
Ingeniero/a de Backend
Detrás de cada aplicación que un usuario toca, hay un sistema más silencioso haciendo el trabajo real: enrutando solicitudes, manteniendo el estado, rechazando entradas incorrectas de manera educada. Los ingenieros backend construyen y cuidan esa capa oculta. El rol es parte oficio, parte diplomacia: estás diseñando APIs en las que otros ingenieros confiarán durante años, y una elección descuidada de esquema puede resonar en una empresa por mucho tiempo. Un buen trabajo aquí se parece a código que es aburrido de la mejor manera: predecible bajo carga, fácil de leer para la próxima persona, observable cuando algo se rompe. Los estudiantes crecen en este rol sintiéndose cómodos con Python u otro lenguaje de servidor, y luego aprendiendo cómo se comportan realmente las bases de datos cuando el tráfico se dispara.
Software Engineering
Ingeniero/a de Frontend
Cada botón que un usuario pulsa, cada estado de carga que espera, cada formulario que casi funciona pero no del todo, todo eso pasó por el editor de un frontend engineer. Esta disciplina decide cómo se siente el software. El rol vive en una intersección peculiar entre el diseño empático, los presupuestos de rendimiento y los estándares de accesibilidad, por lo que los estudiantes a los que les gusta tanto el oficio visual como el pensamiento sistémico suelen encontrar aquí su lugar. Crecerías en él construyendo cosas reales con React o Next.js, leyendo código de otras personas y desarrollando el criterio para saber qué se siente bien. Herramientas como GitHub Copilot aceleran la escritura; el juicio sobre cuándo refactorizar y cuándo lanzar sigue siendo tuyo. Los buenos frontend engineers se preocupan de que un lector de pantalla pueda navegar por su trabajo.
Software Engineering
Ingeniero/a Full-Stack
Imagina el pequeño equipo de una startup donde un solo ingeniero lanza una funcionalidad desde el esquema de base de datos hasta el botón desplegado. Esa mentalidad generalista es lo que el ingeniero full-stack aporta, incluso en empresas más grandes. El rol existe porque la mayoría del software útil no respeta el límite entre cliente y servidor, y alguien necesita razonar sobre ambos. Los estudiantes crecen hacia esto siendo curiosos más allá de su zona de confort, aprendiendo PostgreSQL cuando vinieron por React, dominando flujos OAuth cuando vinieron por UI. El trabajo recompensa a quienes prefieren entender un sistema completo antes que perfeccionar una sola parte. Los ingenieros full-stack sólidos saben cuándo pedir ayuda a un especialista, lo cual es en sí mismo una habilidad que vale la pena desarrollar desde temprano. Tú navegarás entre frontend y backend, construyendo APIs con Node.js y TypeScript, diseñando interfaces en React o Next.js, y gestionando bases de datos como PostgreSQL o MongoDB. Implementarás soluciones en la nube con AWS, GCP o Azure, y orquestarás contenedores con Docker y Kubernetes. Automatizarás despliegues mediante CI/CD con GitHub Actions o Jenkins, y monitorearás sistemas con Prometheus y Grafana. Trabajarás con flujos de datos usando Kafka o Airflow, y manejarás almacenes como Snowflake o BigQuery. También integrarás modelos de lenguaje (LLM) mediante RAG, LangChain o herramientas como LangGraph, siempre manteniendo la seguridad con OAuth, JWT y prácticas OWASP. Colaborarás en equipos ágiles usando Jira y Slack, midiendo el éxito con KPIs, OKRs y SLAs.
Software Engineering
Ingeniero/a Mobile
Abre la aplicación en tu teléfono y toca algo. El hecho de que responda al instante, no agote la batería y funcione en un dispositivo de cinco años no es casualidad: un mobile engineer se obsesionó con eso. Este rol es para personas que se preocupan por el oficio en la interfaz donde el software se encuentra con el bolsillo de un humano. Espera días escribiendo código nativo contra el Android SDK o iOS, perfilando animaciones, lidiando con pruebas inestables y guiando lanzamientos a través de App Store Connect. Los estudiantes crecen en ello lanzando su propia aplicación pequeña y sintiendo la brecha entre un demo y algo que un desconocido realmente usaría. Los mobile engineers sólidos tratan la accesibilidad como una línea de base, no como una función.
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.
¹ Salario mediano anual calculado a partir del histograma salarial de 50 ofertas de empleo actuales de Adzuna para «Ingeniero de Software» en United States, obtenido el mayo de 2026. Las habilidades provienen de las disciplinas etiquetadas en los retos activos de Ewance para este rol.
Retrato: Foto de Donald Teel en Unsplash.



















































































