Diego Allen
Verified Expert in Engineering
Software Developer
Asuncion, Paraguay
Toptal member since November 21, 2016
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
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
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
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.
Freelance Full-stack Developer
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.
Scraping/Data Science Engineer
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.
Software Engineer
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.
Software Developer
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.
Software Developer
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.
Experience
Taxit
Education
Bachelor's Degree in Computer Science
Universidad Católica Nuestra Señora de la Asunción - Asunción, Paraguay
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring