Curriculum Vitae
Ciro Durán
Experiencia profesional
NaturalMotion ltd, Senior Software Engineer, Brighton, UK
Octubre 2016 - Presente
Creative Assembly, Infrastructure Engineer, Horsham, UK
Octubre 2014 - Octubre 2016
Supermassive Games, Programmer, Guildford, UK
Mayo - Septiembre 2014
Programador freelance para móviles, Caracas, Venezuela
Enero 2012 - Agosto 2013
OpenEnglish, Co-fundador y programador líder de frontend, Caracas, Venezuela
Abril 2006 - Noviembre 2011
Destrezas técnicas
- Control de versiones de software: Git, Perforce
- Unreal Engine: sistema de builds: comandos de Unreal Automation Tool, BuildGraph, Horde, Robomerge, componentes de bajo nivel del engine. Familiarizado con los componentes C++/C# del motor
- Diseño e implementación de endpoints basados en Websocket y REST: módulos de Nakama escritos en Go
- Desarrollo de aplicaciones web usando C#/ASP.NET, usando Razor, Blazor del lado del servidor y del lado del cliente, como frontends. Workers que procesan solicitudes para el frontend. Integración con backends de identidad en SAML/OAuth (ej. Onelogin, Okta)
- Scripts para los fluejos de trabajo de desarrolladores, escritos en Python
- Producción y orquestación de containers: Docker, despliegues y diagnóstico de problemas en Kubernetes
- Diseño, administración y optimización de bases de datos: Postgres, Microsoft SQL Server y MySQL. Diseño y diagnóstico de problemas de consultas en SQL
- Integración con Amazon Web Services: Gamelift, S3, DynamoDB, RDS, EC2, IAM, SQS, ElastiCache, Route52, KMS, Lambda
- Integración contínua, entregas contínuas y automatización de builds con Jenkins. Pipelines escritos en Groovy que pueden extenderse en varios agentes
- Diseño e implementación de sistemas de logging: Elasticsearch, Fluentd, Kibana
- Monitoreo de métricas en tiempo real a través de pulling: Prometheus, Alertmanager, Grafana
- Manejo de secretos, con alta disponibilidad, con Hashicorp Vault, generación de credenciales temporales de AWS IAM
- Manejo de errores para diversas plataformas, incluyendo herramientas que ayudan a la depuración, e integración de servicios de reporte de errors, como Bugsnag
- Pruebas de carga con herramientas públicamente disponibles (Gatling/Java/Scala) o herramientas internas (C#)
- Despliegue y mantenimiento de infraestructura usando las actuales mejores prácticas: Hashicorp Terraform, Hashicorp Packer y Ansible
- Configuración del SDK del Nintendo Switch, configuración del flujo de producción de parches
- Amplia experiencia con sistemas operativos basados en Linux
- Experiencia con una amplia variedad de lenguajes de programación y paradigmas de programación: C++, C#, Python, Golang, Groovy, SQL, Java, Shell Unix (Bourne-shell), Haskell, Javascript/Typescript, Scala
Educación
MSc Computer Games and Entertainment. Goldsmiths College
London, UK. 2014
Título obtenido con Distinction.
Ingeniero de la Computación. Universidad Simón Bolívar
Caracas, Venezuela. 2006.
Título de tesis de pregrado: Volume Rendering basado en texturas usando OpenGL/Cg
Sitio de la tesis: https://www.ciroduran.com/archive/usb-thesis/
Actividades y membresías
- Fundador y organizador del Caracas Game Jam https://www.caracasgamejam.com desde 2009 hasta la actualidad. Actualmente mentoreando equipos que operan el jam localmente
- Músico
- Idiomas: Castellano, idioma nativo. Inglés, completamente bilingüe, con capacidad para dictar charlas