Emilio Almansi
Software Developer
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.
Portfolio
Availability
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
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.
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.
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.
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.
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).
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.
Software Engineering Intern
- 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.
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.
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.
Experience
[Open-Source] BchAddr.js: Bitcoin Cash General Purpose Address Translation for Node.js and Web Browsers
https://www.npmjs.com/package/bchaddrjs[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[1] https://www.npmjs.com/package/cashaddrjs
[Open-Source] solidity-docgen: Solidity Documentation Generator.
https://github.com/OpenZeppelin/solidity-docgen[Open-Source] ELEN: Efficient Lexicographic Encoding of Numbers.
https://github.com/ealmansi/elen[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/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/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
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/scrapleAlgorithmic Problem Solving Competitions
https://github.com/ealmansi/misc-programming-problemsFor 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
Master's Degree in Computer Science
University of Buenos Aires - Buenos Aires, Argentina
Bachelor's Degree in Computer Science
University of Buenos Aires - Buenos Aires, Argentina
Certifications
Java SE 7 Programmer I
Oracle