Daniel Fonnegra Garcia, Developer in Berlin, Germany
Daniel is available for hire
Hire Daniel

Daniel Fonnegra Garcia

Verified Expert  in Engineering

Software Engineer and Developer

Berlin, Germany

Toptal member since July 4, 2024

Bio

Daniel is a skilled software engineer with seven years of experience in various industries like IoT, mining, fintech, and streaming. He specializes in architecting scalable software in Python with FastAPI, SQLAlchemy, and PostgreSQL, combined with software design approaches like domain-driven design (DDD), CQRS, event sourcing, and hexagonal architecture. Daniel has deployed scalable apps to AWS for several years using services like Amazon EC2, Amazon S3, Amazon EKS, Route 53, and Amazon RDS.

Portfolio

ESG Book
Python, Flask, Go, Google Cloud Platform (GCP), Kubernetes, Docker...
DIZZBO
Python, FastAPI, PostgreSQL, Microservices, Kubernetes, Terraform...
castLabs
Python, Django, Docker, Amazon Elastic Container Service (ECS), Vue...

Experience

  • Python - 7 years
  • PostgreSQL - 6 years
  • Docker - 6 years
  • Amazon Web Services (AWS) - 5 years
  • FastAPI - 4 years
  • SQLAlchemy - 4 years
  • Software Architecture - 3 years
  • Domain-driven Design (DDD) - 2 years

Availability

Full-time

Preferred Environment

Python, FastAPI, SQLAlchemy, PostgreSQL, Vue, Kubernetes, Docker, Domain-driven Design (DDD), Hexagonal Architecture, Amazon Web Services (AWS)

The most amazing...

...thing I've developed is a web application to manage plans, dredging maps, and reports for Mineros SA, the biggest mining company in Colombia.

Work Experience

Senior Software Engineer

2022 - PRESENT
ESG Book
  • Developed the platform's Go-based back end, enabling companies to publicly and privately disclose environmental, social, and governance (ESG) data and investors to view and score such data.
  • Designed a framework mapping feature that enables companies to disclose information faster by prefilling part of the disclosure with publicly available or previously disclosed data.
  • Wrote design documents with architectural decisions and models on several new features.
  • Maintained a custom project for a private client that had over 200,000 users.
Technologies: Python, Flask, Go, Google Cloud Platform (GCP), Kubernetes, Docker, Apache Kafka, Amazon Web Services (AWS), REST APIs, Architecture, Full-stack, SQL, Sockets, Software Architecture, Software Design, Front-end, APIs, Database Design, API Integration, Databases, API Development, Back-end Development, Code Review, Debugging, Transactions, Software as a Service (SaaS), DevOps, CI/CD Pipelines, Artificial Intelligence (AI), Python API

Back-end Engineer

2021 - 2022
DIZZBO
  • Designed and implemented multiple microservices for a freight transport app using FastAPI and SQLAlchemy. Deployed them in an EKS Kubernetes cluster.
  • Automated the creation of database users, roles, and permissions using PostgreSQL and Terraform.
  • Built a project template for the microservices to boost the development and deployment process.
  • Created a Helm charts template tailored to the infrastructure requirements of each microservice.
  • Designed the authorization infrastructure for granular ACM between users and microservices.
  • Developed communications microservices integrated with SendGrid for transport managers to use to control the orders via email.
Technologies: Python, FastAPI, PostgreSQL, Microservices, Kubernetes, Terraform, Amazon Web Services (AWS), REST APIs, Architecture, Full-stack, SQL, Sockets, Software Architecture, Software Design, Front-end, AWS CloudTrail, APIs, Database Design, API Integration, Databases, API Development, Code Review, Debugging, Transactions, Software as a Service (SaaS), DevOps, CI/CD Pipelines, Python API

Full-stack Engineer

2020 - 2021
castLabs
  • Engineered the back- and front-end infrastructure for the Above venture by Touch and castLabs, focusing on a scalable web application that enables CSPs to generate video content for fast aircraft uploading.
  • Coordinated the use of multiple tools, including Amazon ECS, Amazon Elastic Container Registry (ECR), Amazon RDS, AWS ALB, Amazon Virtual Private Cloud (VPC), Amazon Route 53, Amazon CloudFront, AWS CodePipeline, CDK, Django, and Vue.
  • Managed a three-person team composed of two full-stack engineers and one front-end engineer.
Technologies: Python, Django, Docker, Amazon Elastic Container Service (ECS), Vue, AWS Cloud Development Kit (CDK), Infrastructure as Code (IaC), Amazon Web Services (AWS), REST APIs, Architecture, Full-stack, SQL, Sockets, Software Architecture, Software Design, Front-end, Django REST Framework, Django ORM, AWS CloudTrail, APIs, Database Design, API Integration, Databases, API Development, Back-end Development, Code Review, Debugging, Software as a Service (SaaS), DevOps, CI/CD Pipelines, Python API

Software Engineer

2018 - 2020
Ubidots
  • Designed a data analysis module for user-driven statistics on time series, model execution, and regular report generation.
  • Developed an algorithm to minimize query loads on a Cassandra database and regulate RedBeat task frequency, cutting server overload from 700% to 20%.
  • Implemented a scalable dataset service allowing users to store large datasets in Amazon S3, optimized for rapid reading and filtering, resulting in an Apache Parquet file managed by Dask.
Technologies: Python, JavaScript, React, Django, Celery, Redis, PostgreSQL, Amazon Web Services (AWS), REST APIs, Mobile, Full-stack, SQL, Sockets, Software Design, Front-end, Django REST Framework, Django ORM, APIs, Database Design, API Integration, Databases, API Development, Back-end Development, Code Review, Debugging, Software as a Service (SaaS), Artificial Intelligence (AI), Python API

Quantitative Analysts

2017 - 2018
Ultraserfinco
  • Constructed a fixed rent index categorized by reference rate, class, rating, term, and currency.
  • Implemented a Black-Litterman model for optimizing fixed rent portfolios.
  • Implementated a factor model to optimize equity portfolios.
  • Developed a desktop app that facilitates portfolio simulation and backtesting, profit and risk estimation, financial data access, company strategy integration, and data exportation.
Technologies: Python, Bloomberg, C#.NET, SQL, Sockets, Database Design, Automated Trading Software, Databases, Back-end Development, Code Review, Debugging, Artificial Intelligence (AI), Python API

Experience

Content Management System (CMS) for Metrofibre

Developed a highly customizable CMS with multitenancy and white labeling that Metrofibre uses to manage land use agreements. I used Flask to expose the REST API, SQLAlchemy, and PostgreSQL for storage management, and Vue and Vuetify for the front end.

Project Management App for Ecoplan Thiede

An Android app to register animals found during inspections, post pictures, and generate reports periodically in Microsoft Word and Excel and the project was implemented with Python, FastAPI, SQLAlchemy, and Flutter and deployed in an Amazon EC2 instance with the AWS CDK.

AutoCAD Plan Generation for Mineros SA

http://mineros.wassersolutions.com
Mineros SA needed an autonomous solution to generate dredge extraction maps and calculate extraction volumes from operator reports.

I architected and developed a serverless website within the AWS ecosystem. The user interface is built on the Vue framework and leveraged Amazon CloudFront for deployment. Python forms the core of the back end, interacting with a DynamoDB database, and is deployed using AWS Lambda with API Gateway for RESTful API services. Amazon Cognito provides secure identity management.

This deployment via AWS resulted in an extremely cost-efficient and maintainable web application that can incorporate future projects on the same platform.

Trading Robot for Mean Reversion Strategies

The project involved automating multiple mean reversion strategies in Python where I crafted a high-performance asynchronous application adhering to clean code practices, ensuring easy addition of new strategies for clients. This was achieved using asyncio, HTTPX, WebSockets, and telnetlib3, integrated with services like Polygon.io, Flash SEC, and DAS Trader.

Bare Metal Kubernetes Setup for NFT's Website

A client required assistance configuring a load balancer and ingress rules for a bare metal Kubernetes cluster as part of their NFT website initiative. Collaborating with their team, we established a two-node cluster using MetalLB and ingress-nginx, which effectively manages the load distribution via a round-robin strategy.

Bitrix Whatsapp Integration

A bitrix24 application that connects an open channel to a WhatsApp line. This application is currently running in an EC2 t3.medium instance and can handle a throughput of 1,000 messages per minute.

The app orchestrates AWS Lambda, AWS SQS, and the EC2 instance to avoid message loss and increase availability.

Education

2017 - 2020

Master's Degree in Informatics and Applied Mathematics

National University of Colombia - Medellin, Colombia

2012 - 2017

Bachelor's Degree in Physics

National University of Colombia - Medellin, Colombia

Skills

Libraries/APIs

SQLAlchemy, REST APIs, Sockets, Django ORM, API Development, Python API, Vue, React, WhatsApp API

Tools

AWS Cloud Development Kit (CDK), Amazon Elastic Container Registry (ECR), Terraform, Amazon Elastic Container Service (ECS), Celery, NGINX, AWS CloudTrail, Bloomberg, AutoCAD

Languages

Python, SQL, Go, JavaScript, C#.NET

Frameworks

Django, Vuetify, Django REST Framework, Flask, Flutter

Paradigms

Database Design, Real-time Systems, DevOps, Microservices

Platforms

Docker, Amazon EC2, AWS Lambda, Amazon Web Services (AWS), Kubernetes, Mobile, Google Cloud Platform (GCP), Apache Kafka, Azure

Storage

PostgreSQL, Amazon S3 (AWS S3), Databases, Redis

Other

FastAPI, Domain-driven Design (DDD), Hexagonal Architecture, Infrastructure as Code (IaC), HTTP, Trading Bots, Architecture, Full-stack, Software Architecture, Software Design, Front-end, APIs, API Integration, Automated Trading Software, Back-end Development, Code Review, Debugging, Software as a Service (SaaS), CI/CD Pipelines, Machine Learning, WebSockets, Webhooks, Telnet Protocol, Mobile Apps, Transactions, Artificial Intelligence (AI), Quantum Mechanics, Stochastic Modeling, DXF, Bitrix24

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