Verified Expert in Engineering
Márcio is a Python software engineer with a strong background in computer science and mathematics. He has extensive experience developing large systems, primarily using Django and Plone CMS. He loves automated testing and challenging problems and strives to write the most straightforward code to solve them. He takes collaboration and community to heart and helps organize events like the international Plone Conference and the Brazilian PyCon.
Python, Django, PostgreSQL
The most amazing...
...thing I've developed is a thorough data fixing routine that migrated 800+ inconsistent legacy databases to new, fully consistent Django installations.
Lead Software Engineer
Federal Senate of Brazil
- Implemented an automated pipeline that migrated 800+ legislative databases, with extensive data integrity checks, auto fixing, reporting, and auto-delivery to Docker containers. Managed all the processes, including customer relations.
- Managed a team of three developers that created and maintained free software solutions supporting legislation authoring, transparency, and citizen participation. These services were directly used by more than 800 city councils around Brazil.
- Architected and initiated the rewrite of the most used legislative process system in Brazil as free software, written in Python and ported from Zope to Django. More than 800 city councils in Brazil use the system (over 60,000 LOC).
- Developed the data migrations used to migrate 500+ Plone CMS legacy portals from version two to version four, including customizations.
- Trained Plone CMS users and two internal teams of new Plone developers.
- Wrote specifications for two contractor projects, an institutional portal (www.interlegis.leg.br) and a collaboration portal (colab.interlegis.leg.br), managing the work of three contractor developers.
Fundo Rotativo da Câmara dos Deputados
- Developed the full-text search of the Chamber of Deputies portal, one of the biggest government portals in Brazil that currently has more than one million Google indexed pages.
- Maintained and improved issue tracking and versioning self-hosted tools using Track and Subversion.
- Took part in a committee, including planning and supervising the ITIL service management implementation for the whole organization.
Banco Central do Brasil
- Co-led the evaluation and choice of frameworks to be used for all the organization's software development.
- Shaped the architecture of different internal systems, both by writing specifications and bootstrapping their automated tests.
- Validated outsourced development assets from contractors, evaluating internal quality and fitness to a predefined architecture.
Public Prosecutor’s Office
- Created a Java components library that formed the basis of the development architecture of the organization.
- Prospected and initiated the use of the Java web frameworks Struts, WebWork, and Struts 2 used for internal development.
- Took part in developing a unified digital procedures management system that digitalized all procedures conducted by Brazilian federal public prosecutors. The system currently holds more than 120,000 procedures per month.
Faculdade Lourenço Filho
- Taught undergraduate mathematics courses in calculus, mathematical logic, and algebraic structures.
- Taught various undergraduate computer science courses, ranging from basic programming and numerical analysis to compiler construction.
- Guided students on their final undergraduate projects.
Automated Data Migration and Fixing Pipelinehttps://github.com/interlegis/sapl
The project included:
- Setting up a system to run SQL queries against the multiple source databases.
- Extracting files from legacy ZODB object databases.
- Migrating SQL data by a general routine, customized per database instance.
- Automatically fixing multiple patterns of inconsistencies, like dangling references and entry duplication over relations.
- Job parallelization using a process pipeline in a remote environment.
- The setup of the virtual machine to run the pipeline.
- Auto-delivering of both files and SQL data to Docker containers on Rancher.
- Migrating user bases without password loss.
- Staging the migrations for customer validation before effecting changes.
- Git versioning all changes to the databases for auditing, thus dealing with extremely large Git repositories with Git annex.
- Sending reports to data owner customers automatically through a ticket system.
System for the Support of the Legislative Process (SAPL)https://github.com/interlegis/sapl
Development Management for a Collaboration Portal
The portal is the central point of an open community of professionals from city councils around Brazil. It includes user profiles with a badging system and was built with Trac, MailMan, and Django.
Python, SQL, HTML, Java
Django, Plone, Zope, Django REST Framework
Django ORM, Google Sheets API, Google Speech-to-Text API, Selenium WebDriver
Object-oriented Programming (OOP), Unit Testing
Mathematics, Data Migration, Algorithms, Machine Learning, Web Search, University Teaching, Web Scraping, APIs, Community Management
Master's Degree in Mathematics
Federal University of Ceará - Fortaleza - Ceará - Brazil
Bachelor's Degree in Computer Science
Federal University of Ceará - Fortaleza, Ceará, Brazil
Machine Learning Engineer Nanodegree
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