Antonio Olmo Titos
About me
I am an engineering manager, a tech lead and a software architect with an MSc in computer science and software engineering and twenty years of international experience.
I have worked in different types of organisations — from a fitness start-up to a worldwide non-profit. I have led development teams in several projects from beginning to end, recruited and mentored, designed APIs and UIs, written web applications, given talks at events, and shared my ideas on blog posts. My colleagues and people who reported to me have usually given quite positive feedback about my conscientiousness and communication skills. In the last decade I have focused on the web stack, web standards, JavaScript and UX.
My mother tongue is Spanish, but I am also fluent in English and Italian, and enjoy learning Japanese and German. I was born (and I am currently based) in Madrid (Spain) — after having attended college, and worked, in Japan, the UK and Italy.
Work history
since Aug 2019
Senior software engineer in charge of front-end architecture at Devo
Sep 2022 – Aug 2023
Lecturer at Universidad Europea de Madrid
Feb–May 2019
CTO in residence at
7r Ventures
Aug 2014 – Jan 2019
Web developer at the
W3C's
Systems Team
Oct 2013 – Jun 2014
CTO at
Cycle-IT
…plus experience in six other roles, going back to 2003 — see all on LinkedIn
Formal education
MSc in CS and Software Engineering ETSIIT, University of Granada (Spain), 1998–2004
Socrates/Erasmus grant: one-year stay, and MSc thesis entitled “Implementing Malaj: aspect-oriented programming” Dipartimento di Elettronica, Informazione e Bioingegneria, Polytechnic University of Milan (Italy), 2001–2002
MA in Japanese Cultural Studies Birkbeck, University of London (UK), 2008–2009
Course: Common Lisp programming: from novice to effective developer, Udemy, 2024
Course: Learn and Understand D3.js for Data Visualization, Udemy, 2023
Course: The Modern World, Part One: Global History from 1760 to 1910, University of Virginia on Coursera, 2023
Course: Introduction to Data Science in Python, University of Michigan on Coursera, 2019
Course: Principles of Valuation: Time Value of Money, University of Michigan on Coursera, 2016
Skills
Strong background in formal CS and software engineering, including computer architecture, low-level programming languages, formal languages, data structures, algorithm theory and complexity, digital imaging and 3D, and software development methodologies and project management.
I love JavaScript, and have extensive experience with it, both client- and server-side: ES2015, TypeScript, Angular, React, Redux, styled-components, jQuery, AMD (RequireJS), Browserify, webpack, JSDoc, Velocity.js, GreenSock, D3.js, Node.js, Koa, Express, Mocha, Jest, Babel, ESLint, Prettify, npm, pm2. See my public npm packages.
Complementary web technologies: HTML5 and associated APIs (canvas, WebGL, web sockets, SVG, history API), CSS3 (3D transforms and animations, Flexbox), PWA's, SPA's, responsive web design, Bootstrap, Handlebars. See some of my public demos.
I am a strong advocate of standards, especially those surrounding the Open Web Platform: Unicode, HTTP, XML, REST, JSON, GraphQL.
Other languages and tools I have used and feel confident with, to various degrees: Python, Java, Scala, C/C++, Common Lisp, Google Cloud Platform, SQL (MySQL/MariaDB, SQLite, PostgreSQL), noSQL (CouchDB), Knex, React Native, regular expressions, Docker, Unix CLI and shell scripting, Apache HTTP Server, Travis CI, Circle CI, Git, Subversion, Visual Studio Code, Atom, emacs, Eclipse, OpenAPI (Swagger), Figma, Gimp, Inkscape.
GNU/Linux has been my OS of choice for all purposes, professional or personal, since I started college. I use (and produce) FOSS whenever possible. See my GitHub profile.
I enjoy communicating ideas related to my work — which I do very often, having been interviewed and published blog posts (see a few old ones, or read the last one I wrote). I participate in many events, sometimes giving talks (like this or this), and interact with the community on fora like Hacker News and Stack Overflow.