Nicolas Lanaro, Developer in Buenos Aires, Argentina
Nicolas is available for hire
Hire Nicolas

Nicolas Lanaro

Verified Expert  in Engineering

Software Developer

Buenos Aires, Argentina

Toptal member since October 29, 2017

Bio

Nicolas is a passionate software developer that can write great code as well as improve the development process. He is always actively look for improvements and can communicate and adapt to new requirements. Nicolas has plenty of experience with Python and Java, and besides coding, he can also do data analysis to extract hidden knowledge.

Portfolio

Medallia
Java, Python
Enzyme VC
Flask, SciPy, MongoDB, Python
Wolfram|Alpha
MySQL, Python, Mathematica

Experience

  • SQL - 7 years
  • Python - 6 years
  • Agile Software Development - 5 years
  • Java - 4 years
  • PostgreSQL - 4 years
  • Flask - 3 years
  • MongoDB - 1 year
  • Cassandra - 1 year

Availability

Part-time

Preferred Environment

Git, Vi, Sublime Text, IntelliJ IDEA, PyCharm, MacOS

The most amazing...

...project I worked on was a recommendation system for email tagging using information from conversations, user context, and internal social networks.

Work Experience

Software Engineer

2014 - PRESENT
Medallia
  • Created and maintained web collection tools, using Python and an in-house framework for handling different collection parameters (user agents, proxies, etc.) to avoid detection and easily adapt to changes out of our control.
  • Designed entities matching algorithms and data structures for data processing, matching the in-house model with entities from internal clients and websites, using Java 8.
  • Built data quality tools to manage DB entities/scale processes to support team, enabling the support team to expand, and offload work from engineering, creating a web API for DB objects to be consumed by different front-end services.
  • Added authentication and authorization to the application, supporting the use for different teams with roles and permissions by component with OAuth, changes tracking, and auditing with Java 8 over Postgres and MongoDB.
Technologies: Java, Python

Lead Software Engineer

2012 - 2014
Enzyme VC
  • Extracted content from Twitter using a network of trusted sources and a series of Python services to follow them, analyze the content generated, and pick which items would be consumed for processing storing them in a MongoDB storage.
  • Implemented an algorithm to select trusted sources from Twitter based on metrics from users publishing history with a Python service using a graph of seeds and followers, weighted by the value of their average tweets in relation to redistribution and likes.
  • Created RESTful APIs with Python and Flask to consume the extracted information providing web services to front-end components.
  • Implemented an algorithm to categorize extracted data into predefined categories using Python and SciPy to assign tweets to a set of predefined categories.
Technologies: Flask, SciPy, MongoDB, Python

Software Engineer

2010 - 2012
Wolfram|Alpha
  • Created scrapers to collect data from different sources using Python, adapting to a variety of websites and APIs as well as different kinds of content.
  • Formatted and cleaned data automatically to adapt it to the system's internal format with Python and Mathematica services to consume unformatted data and save it as the format internally used to make it ready for consumption on the main parser.
  • Implemented parsing rules on the main parser to match one-off spelling mistakes and offer additional information on the Mathematica and Java engine used on the lexer for specific units of information.
Technologies: MySQL, Python, Mathematica

Software developer

2009 - 2010
Avatar LA
  • Created an algorithm to classify tweets and rate them according to sentiment analysis based on bayesian classifier using Python to create analysis services, RabbitMQ for message passing and PostgreSQL for storage.
  • Implemented a system to use tweets classification in the creation of automatic reports with web services providing the back-end for a JavaScript front-end.
Technologies: RabbitMQ, JavaScript, PostgreSQL, Python

Research intern

2008 - 2009
IBM Research
  • Created a classification system for emails that would suggests labels based on email content, other conversations and internal social networks for a web client over the lotus mail DB using Java, C, and JavaScript, running a text classification algorithm, and connecting to different APIs from internal projects and web services for data enrichment.
Technologies: JavaScript, C, Java

Experience

Email Tags Suggestion System

The project, which I developed end to end, consisted of the integration of a tags suggestion system to a web interface for the Lotus email client. For this, I used a classification algorithm to extract topics from the email, as well as other emails from the mail thread. I combined this with other emails between the user and the sender(s), crossing categories for each of them. Also, I extracted metadata associated to the mail, such as tags for links included in the text, metadata from attachments, topics linked to other persons named in the text, and more. I also extracted information on the participants from different internal social networks used to share data for several projects to augment the categories that could be useful. With this, I integrated the algorithm with the Lotus client DB and then added the necessary front-end hooks to consume them and show them. The project was successful and the functionality was used often.

Education

2011 - 2016

Bachelor's Degree in Psychology

Universidad del Salvador - Buenos Aires, Argentina

2005 - 2010

Bachelor's Degree in Computer Science

Universidad de Buenos Aires - Buenos Aires, Argentina

Skills

Libraries/APIs

SciPy

Tools

PyCharm, IntelliJ IDEA, Sublime Text, Git, Mathematica, RabbitMQ

Languages

Python, SQL, Java, JavaScript, C

Paradigms

Object-oriented Programming (OOP), Agile Software Development

Platforms

Linux, MacOS

Frameworks

Flask

Storage

PostgreSQL, MySQL, MongoDB, Cassandra

Other

Vi

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