Diego Allen, Developer in Asuncion, Paraguay
Diego is available for hire
Hire Diego

Diego Allen

Verified Expert  in Engineering

Software Developer

Asuncion, Paraguay

Toptal member since November 21, 2016

Bio

Diego is a passionate developer who turns ideas into elegant, functional solutions that solve real problems. His weapon of choice is usually Python, though he tries to be technology-agnostic and adapt to the tools best suited for the project at hand. His work has been mostly in web development (front- and back-end) and, more recently, writing web crawling spiders. He enjoys a challenge and always strives to learn more.

Portfolio

Routable Inc.
Python, Django, Django REST Framework, React, Redux, JavaScript, Redux-Saga...
Paladin
Python, Django, SQL, JavaScript, CSS, Sass, HTML, Git, PostgreSQL, React...
Canopy
Python, JavaScript, Scrapy, Data Science, Data Analysis, Beautiful Soup, Celery...

Experience

  • JavaScript - 9 years
  • Python - 9 years
  • PostgreSQL - 9 years
  • Django - 8 years
  • Django REST Framework - 6 years
  • React - 5 years
  • jQuery - 3 years
  • Scrapy - 1 year

Availability

Part-time

Preferred Environment

Zsh, Tmux, IPython, Git, Vim Text Editor, OS X, Visual Studio Code (VS Code), Kittty

The most amazing...

...thing I've made is an automated tax preparation service based on user-submitted photographs of invoices using a smartphone app.

Work Experience

Senior Full-stack Developer

2021 - PRESENT
Routable Inc.
  • Contributed to a feature that allowed customers with multiple accounts to switch between them without re-authenticating.
  • Managed a project to introduce per-client subdomains, making it easier for multi-entity accounts to have multiple sessions in parallel. Migrated all customers from the generic top-level domain to their custom subdomains without re-authentication.
  • Handled a project for clients to collect tax information from vendors worldwide.
Technologies: Python, Django, Django REST Framework, React, Redux, JavaScript, Redux-Saga, Celery, Redis, PostgreSQL, Test-driven Development (TDD), GitHub, Requests, Back-end, Full-stack, Full-stack Development, APIs, Object-relational Mapping (ORM), Amazon Web Services (AWS), SQL, Docker, FastAPI, Redis Cache, Containers, REST APIs, TypeScript, React Router, React Query

Freelance Full-stack Developer

2017 - 2021
Paladin
  • Worked alongside the CTO in the early days to design the system. As the team grew, responsibilities expanded to writing and reviewing technical specs and doing code reviews on fellow engineers' work.
  • Implemented a single sign-on and single logout in the back end, connecting with 3rd-party identity providers via the SAML protocol. This feature enabled the sales team to target larger enterprise customers.
  • Built a search feature that allowed users to search for pro bono opportunities by title, description, and location, increasing engagement by lawyers browsing for opportunities. Used PostgreSQL's full-text search functionality.
  • Added end-to-end testing to the CI pipeline to ensure the proper behavior of core workflows inside the app and catch regressions. Used Docker and Docker Compose to recreate the back-end environment and to run the E2E test runner.
Technologies: Python, Django, SQL, JavaScript, CSS, Sass, HTML, Git, PostgreSQL, React, Django REST Framework, Test-driven Development (TDD), Redis, GitHub, Requests, Back-end, APIs, Full-stack, Full-stack Development, Full-text Search, Object-relational Mapping (ORM), Amazon Web Services (AWS), Docker, Redis Cache, REST APIs, Containers

Scraping/Data Science Engineer

2017 - 2018
Canopy
  • Created scrapers to scrape jobs from major freelancing sites using Python and the Scrapy framework. Scraped 200,000+ jobs a week.
  • Built a REST API that handled user registration, login, logout and fed data to the mobile app using Python, Django, and Django Rest Framework.
  • Developed async background tasks in the back end to score jobs for individual users and present the highest-scored ones. Used Python, Django, and Celery.
Technologies: Python, JavaScript, Scrapy, Data Science, Data Analysis, Beautiful Soup, Celery, Django REST Framework, PostgreSQL, Test-driven Development (TDD), Requests, Web Scraping, Scraping, Back-end, Redis Cache, REST APIs

Software Engineer

2015 - 2016
Scrapinghub
  • Developed and maintained a project with 1000+ web crawling spiders that scraped physician information for a client in the healthcare industry.
  • Contributed to projects for the data services team, building web scraping spiders that crawled 1+ million pages, usually popular sites whose datasets were regularly asked for by clients (social networks, classifieds sites, etc.). Crawled datasets were sold.
  • Developed a Slack chatbot that showed employee time off due to vacations, local holidays, etc. Hundreds of people used the bot as the company was fully distributed and consisted of 100% of remote workers.
  • Evaluated Scrapy trial projects from candidates looking to join the company.
Technologies: Scrapy, Celery, Django, Python, PostgreSQL, Test-driven Development (TDD), Requests, Web Scraping, Scraping, Back-end

Software Developer

2015 - 2015
Taxit
  • Built an invoice validation API using Flask and Python. A form submission bot backs the API, as the Paraguayan government's online tax system lacks a web API. Handled 150,000+ documents monthly.
  • Contributed to the user-facing web application written with Python and Django.
  • Developed and maintained back-end services written with Java and Spring.
  • Worked alongside designers on a revamped UI/UX for the user-facing web application and led its implementation.
Technologies: PostgreSQL, Python-rq, Redis, Flask, Django, Python, Test-driven Development (TDD), Web Scraping, Scraping, Back-end, REST APIs, Redis Cache

Software Developer

2013 - 2015
Sodep S.A.
  • Built a map visualization of presence, with data from sensors around the building, for an indoor navigation system using JavaScript, SVG, and Snap.svg library (for a Dutch company http://www.smartsigns.nl/).
  • Created digital signage software targeted large buildings like hospitals, offices, airports, etc. (for a Dutch company http://www.smartsigns.nl/).
  • Developed both the back and front end for the product Captura, an application allowing users to capture field data using mobile devices (http://www.captura.com.py).
  • Built a lightweight application that fetched data periodically from different databases. Bundled an embedded Jetty web server serving a configuration web interface. This was meant to be used alongside the product Captura (http://www.captura.com.py).
  • Improved dependency management and build processes by converting a large Java project from a collection of tightly coupled libraries with manual dependency management to a single Maven multi-module project.
Technologies: PostgreSQL, Git, Python, jQuery, JavaScript, Test-driven Development (TDD), Back-end

Taxit

Taxit is a tax-handling service for individuals. Customers installed an app on their smartphones and, using the app, they took pictures of invoices to track their expenses. Using the data submitted with the app, the company handled their taxes for them. The company did all the corresponding tax filings and payments with the government.
2008 - 2014

Bachelor's Degree in Computer Science

Universidad Católica Nuestra Señora de la Asunción - Asunción, Paraguay

Libraries/APIs

Beautiful Soup, Requests, React, jQuery, Python-rq, Redux-Saga, REST APIs, React Router, React Query

Tools

Slack, GitHub, Vim Text Editor, Git, IPython, Celery, Sentry, Zsh, Tmux

Languages

Python, HTML, CSS, HTML5, JavaScript, SQL, Sass, C, Python 3, TypeScript

Frameworks

Django, Django REST Framework, Scrapy, Redux, Bootstrap, Flask

Paradigms

REST, Test-driven Development (TDD), Object-relational Mapping (ORM)

Platforms

MacOS, OS X, Drone CI, Linux, Visual Studio Code (VS Code), Amazon Web Services (AWS), Docker

Storage

Redis, PostgreSQL, MySQL, Databases, Redis Cache

Other

Web Scraping, Scraping, Back-end, Kittty, Data Science, Data Analysis, Software Development, Networking, Operating Systems, Statistics, Linear Algebra, Calculus, Full-stack, Full-stack Development, APIs, Full-text Search, FastAPI, Containers

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