
Fermin Silva
Verified Expert in Engineering
Senior Software Developer
Buenos Aires, Argentina
Toptal member since December 3, 2019
Having spent the past several years developing the back ends for web-scale companies, Fermin has accumulated the skills to bridge the gap between in-depth technical knowledge and agile product development. Fermin does this by working on both sides of the spectrum—from collaborating with DevOps to build robust back-end services to working hand-in-hand with the product team to quickly iterate on MVP products.
Portfolio
Experience
- Java - 8 years
- MySQL - 8 years
- RESTful Microservices - 7 years
- Web Scraping - 4 years
- Go - 4 years
- Apache Solr - 4 years
Availability
Preferred Environment
Apache Maven, IntelliJ IDEA, Jira, GitHub, Ubuntu, MacOS
The most amazing...
...project I've coded was a multi-terabyte database migration batch process with dynamic rules for eCommerce products recategorization.
Work Experience
Senior Software Developer
Binlogic, Inc.
- Optimized the Go-based back end by adding tests, cleaning up code, improving the performance, and implementing dependency management.
- Split a PHP application into multiple REST microservices in Go: email API, web contacts API, and more.
- Integrated major MySQL backup methods into a Go application: XtraBackup, mysqldump, mydumper, and mysqlpump.
- Changed the release pipeline, opting for an agile method based on short sprints.
- Developed custom batch scripts for migrating thousands of databases.
API Core Back-end Developer
MercadoLibre, Inc.
- Proposed a solution to digitally sign all internal traffic between APIs in conjunction with the security and infrastructure teams.
- Developed a certificate authority API in Java to manage digital signatures used for inter-API authentication and authorization.
- Updated an internal Go SDK to integrate with the certificate authority.
Back-end Developer
OLX
- Migrated a monolithic PHP application to microservices, particularly the search flow.
- Maintained and scaled the Solr stack from 150 requests/second to over 1,000 requests/second, sharding documents and fine-tuning queries and caching.
- Developed a batch program to massively recategorize eCommerce items, supporting user-defined rules in CSV that was used by the "categories team."
- Built the autosuggestion API with common search queries using Lucene, Solr, and web scraping.
- Built a back-office tool to explore database information and inconsistencies for items, categories, locations, and more.
Experience
Java Back-end Development
The projects were always very minimal concerning technology to get as much performance out of the hardware as possible. For example, we didn't have an ORM, used small frameworks, fine-tuned the cache-control directives (for a Varnish cache), split the queries to different shards for different QoS, among others.
I also have experience writing batch programs to process significant amounts of data, handling database migrations, web scraping/crawling, binary log file processing, and more. For smaller scripts, I tend to use Python, but for heavy-duty multithread processing, I prefer to use Java.
Go Development
While I've enjoyed working in mission-critical core teams in big companies, nowadays, I prefer working closely with the product owners in smaller groups and proposing solutions and even new features.
I'm currently working with Go for back-end microservices along with daemon agents that we install on client machines. It was a full-stack position, so while I specialize in the back end, from time to time, I also did simple front end work. This work mostly consisted of back-office admin tools, email templates for CRM and transactional emails, business reports, and whatever was necessary to supplement a robust back-end product.
Mininoticias | Personal Project
It uses Java for web crawling and indexing in Solr, and Go for the web framework (back end and front end). The website is running in the cloud and getting about 5,000 visitors per day.
Education
Bachelor of Science (BSc) Degree in Informatics Engineering
UNED | Universidad Nacional de Educación a Distancia - Madrid, Spain (Remote)
Certifications
TOEFL
ETS
Skills
Libraries/APIs
Jsoup
Tools
GitHub, IntelliJ IDEA, Apache Maven, Varnish, Apache Solr, Git, GitHub Pages, Jenkins, Jira, Trello, Jekyll
Languages
Java, Go, SQL, HTML, PHP, Bash Script
Frameworks
Jersey
Paradigms
Microservices, Microservices Architecture, Agile Software Development
Storage
MySQL, Database Backups, NoSQL, Cache, Redis, Amazon S3 (AWS S3), MariaDB
Platforms
MacOS, Ubuntu, Percona, Linux, Amazon Web Services (AWS), Docker
Other
Back-end, Web Scraping, Web Scalability, Scraping, RESTful Microservices, Encryption, Web Crawlers
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