About Me

I am Andrés, a web developer and software engineer from Honduras

I focus mainly on back-end web development in Python and AWS. I am passionate about serverless solutions and Open Source Software.

➡️ Download My CV


Work Experience

Growth Acceleration Partners

💼 Senior Python Backend Engineer

Growth Acceleration Partners

2020 - 2023

Remote

System Surveyor APIs

Several independent Python serverless APIs running on AWS Lambda that handles user authentication using JWT (JSON Web Tokens). Each API is an independent service that focuses in specific areas of the entire application (reporting, resources, media, etc.) The APIs also handle all authorization capabilities, and allows/forbids users of all possible actions within the system based on their roles (admins, team members, guest users, etc.).

Python Github Actions Terraform Chalice AWS Lambda AWS Elastic File System MySQL SQLAlchemy Pytest JWT Flyway Datadog Docker AWS SQS JSONAPI AWS VPC AWS ElasticBeanstalk Serverless Framework Fast API

System Surveyor SAML Auth

A SAML authentication flow to allow SSO (Single Sign-On) capabilities within System Surveyor and any supported Identity Providers. The project was very successful. This was a feature initially requested by customers. Some customers were using Microsoft Office 365, and wanted to be able to log-in to System Surveyor using the same authentication flow. We then added support for Microsoft Office 365 as an Identity Provider in our SAML authentication flow. Customers were very happy with this.

Python MySQL SAML SSO

System Surveyor API Documentation Pipeline

An automated pipeline in Github Actions for deploying OpenAPI-compliant API documentation. This was used for our internal documentation of the System Surveyor Python API. The pipeline basically allowed writing documentation for API endpoints in YAML that was compliant with the OpenAPI specification. This YAML markup would then be transformed into Markdown and finally into HTML, which would then be used to build a static site to display the documentation. This automated pipeline was of huge help to the front-end and mobile team understand how available API endpoints behave on how to properly use them.

Python Github Actions OpenAPI 3 Slate

System Surveyor Element Profile Excel Importing/Exporting

An asynchronous flow for importing Element Profiles (lists of products associated with a particular device) through complex Excel sheets. End users could fill in huge Excel sheets and use them in an import process that would create Element Profiles for them to use in the application. The project was complex, since the API needed to coordinate and schedule the import/export jobs using message queues, as well as allow querying the status of scheduled jobs.

Python AWS SQS Redis Pytest Chalice OpenPyXL
15Five

💼 Senior Python Backend Engineer

15Five

2019 - 2020

Remote

Objectives and Key Results (OKRs)

OKRs is a framework for defining and tracking business objectives and outcomes. 15Five's OKRs product allowed customers to track progress on desired goals. I was in charge of feature development in OKRs such as implementing a new permissions systems for allowing restricting readable/writable actions within a company's OKRs, and improved notifications when OKRs where created and progress was updated. I also worked on improving performance of the data querying and handling involved in the back-end.

Python Django Django REST Framework Dynatrace PostgreSQL Redis CircleCI New Relic Celery
eLibro

💼 Software Engineer / Backend Developer

eLibro

2017 - 2019

Remote

Librarian

A collection of server-less book processing micro-services that processed more than 500K books (many in a concurrent fashion), extracting data such as full text (for storage for full text search), metadata, and pages as images. The project managed to process thousands of PDF books that were successfully processed so that an e-reader could display successfully them to users for consumption. Librarian is still active and working to this day.

Python ElasticSearch AWS Lambda Chalice DynamoDB S3 GhostScript Pytest

eLibro Content Manager

A Java desktop application that was distributed to the content team that was in charge of curating PDF books. Once PDF books were curated, they were uploaded to the company's cloud and book storage using this application. Librarian would then detect these uploads to begin processing these books. Even though I am not really a Java developer, the outcome was very satisfactory. The content team was very pleased with the project and expressed a lot of kudos and thanks for the tool.

Java JUnit Netbeans Platform AWS Java SDK DynamoDB S3 Maven

OCR Microservice

Initially a NodeJS micro-service that would scan pages of books as images to extract OCR (Optical Character Recognition) data using TesseractJS, such as coordinates in the page of all words, lines and paragraphs in a page. This would allow the e-reader to provide "text" highlighting capabilities for end users. Later this micro-service was re-written in Python and Google's tesseract-ocr library was used instead.

Python NodeJS TesseractJS tesseract-ocr Serverless Framework AWS Lambda S3 GhostScript Pytest
Industrial Technology Research Institute (ITRI)

💼 Software Engineer

Industrial Technology Research Institute (ITRI)

2015 - 2017

Hsinchu, Taiwan

PDCM

A monitoring platform that monitored hundreds of devices in the premises. This platform was deployed for customers so that they could monitor their own data centers. The platform was powered by Zenoss 3, a monitoring solution written in Python. We developed on top of Zenoss to add even more monitoring capabilities such as monitoring of BMC power consumption and status of servers and other data using ipmitool. Additionally we added integration with OpenStack clouds. This allowed the monitoring platform to monitor the status of virtual machines and networks within an OpenStack cloud.

Python Zope OpenStack IPMI SMTP RRDTool D3 Bashscript ExtJS
Grupo POPA

💼 SAP Developer

Grupo POPA

2011

Tegucigalpa, Honduras


Education

🎓 Masters in Information Systems and Applications

🎓 BSc Computer Science


Open Source Contributions

rails/rails

rails/rails

  • 1 Commits
aws/chalice

aws/chalice

  • 5 Commits
  • 47++
  • 25--
aws/aws-sdk-java

aws/aws-sdk-java

  • 3 Commits
  • 23267++
  • 1888--
serverless/serverless

serverless/serverless

  • 1 Commits
encode/httpx

encode/httpx

  • 1 Commits
  • 21++
ajaxorg/ace

ajaxorg/ace

  • 11 Commits
  • 472++
  • 231--
timgrossmann/InstaPy

timgrossmann/InstaPy

  • 4 Commits
  • 62++
  • 48--
jneen/rouge

jneen/rouge

  • 3 Commits
  • 10++
  • 1--
gnocchixyz/gnocchi

gnocchixyz/gnocchi

  • 5 Commits
  • 108++
  • 14--
openstack-dev/pbr

openstack-dev/pbr

  • 1 Commits
  • 6++
  • 3--

Certificates


Languages