Dany Fariña, Developer in Barcelona, Spain
Dany is available for hire
Hire Dany

Dany Fariña

Verified Expert  in Engineering

Algorithms Developer

Location
Barcelona, Spain
Toptal Member Since
November 9, 2016

Dany has six years of experience as a back-end developer using Java, Python, and Perl. He has over ten years of experience as a Windows application developer using C#.NET. He has a passion for algorithms and data structures and skills he keeps honed by participating in programming competitions. Dany has worked with teams of all sizes and has experience leading small development teams.

Portfolio

Uber B.V.
Lombok, ELK (Elastic Stack), Spring Boot, Java 8, Python
Booking.com
Apache Hive, Hadoop, MySQL, Perl, Java, Python
Smartmatic Panama
Python, ARM, Linux, C++

Experience

Availability

Part-time

Preferred Environment

Visual Studio, Windows, Sublime Text, IntelliJ IDEA, MacOS

The most amazing...

...project I've worked on is creating an app for tens of thousands of voting machines to be used on a single election day by millions of people.

Work Experience

Software Engineer

2018 - PRESENT
Uber B.V.
  • Implemented a new API for the integration of payment aggregators.
  • Designed and developed a settlement and reconciliation process.
Technologies: Lombok, ELK (Elastic Stack), Spring Boot, Java 8, Python

Software Engineer

2017 - 2018
Booking.com
  • Handled the new loyalty program discounts implementation.
  • Implemented dynamic discounting based on the demand-prediction ML model.
  • Developed a daily batch process that imported predictions and updated inverted indexes in the search engine.
  • Implemented airport-lounge voucher benefits for loyal customers.
Technologies: Apache Hive, Hadoop, MySQL, Perl, Java, Python

Sr. Engineering Group Manager

2011 - 2017
Smartmatic Panama
  • Managed a team of 20 multidisciplinary engineers during the construction of an electoral framework with usage potential of 500,000 voting machines in <5 years.
  • Oversaw a team of six engineers and directly participated in the implementation of a new voting system (HW & SW) that was used successfully for a local pilot in the Netherlands. I built three components that controlled a high-speed check scanner, and a bitmap optimization library for scanned images being fed to an OCR component.
  • Led a team of 20 engineers during the implementation of a new voting system (HW & SW) based on the electoral framework, that was deployed for national elections held in an Asian country in 2016, using a total of 97,000+ machines.
Technologies: Python, ARM, Linux, C++

Product Architect

2003 - 2010
Smartmatic Labs
  • Implemented the multi-threaded event management service of an intelligent standalone 32-bit control device.
  • Led a team of three software engineers, developed the first modern, secure, and auditable client-side voting application used in a South American country. This application, as a part of the complete voting solution, has been successfully used on 40,000+ voting machines; working simultaneously during election day, in more than 15 important country-wide elections.
  • Personally implemented crucial modules of the client voting system, such as cryptographic security, XML serialization, communication and transmissions, application for testing end-to-end transmission all election data, application for field engineering tests, application for distributed configuration of voting machines, application for semantic validation of configuration data, cryptographic sealing of voting application, among others.
  • Headed up a team of five software engineers—developed and certified (VVSG) a voting application used in two citywide elections in the US.
  • Led a team of 12 multidisciplinary engineers and developed an ID management solution, including a biometric client application and a centralized AFIS-agnostic SOA-oriented server system.
  • Oversaw the development of a biometric voter registry application used in Bolivia to register 5.2 million voters in less than four months. I also wrote the integration layer between the registration application and several biometric fingerprint readers (single-FP and 4-slap) using .NET PInvoke.
  • Led the development of a biometric voter registry application used in Zambia to register 10 million voters.
  • Spearheaded the customization of a biometric civil registry application in Mexico. Apart from leading the team, I wrote the integration layer between the registration application and several types of webcams and commercial SLR cameras.
Technologies: Windows XP, .NET, C#

Software Engineer

2001 - 2003
Smartmatic Venezuela
  • Designed and implemented a Windows application for scanning, storing and fetching bank document images, using a high-speed scanner and a centralized DB.
  • Improved and re-implemented the communication protocol (acknowledged UDP) used between a facility-management system and standalone intelligent 8-bit control devices.
  • Implemented a message dispatcher for a device-automation platform, which interacted with a remote DB via a DB wrapper.
Technologies: Windows XP, .NET, C#

Software Engineer

2000 - 2000
Panopticom
  • Designed and implemented a transactional back-end service that processed credit card charges in bulk for a cable-TV company.
Technologies: Microsoft SQL Server, Oracle, C

Portable Apparatus for Biometric and Biographic Data Collection, Storage and Delivery, and Method

http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/8659650
PATENT US8659650

This is a method and apparatus for biometric and biographic data capture. The apparatus includes:
- A main unit.
- A display monitor having a lower end that can pivot and is attached to the main unit.
- A lower casing that houses the main unit.
- A bay formed in the lower casing for storing an input unit.
- An image capture device attached to the upper end of the monitor, the upper end being located on the opposite end of the display monitor compared to the lower end.
- An image capture device that includes an illumination section for illuminating a subject to be imaged.
- An image capture section that captures an image of the subject.
- A secondary data input unit that is removable and attached to the bay and is in communication with the main unit via a data transfer path.
- An upper casing that is secured to the lower casing so as to form an outer shell section and a handle.

Smart Biometric Data Capture Sub-Assembly

http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/D616439
PATENT USD616439

A sub-assembly for extending the functionalities of another device used for biometric registration and authentication.

Smart Integrated Biographic and Biometric Data Capture Portable Device

http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/D616438
PATENT USD616438

This is a camera and lighting module for biometric registration and authentication device.

Method for a Smart Device Network Application Infrastructure (SDNA)

http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1=20030208527.PGNR.
PATENT Application US20030208527

This is a method to implement a Smart Device Network Application Infrastructure (SDNA) that supports and facilitates the development, deployment, and management of device networks and device network applications. The Smart Device Network Application infrastructure (SDNA) refers to an integrated processing platform that supports and facilitates the development, deployment, and management of distributed applications based on device networks. It involves the concurrent execution of several processes that interact to provide support and resources for said applications.

Smart Internetworking Operating system for Low Computational Power Microprocessors

http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/6964049
PATENT US6964049

This is a multitasking operating system capable of operating in low processing power platforms such as 8-bit microprocessors, and also supports the rapid development of complete applications.

Biometric Voter Registration - Bolivia

Developed, deployed, and supported the biometric voter registration system for Bolivia's TSE. Registered and processed 5.2 million people in 75 days, including deduplication using fingerprint (AFIS) and face matching technology.

Biometric Voter Registration - Zambia

Developed and deployed the biometric voter registration system for the Electoral Commission of Zambia.

Other

Algorithms, Data Structures, Software Development, Multithreading, Software Engineering, ARM, Public-key Cryptography, Cryptography, Biometrics, Image Processing, System Architecture, Integration, DSLR Photography, Online Payments, Mobile Payments, Electronic Payments

Languages

C#, XML, Python 3, C, C++, Python, Java, Perl, Java 8, Bash, Bash Script

Frameworks

.NET, Hibernate, Spring Boot, Hadoop

Paradigms

Desktop App Development, Design Patterns

Storage

MySQL, Microsoft SQL Server, Apache Hive

Libraries/APIs

Lombok, Win32 API

Tools

Sublime Text, Visual Studio, Visual Studio 2015, ELK (Elastic Stack), IntelliJ IDEA

Platforms

MacOS, Windows, Windows XP, Linux, Oracle

1994 - 2000

Bachelor's Degree Cum Laude (Ingeniero En Computación Cum Laude) in Computer Science (Ingeniería en Computación)

Universidad Simón Bolívar - Caracas, Venezuela

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