Verified Expert in Engineering
Alexis is a generalist who is usually the go-to person for solving engineering emergencies, from fixing production incidents to rescuing broken projects, as well as helping teams to hit hard deadlines. Alexis has helped many startups, mid-size businesses, and enterprises with the latest deliverables. In particular, Alexis helped an enterprise deliver a project for Google in three weeks, while the estimate was that the delivery would take three months.
PostgreSQL, Play, Scala, Git, IntelliJ, Linux
The most amazing...
...thing I've coded is an image-storage service that relies on Amazon S3 supporting multiple active regions where we stay up even with S3 outages in a region.
Principal Scala Consultant
- Helped more than five customers to fix their technical emergencies, i.e., a customer missed its deadline while shipping a GCP Batch back end for Cromwell. I also handled an urgent migration from an expensive service provider not to affect their users.
- Presented technical talks in the main Scala conferences in 2022: FunctionalScala (youtu.be/9ePQwMA_g_w) and ScalaCon (youtu.be/lrG5sYiJ5-I).
- Designed, developed, and led the Codepreview.io team working on an application to provide preview environments for web applications.
- Designed and led most of the foundations for the Atala PRISM project (atalaprism.io). It is a self-sovereign identity (SSI) ecosystem that involves decentralized identifiers (DIDs) and verifiable credentials (VCs).
- Designed the initial second-layer protocol for storing decentralized identifiers and digital credentials on top of bitcoin. Designed and implemented the 1st Prism SDK (Scala/Scala.js) and the API Docs website (Paradox/mdoc).
- Designed and implemented the 1st Prism SDK (Scala/Scala.js) and the API Docs website (Paradox/mdoc).
Expert Back-end Developer
Clients (via Toptal)
- Added new REST APIs to their search service which runs ElasticSearch queries to find the entities by the provided arguments (based on parent-child relationships), returning enough data to filter out ambiguous results in a subsequent query.
- Created the first integration tests for the Elastic Search API usage, to make sure that the integration works as expected, required the graph data preparation.
- Designed and developed a Slack Bot that allowed users to query the search service, such bot allowed short commands, as well as custom forms, handling ambiguous results by providing a subsequent form that listed the available options to the user.
- Designed their admin service, Scala/Scala.js front-end/back-end service to trigger data version updates on all the microservices, providing feedback on the asynchronous data processing, e.g. Tracked each component's version update state.
- Implemented their admin service, allowing them to choose the ElasticSearch data version on all the microservices, requiring them to notify and receive updates asynchronously making sure that there is no place for errors to prevent data corruption.
- Designed and implemented automatic integration tests for the admin service state changes, to make sure that no data corruption occurs in case of failures, and, that updates are applied properly, requiring to spin up Mongo/Kafka containers.
Chrome Extension Developer
Clients (via Toptal)
- Developed an entire Chrome extension which included a new page to override the new tab on the browser.
- Implemented the search functionality, allowing you to configure the preferred search engine.
- Built the settings view, allowing you to update the new tab background's image.
Scala Back-end Engineer
Samsung Strategy and Innovation Center
- Implemented Amazon S3 resiliency across regions for the image storage service, we are not worried anymore if Amazon S3 goes down in a region.
- Implemented TCP and TLS support for the LwM2M (IoT) protocol used for device management (Goo.gl/GmsqaU).
- Contributed to multiple-active regions project where we use multi-master asynchronous database replication across different regions in the world.
- Contributed to the Device Management Approved List, where an organization can whitelist the devices that should be able to connect to the cloud (Goo.gl/NQnCDh), used conflict-free replicated data types (CRDT) to get the data replicated across regions.
Software Architect | Developer
Ailytic (via Toptal)
- Built authorization and authentication modules.
- Designed a way for applying database migrations for giving disposable versions of the system to users.
- Implemented core modules for UI testing using Selenium.
- Implemented modules for integrating data from CSV files.
- Designed a way for creating integration tests using in-memory database implementations.
Big Data Consultant
- Helped in the architectural design for the core of a big data pipeline processor.
- Designed a domain specific language for type safety while writing Hive queries and Spark transformations.
- Created a code generator for our domain specific language (based on Hive tables).
- Redesigned how to integrate the data pipeline processors.
- Improved team coding practices to get better benefits while using Scala.
TekTorch (via Toptal)
- Designed the bases for creating integration tests using the Jersey Test Framework.
- Integrated dependency injections.
- Integrated Stripe and Stripe Connect APIs for handling payments.
- Implemented a feature to store information for auditing purposes of every request.
- Decoupled several existing services.
- Integrated a bcrypt algorithm for storing passwords securely.
- Supported the website Kueski.com.
- Created and maintained scalable internal applications.
- Supported the Android team by providing the required knowledge of the product and doing regular code reviews.
- Encouraged secure coding standards to the engineering team.
- Encouraged good coding practices through regular code reviews.
- Created and maintained asynchronous APIs to control the maximum allowed concurrent requests to certain APIs from external providers.
- Interviewed new candidates for Android positions.
- Designed interview challenges for the new candidates.
- Maintained the real application cluster code base.
- Fixed bugs.
- Developed cryptographic modules.
- Built web applications using Java, Struts, and MySQL.
- Made rich internet applications that uses biometric devices.
- Updated the architectural design of web applications.
- Trained new developers.
- Performed local server administration.
- Managed and assigned tasks to other developers.
- Updated the architecture design of legacy web applications.
Epic Entertainment Systems
- Created and maintained the KaraOTec application which is a Java-based desktop application for karaoke entertainment systems working in Linux.
- Designed the license key generator for the KaraOTec application.
- Created new projects as required by external customers.
Scala Web App Templatehttps://github.com/wiringbits/scala-webapp-template/
Scala has a common misconception. Many people believe that it is hard to get productive with it. We proved the contrary with this template. Engineers with no previous Scala experience tended to start contributing simple bug fixes in their first week (including undergrad interns).
XSN Block Explorerhttps://github.com/wiringbits/block-explorer
This explorer powers the Hydranet decentralized exchange (hydranet.ai).
Crypto Coin Alerts Sitehttps://github.com/AlexITC/crypto-coin-alerts
Third Place at the Wizeline at Campus Party 2016https://codefights.com/tournaments/PmrB4rD7YWELAchZz
First Phase Winner in the Tuenti Challenge 5 (2015).
Local Second Place in the Space Apps Challenge 2013
Chrome Scala.js Templatehttps://github.com/AlexITC/chrome-scalajs-template
It includes the common necessary setup, like Webpack, manifest builder, prod/dev config, etc.
Also, it includes very useful abstractions to simplify the communication between different contexts, like the browser action/background/content-script.
It has a server component that stores the tracked items, and it's in charge of looking for item discounts.
There is another component that displays the tracked items summary in a small view.
Last, there is a small web application as the entry point for users, they can use it to get a summary about the extension and the links to install it.
Play, Play Framework, Angular, Akka, JUnit, Sinatra, AngularJS, Bootstrap, Spring, Spring Security, Apache Struts, Jakarta Server Pages (JSP), JPA, Guice, Jersey, Apache Spark, Hadoop, jQWidgets, Californium, Finagle
Chrome Application SDK, REST APIs, Sequel, Slick, Facebook API, Moment.js, jQuery, jQuery UI, Stripe, JAX-RS, JOOQ, Scala.js, React, Http4s, Stripe API, Doobie
RESTful Development, REST API Architecture, Back-end Architecture, API Architecture, Web Architecture, Design Patterns, Object-oriented Design (OOD), Agile Software Development, Functional Programming
Web, Google Chrome, Linux, Raspberry Pi, Arduino, Android, J2ME, DigitalOcean, Docker, Apache Kafka, Amazon Web Services (AWS), JEE
PostgreSQL, MySQL, Apache Hive, Cassandra, Elasticsearch, Amazon S3 (AWS S3), SQLite, MongoDB, NoSQL, OrientDB
Chrome Extensions, Back-end Development, Architecture, Security, Web Scalability, Algorithms, APIs, Data Structures, Integration, Anorm, Cryptography, Bootstrap UI, Applets, OMA Lightweight M2M, Constrained Application Protocol (CoAP), Internet of Things (IoT), Firefox Extensions, Progressive Web Applications (PWA), Push Notifications, Elastic4s, Slinky, Slackbot, Testcontainers, Bitcoin, Cardano Blockchain, Nomad, Solana, Non-fungible Tokens (NFT), Pulumi
ScalaTest, Git, Finatra, IntelliJ, Strace, Jira, Phabricator, Ansible, Bower, Apache Tomcat, Oozie, Eclipse Leshan, Kafka Streams, Amazon Simple Queue Service (SQS), NGINX, DataTables
Bachelor's Degree in Computer Engineering
Instituto Tecnológico de Culiacán - Culiacán, Mexico