Francisco Vallarino, Developer in Buenos Aires, Argentina
Francisco is available for hire
Hire Francisco

Francisco Vallarino

Verified Expert  in Engineering

Software Developer

Location
Buenos Aires, Argentina
Toptal Member Since
September 2, 2014

Francisco is an experienced professional with more than 20 years of experience in the IT industry, specializing in software engineering. He has extensive experience in software development on mobile platforms and web architectures on the client and server sides.

Portfolio

Self-employed
Node.js, Java, SQL-99, JavaScript, C, Haskell, React, Scala, Svelte, Git...
Rise Vision
Google Cloud Platform (GCP), Java, JavaScript, SQL-99, AngularJS, Node.js...
Ministerio de Salud
PL/SQL, AngularJS, GWT, Spring, SQL-99, JavaScript...

Experience

Availability

Part-time

Preferred Environment

Linux, Git, Emacs, Visual Studio Code (VS Code)

The most amazing...

...thing I've created is my open source Haskell library, Monomer.

Work Experience

Software Developer

2020 - PRESENT
Self-employed
  • Provided consultancy services on software design and architecture for full-stack applications.
  • Developed Scala applications with rich clients based on React.
  • Contributed to open source projects, in particular the Monomer library.
Technologies: Node.js, Java, SQL-99, JavaScript, C, Haskell, React, Scala, Svelte, Git, Functional Programming, Continuous Integration (CI), Agile Software Development, APIs, Amazon Web Services (AWS)

Software Engineer

2014 - 2020
Rise Vision
  • Migrated the existing player software, which depended on Chrome and was subject to versioning and restriction issues, to a fully controlled, Electron-based player.
  • Improved responsiveness and reliability of the platform by using a messaging service that acted as a status monitor.
  • Reduced cost of operations by using different technologies provided by Google Cloud Platform.
  • Upgraded end-to-end testing and made it a continuously running part of the infrastructure.
Technologies: Google Cloud Platform (GCP), Java, JavaScript, SQL-99, AngularJS, Node.js, React, Git, Object-oriented Programming (OOP), Functional Programming, Continuous Integration (CI), Agile Software Development, APIs, CSS, HTML, Amazon Web Services (AWS)

Technical Lead

2010 - 2014
Ministerio de Salud
  • Developed and maintained subsystems of the SISA (Sistema de Información de Salud Integrado—Integrated System of Health Information) project.
  • Interacted with internal users to create the specifications of new modules for the project.
  • Created an automated reporting tool that reduced the development time of reports by 90%.
  • Implemented a reusable GWT-based component to simplify georeferencing integration across modules.
Technologies: PL/SQL, AngularJS, GWT, Spring, SQL-99, JavaScript, Object-oriented Programming (OOP), Functional Programming, Agile Software Development, APIs, CSS, HTML

Software Developer

2012 - 2013
HSBC
  • Migrated and maintained the loans administration system.
  • Relocated the guarantee certificate administration system.
  • Integrated improved reporting technologies, allowing users to generate custom reports.
Technologies: jQuery, JPA, Spring, SQL-99, PostgreSQL, Object-oriented Programming (OOP), CSS, HTML

Technical Lead

2010 - 2012
Viridian S.A
  • Developed and maintained financial applications, integrating real-time information feeds.
  • Migrated from a static website to a dynamic smart client-based UI.
  • Created the first version of the Android client for a bond ticker.
  • Introduced Agile methodologies to the development process.
Technologies: PL/SQL, JPA, Spring, SQL-99, JavaScript, MongoDB, Concurrent Programming, Object-oriented Programming (OOP), Agile Software Development, APIs, CSS, HTML

Technical Lead

2007 - 2010
Cubecorp S.A
  • Maintained the Mazda USA website, migrating from a legacy codebase to a modern architecture.
  • Developed Renault's vehicle awarding management system using Wicket, Spring, and JPA.
  • Developed a statistics reporting system for Renault using BIRT.
  • Provided software architecture support for development teams and mentored junior developers.
Technologies: jQuery, JPA, Spring, Jakarta EE, SQL-99, JavaScript, PostgreSQL, MySQL, Python, Object-oriented Programming (OOP), APIs, CSS, HTML

Software Developer

2006 - 2007
Verizon S.A
  • Created a Flash-based GIS client to allow the display of dynamic information efficiently, focused on performance and scalability.
  • Integrated MapServer as the mapping back-end technology.
  • Developed the dashboard platform for big clients, integrating existing SOA services.
Technologies: JavaScript, Hibernate, Spring, SQL-99, C, Concurrent Programming, Object-oriented Programming (OOP), APIs, CSS, HTML

Technical Lead

2004 - 2006
Telecom S.A.
  • Designed and implemented user-facing and internal applications.
  • Integrated and maintained legacy systems using MQ, CORBA, and proprietary protocols.
  • Developed Jakarta EE applications for internal and external users.
  • Created frameworks and libraries to standardize and simplify development.
Technologies: JavaScript, PL/SQL, Jakarta EE, SQL-99, Concurrent Programming, Object-oriented Programming (OOP), CSS, HTML

Software Developer

2000 - 2004
Soluciones Documentales S.A.
  • Developed hand-written forms processing and management systems.
  • Created software for banks and criminal investigations.
  • Worked on intranet development and integrated legacy systems. Provided production support.
Technologies: Jakarta EE, C++, SQL-99, C, Python, Object-oriented Programming (OOP)

Monomer

https://github.com/fjvallarino/monomer
An easy-to-use, cross-platform GUI library for writing native Haskell applications.

It provides a framework similar to the Elm Architecture, allowing the creation of GUIs using an extensible set of widgets with pure Haskell.

OCR for Handwritten Digits

A local cosmetics retailer had a set of predefined printed forms used by their sellers to request the products they needed to fulfill their client's orders. These forms had a column where the quantity requested for each product was provided, and that number was handwritten (since the forms were preconfigured, the product code was known in advance). The complete system consisted of a scanning module that provided the images that were later processed by the OCR and, in some cases, sent to manual validation if the confidence level was not high enough. The user interface was written in VB6, and the OCR part was C++ based.

Phone calls analysis system

Based on the information provided by local phone companies, the system consisted on an importation module that was able to recognize several input formats and feed the database of phone calls. Using the time, origin, destination and location of the call, the system provided several tools to analyze the behavior of a given person. The first versions were written in VB6, but a new Web based Java version was created.

Product sales data mining application

Data mining project for Telecom, which consisted on two main modules: data recollection, and analysis and statistics.

The objective of the system was to provide a platform to enhance the plans offered by the company, based on usage and income levels of clients.

The system was J2EE based, using EJB2.1, PL/SQL, Struts and client side JavaScript (jQuery). The integration with existing systems was made using MQ and Message Driven Beans.

Dashboard for Verizon

Verizon's Dashboard was a tool that consisted on several modules that provided big clients tools to check the status of their contracted services. The most important module was the GIS, since it provided a condensed view of all the information. The main issue developing the GIS was that JavaScript at the time was slow (IE6 was the standard at Verizon), so handling the amount of information that was required was not possible. The solution was implementing a Flash based client using AS2, which had really good performance. This client cooperated with a MapServer back-end to display geographic information.

Skin deceases detection (prototype)

Applying Independent Component Analysis (ICA), it is possible to extract pure signals from sources which have these signals merged. The typical example is having three people speaking in a room with the microphones located in different places. Even though the recorded signal of each microphone will contain the merged voices, applying ICA over the three recordings, the voice of each independent person can be extracted. Of course noise will always be an issue, but the results are really good.
For this project, potential clients had a set of photographs of their skin taken, which were later analyzed by the software. The process was based on a paper that stated that, since images have three channels (red, green, blue), information related to melanin and hemoglobin distribution can be extracted from them. Based on those extracted signals and several image processing algorithms, statistics were presented to the dermatologist.

The software was written in C++ using some functions from OpenCV, and the GUI was created using Delphi 7.

Automated reports generation tool

The SISA project has a reporting/statistics module which is based on PL/SQL. The structure of the reports is mostly fixed, but the tables involved and the processing criteria is not. The structure of the report was similar to an OLAP cube, and forced the implementation of 30-100 PL/SQL functions for each report. Because of this, the reports aspect of the project was always out of sync with the rest of the system. The tool I created provided a user interface that allowed a technical user to choose the fields that were involved in the report, the logic that was to be applied and some extra options. Using this information, all the functions and configuration files were automatically generated, reducing the development time drastically.

The application consisted of an AngularJS based client, and a Java/Velocity back-end.

Languages

JavaScript, Java, SQL-99, Haskell, C++, C, Scala, CSS, HTML, Python, Scheme

Frameworks

AngularJS, Svelte, Spring, Hibernate, JPA, GWT

Libraries/APIs

Node.js, jQuery, React, SDL, OpenGL

Paradigms

Continuous Integration (CI), Functional Programming, Agile Software Development, Concurrent Programming, Object-oriented Programming (OOP)

Platforms

Linux, Google Cloud Platform (GCP), Jakarta EE, Visual Studio Code (VS Code), Amazon Web Services (AWS)

Other

APIs

Tools

Git, Emacs

Storage

PostgreSQL, MySQL, PL/SQL, MongoDB

2006 - 2006

PMI Project Management Course Degree in Project Management

PMI - Buenos Aires

2000 - 2005

Information Systems Engineer Degree in Information Systems Engineering

Universidad Tecnoloógica Nacional - Buenos AIres

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