My name is Omar. I have several years of Software industry experience working as individual contributor, lead software developer and managing roles for a range of start-up level to established software companies.

I have experience developing desktop and web-based applications in different fields such as Financial Services, Online Video, Artificial Intelligence, and Tourism; both customer facing and internal, with particular focus in good software engineering practices and code quality. I have also got wide experience in the design and implementation of computational systems, particularly in multi-agent software simulation models in financial and marketing domains.

Regarding Education, I got a Honours degree in Computational Systems Engineering from the `Universidad Autonoma de BCS](http://uabcs.mx) in Mexico, where I specialized in advanced software development. I received my PhD degree at the University of Liverpool, UK, for the research in multi-agent option-trading mechanisms for market-based control of distributed computational systems.

I was active for 7 years in academia during my PhD (thesis) and a PostDoc project PRIMA where I was "work package coordinator" (the person in charge of coordinating the technology working package for the project).

Although my main area of expertise is Agent-based software development (Multi Agent Systems), I am attracted to solving all kinds of Computer Science and Software Engineering related problems. I enjoy solving complex problems using leading edge technology tools and algorithms (Machine Learning, cool technologies and algorithms.

One of the things that I enjoy the most, is preaching (including setting the example) the use of "proper" software engineering practices to build good software (i.e., unit testing, CI testing, using [but not abusing] design patterns, code reviewing, etc).

From 2014 to February 2018 I was working at Kueski.com a startup where I wore many different hats, like Software Developer, Director of Analytics (building and overseeing the Data Science/Machine learning group), Director of Engineering (also building and managing the Engineering team), Head of Product (helping with the direction of the Product team).

From February 2018 to date I have been working in Paystand, a startup focusing on bringing B2B payments into the digital age using both typical and Blockchain technologies. Being this a startup, I have been also wearing as many hats as needed, being Director of Engineering and Head of Product.

Programming:
Programming Languages
Fluent: TypeScript, Ruby, Javascript, Shell Scripting (Linux Bash)
Have worked with: C, ActionScript, C#, C++ , SQL (PostgreSQL, MySQL and MS SQL server), PHP, Python. Assembler (80x86), ... among others that escape me.

Other technologies I am familiar with:
Docker, Vagrant, Ionic, Angular.

At some point I am going to make a list of all the technologies that I have used for one thing or another...