Este documento está disponible en HTML a http://canonical.org/~kragen/cv y también en inglés.
Un puesto en desarrollo o devops donde pueda ser mentor y tener como mentores a los mejores programadores que pueda conocer, poniendo en producción software útil.
Veinte años de experiencia en desarrollo profesional de software. Hablante nativo de inglés; fluido en español; conocimiento básico de lectura de francés y portugués. Fui pionero de Comet y AJAX a KnowNow en 2000. Escribí cientos de miles de líneas de código en JavaScript, Python, Perl, C, C++, Java, SQL, assembly, y muchos lenguajes más, para resolver problemas en áreas que incluyen imágenes multiespectrales de teledetección, compra y venta de seguridades en tiempo real, gestión de redes, aplicaciones web sociales, OLAP, instalaciones de arte interactivas, y análisis de datos científicos, corriéndo en diversas plataformas que incluyen HTML5 de cualquier navegador, Linux, y Win32, y también extensiones para Firefox y Chrome. Cuento con experiencia en paradigmas de programación orientada a objetos y funcional, con Extreme Programming, con procesos ágiles menos rigorosos tales como Scrum, y hasta con ciclos de vida deprecados de waterfall; en ambientes desde una firma global de consultoría hasta cooperativas y hasta startups de escasos recursos.
La mayoría de mis últimos proyectos personales están en GitHub. Escribí Aikidraw, un lienzo para dibujar en HTML5 <canvas>. Compuse algunas canciones de Bytebeat, un género de música eletrónica computacionalmente mínima, y lo puse en Arduino. Escribí yamemex, un sistema de un clic de bookmarking y anotación, como una extensión de Chrome. Hospedé el primer SuperHappyDevHouse en Buenos Aires en diciembre de 2011. Di una charla sobre Using Python for interactive art installations en PyConAr 2011.
Agosto de 2017 a mayo de 2018
Extendí, mantuve, e hice monitoreo de los sistemas operacionales en Python para la flota de satélites de Satellogic, tanto en órbita como en la tierra, usando PostgreSQL, Docker, Django, GitLab Continuous Integration en vez de Jenkins, AMQP en RabbitMQ, ZeroMQ, InfluxDB, y Grafana. Extendí y optimicé la pila de red in-house que se usa entre los microcontroladores embebidos ARM y los otros procesadores en el satélite, que corre sobre Ethernet, el bus CAN, y el link radio a las estaciones de tierra. Analicé el performance y diagnostiqué incidentes con Jupyter y Matplotlib.
Julio de 2013 a mayo de 2017
Desarrollé un sistema de compraventa financiera en tiempo real automatizado en Java (en el IDE Eclipse) y Python, en Ubuntu Linux en Amazon Web Services (AWS), en colaboración activa con un cliente remoto altamente técnico, en un equipo local de dos personas.
El sistema vendía y compraba, algorítmicamente, acciones y contratos de futuro comerciados públicamente, a través de estratégias propietarias de compraventa, integrando datos del API del corredor de bolsa, APIs de proveedores de datos pagos corriendo bajo WINE, y scraping de páginas web públicas. (Tiempos de tenencia de las seguridades se midieron en horas a semanas; no es HFT.)
Usé Pandas, Numpy, Jupyter, y D3.js para exploración y visualización de datos.
Evalué Cassandra y InfluxDB para uso como bases de datos para series de tiempo, pero finalmente desarrollamos nuestros propios sistemas de almacenamiento de datos.
Noviembre a diciembre de 2012
Trabajé en un contrato corto plazo para un cliente de Inaka desarrollando con Scala y Lift.
De marzo a julio de 2012
Trabajé en proyectos para clientes para este cooperativa de consultoría de informática, enfocada en Rails, principalmente desarrollo de frontend en HTML y CSS usando jQuery Mobile, Backbone, Rails, y SQL, usando Git y Gerrit para code reviews.
Febrero de 2009 a julio de 2011
Fundé una firma de consultoría de informática. Trabajé en proyectos de clientes: KNX era un motor de búsqueda para tu grafo social, implementado como una aplicación AJAX sin almacenamiento de datos del lado del servidor, con backends que usaban los APIs de distintos sitios de redes sociales (el API de Facebook, de Twitter, de GMail, etc.); cliente fue acqui-hired por Google. Watchdog.net era una base de datos de fácil uso de información política para uso por votantes.
Estos proyectos involucraron herramientas tales como JavaScript, Python, PHP, web.py, OAuth, jQuery, y PostgreSQL, en Linux y Mac OS X. Otros proyectos para clientes durante este tiempo también usaron MySQL, Perl, Objective-C, Django, y Node.js.
Enero de 2006 a febrero 2009
Realicé distintos proyectos personales: Agosto de 2004 a enero de 2006
Con Mark Lentczner,
Donovan Preston, y Jim
Kingdon, ayudé con el diseño e implementación de Wheat, un
lenguaje de programación experimental diseñado para sitios web
interactivos.
Con Jesse Andrews,
escribí WowBar, un prototipo de un sidebar de Firefox libre, y sistema para
anotación colaborativa de páginas web usando una arquitectura
orientado a servicios (SOA) con un API REST en común. Los usuarios se
suscribían a fuentes de anotaciones y publicaron sus propias
anotaciones como una fuente a la cual otros usuarios se podían suscribir.
Otras fuentes de anotaciones incluyeron
Technorati, Google PageRank, and
Para rastrear tareas abiertas de WowBar, diseñé y escribí Trabajé en numerosos otros proyectos más pequeños, tales como
instalar y administrar MediaWiki; instalar, administrar, y
escribir nuevos componentes en Java para
Nutch; y fui coautor de un reporte técnico de CommerceNet sobre el trabajo en Nutch con,
entre otros, Doug Cutting, quién después escribió Hadoop como parte
de Nutch.
Septiembre de 2002 a agosto de 2004
Como parte de un equipo Extreme Programming de seis
personas, desarrollé un aparato de gestión de redes
en Perl para redes grandes 802.11 de multiples vendedores.
El interfaz de usuario era en Apache mod_perl
en Linux, mientras que el backend
usó PostgreSQL, RRDtool, SNMP, y el CLI de
Cisco. Ganamos una parte considerable del mercado a pesar de
competencia ya establecida a través de responder a las necesidades
del mercado y de los clientes y mejorar el software mucho más
rápido que podía la competencia.
Todos los integrantes del equipo participaron en todas las fases
del ciclo de vida de desarrollo, incluyendo contratar, juntar
requerimientos, arquitectura de alto nivel, diseño del interfaz de
usuario, diseño del código, escribir el código, debugueo,
testeo, benchmarking, mantenimiento, computar métricas del
proceso, mejorar el proceso, y evaluación de rendimiento de
empleados.
Septiembre de 2001 a septiembre de 2002
Desarrollé scripts de conversión de formatos de datos y un sistema
OLAP para ventas de bajo costo como servicios web.
Programador, agosto de 2001 a septiembre 2001
Mantuvé y mejoré una aplicación web full-stack que incluyó
una base de datos estilo RDF por encima de MySQL en
Perl, scraping, y frontends de SOAP y AJAX.
Ingeniero de software, junio de 2000 a julio de 2001
Con otros empleados de la etapa de semilla a KnowNow,
desarrollé software de frontend y backend
haciendo pionero de Comet, escrito en Perl, C, y
JavaScript; después de conseguir inversión, escribio una versión
en Python responsivo a eventos. La mayoría de este software
se liberó como
mod_pubsub.
Ingeniero de investigación, agosto de 1997 a junio de 2000
Desarrollo de software en C, C++, y Perl para análisis de
datos hiperespectrales, visualización de datos científicos, y GIS en
Windows NT y Solaris. Hoy en día, ERIM International forma parte
de General Dynamics.
Consultor, mayo de 1997 a agosto de 1997
Trabajé en un contrato Y2K en C++ y Perl en plataformas que
incluyen Microsoft Windows y Unix.
Ingeniero de gestión de configuraciones, febrero de 1996 a marzo
de 1997
Administración de sistemas y bases de datos, y desarrollo y soporte
para sistema interna de control de código fuente, sistema
de build, y rastreador de bugs.
Este CV fue actualizado el 2018-07-12.
Referencias disponible por pedido.
CommerceNet
AirWave Wireless
Programador Freelance
Alpiri (startup etapa semilla)
KnowNow
ERIM International
Lexis-Nexis (via Keane, Inc.)
TCSI Corporation (via Taos Mountain Software)