Emilio Almansi, Developer in Berlin, Germany

Emilio Almansi

Software Developer

Location
Berlin, Germany
Toptal Member Since
December 20, 2017

Emilio has a broad skill set ranging from full-stack development and distributed computing to blockchain technologies. He has had extensive experience with the Java and Node.js ecosystems as a senior software engineer at Yours Inc, Google, and the Max Planck Institute of Informatics, as well as big data startup, Trifacta. Emilio has strong analytical skills and takes great care in communicating with clients to find the right solution for their needs.

Emilio is available for hire
Hire Emilio

Portfolio

Have Technology GmbH
JavaScript, TypeScript, Node.js, NestJS, PostgreSQL, GraphQL, RPC...
Bitwala
JavaScript, TypeScript, Node.js, GraphQL, PostgreSQL, Python, MongoDB...
Yours Inc.
Amazon Web Services (AWS), Lerna, Docker, Bitcoin, Blockchain, Rollup.js...

Location

Berlin, Germany

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Linux

The most amazing...

...lines of code I've written reduced the largest performance bottleneck in a distributed profiling algorithm by a factor of 20, in both time and memory usage.

Work Experience

2021 - 2023

Lead Developer

Have Technology GmbH
  • Led the banking and payments squad. Integrated a core banking system and card and SEPA payments.
  • Collaborated in the design and implementation of a microservice architecture with a focus on correctness, fault tolerance, and high availability.
  • Developed several internal libraries, including database transaction management and cross-language code generation.
Technologies: JavaScript, TypeScript, Node.js, NestJS, PostgreSQL, GraphQL, RPC, Microservices Architecture, API Design, API Development, Kubernetes, Express.js, Amazon Web Services (AWS)
2019 - 2021

Tech Lead

Bitwala
  • Led a team of six, ranging from junior to senior engineers, responsible for building full-stack banking and cryptocurrency features.
  • Delivered three mission-critical projects within one year, unblocking the release of Ethereum wallets and allowing us to meet regulatory deadlines.
  • Overhauled the release process for our mobile apps, increasing the release cadence to one release per week (up from once per month) with higher quality and confidence.
Technologies: JavaScript, TypeScript, Node.js, GraphQL, PostgreSQL, Python, MongoDB, Amazon Web Services (AWS), AWS Lambda, HTML, CSS, Express.js, React
2018 - 2018

Senior Software Engineer

Yours Inc.
  • Co-led the design and implementation of Money Button, a user-friendly cryptocurrency wallet and a digital currency payments system that leverages blockchain technology to simplify the development of eCommerce websites and content applications.
  • Developed and maintained Yours.org, a content platform where users can earn money by creating and discovering good content. Built several key features like content search and a notifications system.
  • Implemented Money Button as a microservice-based architecture, including a web application, a REST API, and a blockchain monitor, among other services.
  • Participated in the hiring process by searching for talented candidates and performing interviews, often involving live coding exercises.
  • Organized a multi-project repository scheme based on Lerna, allowing several open- and closed-source projects to interact effortlessly during development.
  • Implemented Money Button's authorization and authentication system based on the OAuth 2.0 Authorization Framework.
Technologies: Amazon Web Services (AWS), Lerna, Docker, Bitcoin, Blockchain, Rollup.js, Bookshelf.js, Next.js, React, Express.js, Node.js, PostgreSQL, JavaScript
2018 - 2018

Software Developer (Consultant)

OpenZeppelin
  • Developed an automatic documentation generation tool for Solidity, the programming language for writing smart contracts on the Ethereum platform.
  • Created the API documentation website for OpenZeppelin - the open-source framework to build secure smart contracts by Zeppelin.
  • Contributed to the Solidity compiler open-source project on GitHub.
Technologies: React, JavaScript, Node.js, Ethereum, Solidity
2016 - 2017

Associate Software Engineer

Trifacta Inc.
  • Wrote and optimized algorithms for computing data transformation primitives on GCP’s Dataflow engine for parallel data processing.
  • Developed a time scheduling microservice based on Java Quartz, designed for high availability and resilience.
  • Integrated Google’s BigQuery large-scale data warehouse into the product, spanning multiple back-end services (Node.js, Java, Python) and the platform’s web application interface (front-end and back-end).
Technologies: BigQuery, Google, Google Cloud Storage, Docker, C++, Python, Java, Node.js, JavaScript, Express.js, PostgreSQL
2015 - 2016

Research Intern

Max Planck Institute for Informatics
  • Built a Java tool for exporting Wikipedia’s full edit history XML dumps (+10TB uncompressed) into Avro format.
  • Extracted the full link structure of all +37M pages and +640M revisions in Wikipedia’s edit history.
  • Wrote a data processing pipeline for Apache Spark SQL engine to compute Jaccard-type semantic relatedness scores between pages and various page popularity metrics.
Technologies: Parquet, Apache Avro, Apache Pig, Spark SQL, MapReduce, HDFS, Scala, Java, JavaScript
2015 - 2015

Software Engineering Intern

Google
  • Wrote a FlumeJava distributed processing pipeline for detecting book series from messy or incomplete book metadata.
  • Set up automatic deployment for the developed pipeline using Borg for daily extraction.
  • Executed extraction on data provided by major book partners yielding +1500 book series.
Technologies: Borg, FlumeJava, Guice, Java, Blaze, JavaScript
2013 - 2014

Freelance Software Engineer

Data Extraction Freelance Projects
  • Created a stand-alone tool for continuous, high-performance web data extraction jobs. Written in PHP and multi-cURL for leveraging multiple asynchronous requests, the tool harvested millions of entries per day producing a MySQL database as output.
  • Developed multiple customized web crawlers using Python's Scrapy Framework, later deployed to the cloud for autonomous periodic execution.
Technologies: Scrapy, Python, MySQL, PHP
2012 - 2012

Web Developer

Artfos SA
  • Developed and maintained CRUD applications with a standardized development process.
  • Developed the back-end using PHP, Yii Framework, MySQL. Front-end development using JavaScript, HTML, LESS.
  • Launched a PHP continuous integration server based on JenkinsCI.
  • Wrote automated end-to-end tests with Selenium IDE.
Technologies: Jenkins, JavaScript, Less, HTML, MySQL, Yii, PHP

Experience

[Open-Source] BchAddr.js: Bitcoin Cash General Purpose Address Translation for Node.js and Web Browsers

https://www.npmjs.com/package/bchaddrjs
Plug & Play JavaScript library for all Bitcoin Cash address format translation needs. Easy-to-use, thoroughly tested, and feature complete. Approximately 4000 weekly downloads on the npm registry [1].

[1] https://www.npmjs.com/package/bchaddrjs

[Open-Source] CashAddr.js: The New Bitcoin Cash Address Format for Node.js and Web Browsers

https://www.npmjs.com/package/cashaddrjs
Isomorphic JavaScript implementation of the new Bitcoin Cash address format specification, for Node.js and web browsers. Approximately 5000 weekly downloads on the npm registry [1].

[1] https://www.npmjs.com/package/cashaddrjs

[Open-Source] solidity-docgen: Solidity Documentation Generator.

https://github.com/OpenZeppelin/solidity-docgen
Simple documentation generator for Solidity - the programming language for writing smart contracts on the Ethereum platform - currently used for OpenZeppelin. Builds a fully customizable Docusaurus-powered website containing your API and any additional informational documents you may choose to add.

[Open-Source] ELEN: Efficient Lexicographic Encoding of Numbers.

https://github.com/ealmansi/elen
ELEN provides a way of textually representing numbers such that their natural order is preserved as a lexicographical order (i.e. alphabetical order) of their representations. Based on the homonymous paper by Peter Seymour [1].

[1] https://github.com/ealmansi/elen/blob/master/resources/elen.pdf

[Open-Source] ErcyBot: Real-time Feed of Ethereum ERC20 Token Transfers in Your Slack Workspace

https://github.com/ealmansi/ercy-bot/
ErcyBot is a Slack bot which provides a real-time feed of Ethereum ERC20 token transfers in your Slack workspace.

The bot listens to the Ethereum Blockchain for incoming events occurring in one of the contracts of interest and, upon detecting a token transfer, sends a message to the configured Slack channel.

Google Cloud Dataprep

https://cloud.google.com/dataprep/
Google Cloud Dataprep, born from a collaboration between Trifacta and Google, is an intelligent data service for visually exploring, cleaning, and preparing structured and unstructured data for analysis.

At Trifacta, I worked as part of the team involved in rearchitechting Trifacta's data preparation product into a microservice based architecture fit for integration into the Google Cloud Platform.

My contributions to this project included implementing and optimizing data transformation operations as data-parallel primitives on Dataflow, Google Cloud's distributed computing engine. I was also responsible for the integration of BigQuery - Google's serverless, highly scalable, low cost enterprise data warehouse - as a data source on Dataprep.

Robotics for High School Students

As part of the Computer Science popularization team at my university, I developed a web-based IDE à la MIT Scratch for programming and simulating an Arduino-based, two-wheel robot.

The application has been used to introduce programming and robotics concepts to over a thousand high-school students, and is still in use today. It also has a pretty slick user interface: https://goo.gl/BaXxbV.

Scraple: High-Performance Web Data Extraction

https://github.com/ealmansi/scraple
Highly configurable web data extraction tool, built in PHP and using multi-cURL for leveraging concurrent asynchronous requests. Harvesting millions of entries per day, the tool produced a MySQL database as output, yielding an easily browsable representation of freely available data on the web.

Algorithmic Problem Solving Competitions

https://github.com/ealmansi/misc-programming-problems
I have participated three times in the ACM International Collegiate Programming Contest, which is an annual multi-tiered competitive programming competition among the universities of the world.

For this competition, candidates must train themselves in mastering advanced data structures and algorithms, as well as the skill of coding bug-free programs under pressure and tight time constraints. The attached code sample is a solution I wrote for a competitive programming problem from the Sphere Online Judge (SPOJ).

Note: the code is optimized for execution speed and minimizing coding time as is required in such competitions, not legibility.

Skills

Languages

JavaScript, TypeScript, GraphQL, SQL, HTML, Python, C++, Java, CSS, Solidity

Frameworks

Express.js, NestJS, Next.js, Redux

Libraries/APIs

Node.js, API Development, REST APIs, React

Tools

Git, GitHub, Amazon Cognito

Paradigms

Agile Software Development, Scrum, Microservices Architecture

Storage

JSON, PostgreSQL, Database Architecture, MySQL, MongoDB

Other

API Design, APIs, Software Architecture, Back-end, Technical Leadership, Data Structures, Algorithms, Full-stack, CI/CD Pipelines, Front-end, GitHub Actions, Cryptocurrency, Cryptocurrency Wallets, Ethereum Smart Contracts, Web Scraping, RPC

Platforms

Amazon Web Services (AWS), Docker, AWS Lambda, Kubernetes, Blockchain, Ethereum

Education

2012 - 2019

Master's Degree in Computer Science

University of Buenos Aires - Buenos Aires, Argentina

2012 - 2017

Bachelor's Degree in Computer Science

University of Buenos Aires - Buenos Aires, Argentina

Certifications

MARCH 2012 - PRESENT

Java SE 7 Programmer I

Oracle