2021 - 2024: Software Engineer at Sketch
For the first 2 years I worked as the single Backend Engineer for the Prototype Team. My duties for the team were to implement all the different Prototype features required such as assets generation, regeneration on-demand, invalidation, and deletion from S3 buckets. These features had to be implemented in different number of services implemented in Elixir and Go
Afterwards, the teams got disolved and we started working on verticals. In my case, I was part of the Web vertical. During my time as part of the Web vertical I worked on multiple projects such as permission groups, optimization of the rendering pipeline, optimization of the ingestion pipeline, workers to remove unused data from S3 buckets, etc. These projects also required to modify or implement services in Elixir and Go
2020 - 2021: Lead Software Engineer at Paack
During my time in Paack I have worked in the Warehouse Management System, a new platform to allow parcels to be scanned and assigned to routes in a timely fashion. Moreover, I lead the revamp of the Business Rules Management System, a platform to allow Product People to change the rules applied to deliveries without having to change code. During this reworked the whole architecture of the system changed, and a new UI was developed to fulfill the new requirements. I also had to design and implement the migration process for the system to avoid downtime.
In addition, I have also worked on the development of the New Retailer API that handles the traffic from all the new retailers and it has become the new way to integrate against Paack.
As part of my role as Lead Software Engineer I mentored several people in my team and I was heavily involved in the hiring process of the company.
2018 - 2020: Senior Software Engineer at GlobalSign
High Performance Platform: Serves thousands of request to generate SSL certificates per second. I took care of the migration of backend storage from MongoDB to PostgreSQL.
Kubernetes prototype: I implemented a prototype of the system used in production to test the feasibility of a future migration.
Others: I Mentored multiple new-hires and had a highly involved role in the hiring process. As a side project I developed an static analysis tool to enforce the code style used in the company.
2016 - 2018: Software Engineer at VCA Technology
Network library: Allows the user to interact with Boost ASIO through the std::stream interface.
Tools: Improve the toolchain used internally to allow the usage of clang-tidy for the linting of our code. Another tool allows to switch between several versions of the toolchain without having to change the environment.
Backend development: Several activities regarding the extension and implementation of new features in the backend of the product such as Authentication and GStreamer sinks.
2015 - 2016: Software Developer at Programming Research
Static analysis of code: Checks if the code has some patterns that have an undefined behaviour, unspecified in the Standard, and/or implementation-defined.
Dataflow analysis of code: Checks the complexity of methods, pointer problems, memory handling, etc.
Took over two projects to refactor, maintain and add new features.
2013 - 2015: Software Engineer at European Bioinformatics Institute
RESTful service: Allows users to query for information about complexes in the database.
Cluster algorithm: Developed a new algorithm to cluster biological information from proteins.
2013 - Present: Open Source
YAUS: A URL Shortener writen in Go and deployed in Heroku.
Prefix Tree Comparison: Compare performance for different Trie, Ternary Search Tree and Radix Tree.
ARM C Compiler (ACC): I am creating a self-hosting compiler for C in the ARM architecture.
Interactive CV: Application built in Rust and with Docker to show my resume in an interactive way.