Alexis Hernandez, Developer in Culiacán, Mexico
Alexis is available for hire
Hire Alexis

Alexis Hernandez

Verified Expert  in Engineering

Front-end Developer

Location
Culiacán, Mexico
Toptal Member Since
October 26, 2016

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.

Portfolio

Wiringbits
Scala, Scala.js, Play Framework, Ansible, PostgreSQL, MySQL...
IOHK
Scala, Akka, Doobie, Scala.js, Chrome Extensions, PostgreSQL, Cardano, Bitcoin...
Clients (via Toptal)
Scala, Scala.js, Elasticsearch, Elastic4s, Docker, Slinky, React, Apache Kafka...

Experience

Availability

Part-time

Preferred Environment

PostgreSQL, Play, Scala, Git, IntelliJ IDEA, 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.

Work Experience

Principal Scala Consultant

2019 - PRESENT
Wiringbits
  • 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.
Technologies: Scala, Scala.js, Play Framework, Ansible, PostgreSQL, MySQL, Amazon Simple Queue Service (SQS), JavaScript, TypeScript, Rust, Solana, Non-fungible Tokens (NFT), OrientDB, Pulumi, Doobie, Slinky, React, NGINX

Technical Architect

2018 - 2022
IOHK
  • 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).
Technologies: Scala, Akka, Doobie, Scala.js, Chrome Extensions, PostgreSQL, Cardano, Bitcoin, Nomad

Expert Back-end Developer

2020 - 2021
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.
Technologies: Scala, Scala.js, Elasticsearch, Elastic4s, Docker, Slinky, React, Apache Kafka, Kafka Streams, Http4s, Slackbot, Play Framework, MongoDB, Testcontainers

Chrome Extension Developer

2020 - 2020
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.
Technologies: Scala.js, JavaScript, Chrome Extensions, APIs, HTML

Scala Back-end Engineer

2017 - 2018
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.
Technologies: Amazon Web Services (AWS), Functional Programming, Internet of Things (IoT), Eclipse Leshan, Californium, Constrained Application Protocol (CoAP), OMA Lightweight M2M, Apache Kafka, Anorm, Slick, Play Framework, Akka, MongoDB, Elasticsearch, Cassandra, MySQL, Java, Scala

Software Architect | Developer

2017 - 2017
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.
Technologies: jQWidgets, jQuery, MySQL, Apache Tomcat, Java

Big Data Consultant

2017 - 2017
Praxis
  • 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.
Technologies: Oozie, Apache Hive, Hadoop, Apache Spark, Scala

Java/JavaScript Developer

2016 - 2017
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.
Technologies: Jersey, PostgreSQL, JOOQ, Apache Tomcat, Guice, MySQL, JAX-RS, Stripe, JPA, Java

Software Engineer

2015 - 2017
Kueski
  • 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.
Technologies: Amazon Web Services (AWS), Bower, Moment.js, Facebook API, Bash, Ansible, Slick, JavaScript, AngularJS, HTML5, Git, Phabricator, Jira, Sequel, Sinatra, Finatra, Java, PostgreSQL, MySQL, MongoDB, Ruby, Scala

Software Developer

2015 - 2015
Oracle
  • Maintained the real application cluster code base.
  • Fixed bugs.
Technologies: Strace, Assembler, Bash, Linux, C

Developer

2014 - 2015
SAC
  • 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.
Technologies: Git, jQuery UI, jQuery, JavaScript, MySQL, Cryptography, Apache Tomcat, Jakarta Server Pages (JSP), Apache Struts, HTML, Applets, Java

Founder

2013 - 2014
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.
Technologies: Java

Scala Web App Template

https://github.com/wiringbits/scala-webapp-template/
A pragmatic skeleton to build web applications in Scala/Scala.js, including user registration, login, admin portal, and deployments.

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 Explorer

https://github.com/wiringbits/block-explorer
A cryptocurrency block explorer for bitcoin-based currencies, indexing the blockchain into a PostgreSQL database. It exposes an API for querying this data.

This explorer powers the Hydranet decentralized exchange (hydranet.ai).

Crypto Coin Alerts Site

https://github.com/AlexITC/crypto-coin-alerts
Cryptocoinalerts.net is an open-source web application that lets you track the price changes of the cryptocurrencies of your interest, it is composed of a web app, the backend server, and the infrastructure scripts required to do automated deployments.

Playsonify

https://github.com/AlexITC/playsonify
An opinionated library to help you build JSON APIs in a practical way by using the Play Framework.

Third Place at the Wizeline at Campus Party 2016

https://codefights.com/tournaments/PmrB4rD7YWELAchZz
This was a programming competition held on CodeFights.

First Phase Winner in the Tuenti Challenge 5 (2015).

A programming competition by Tuenti.

Local Second Place in the Space Apps Challenge 2013

A hackathon sponsored by NASA.

Chrome Scala.js Template

https://github.com/AlexITC/chrome-scalajs-template
This template is the result of after I built several browser extensions. It's an opinionated template to get started fast while building browser extensions with Scala.js.

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.

Cazadescuentos

https://cazadescuentos.net/
Cazadescuentos is a browser extension that works on Chrome and Firefox, it injects a component on online stores to allow users follow an item, then, the extension will notify the user once that item gets a discount.

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.
2010 - 2015

Bachelor's Degree in Computer Engineering

Instituto Tecnológico de Culiacán - Culiacán, Mexico

Libraries/APIs

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

Tools

ScalaTest, Git, Finatra, IntelliJ IDEA, Strace, Jira, Phabricator, Ansible, Bower, Apache Tomcat, Oozie, Eclipse Leshan, Kafka Streams, Amazon Simple Queue Service (SQS), NGINX, DataTables

Frameworks

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

Paradigms

RESTful Development, REST API Architecture, Back-end Architecture, API Architecture, Web Architecture, Design Patterns, Object-oriented Design (OOD), Agile Software Development, Functional Programming

Languages

Java, SQL, Scala, HTML, JavaScript, C, Bash, Assembler, Ruby, HTML5, TypeScript, Rust

Platforms

Web, Google Chrome, Linux, Raspberry Pi, Arduino, Android, J2ME, DigitalOcean, Docker, Apache Kafka, Amazon Web Services (AWS), JEE, Cardano

Storage

PostgreSQL, MySQL, Apache Hive, Cassandra, Elasticsearch, Amazon S3 (AWS S3), SQLite, MongoDB, NoSQL, OrientDB

Other

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, Nomad, Solana, Non-fungible Tokens (NFT), Pulumi

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring