Scroll To View More
Hire the top 3% of freelance developers
André Silva

André Silva

Porto, Portugal
Member since November 9, 2016
For the past five years, André has been working for a startup that develops products for the online marketing and advertising industry. He mainly works as a Scala developer with a focus on back-end software, developing internet-facing and large scale distributed services.
André is now available for hire
Portfolio
Experience
  • Akka, 5 years
  • Scala, 5 years
  • Rust, 1 year
Porto, Portugal
Availability
Part-time
Preferred Environment
Emacs, OS X, Git
The most amazing...
...thing I've written is a Lisp compiler for an esoteric CPU and an assembler for another esoteric CPU in a weekend for the ICFPC 2014 competition.
Employment
  • Lead Software Engineer
    ShiftForward
    2011 - PRESENT
    • Developed a column-oriented serialization library to allow efficient data analysis of log data in Scala.
    • Deployed and managed auto-scalable services on AWS using Ruby scripts and Terraform to automate the operations.
    • Led the development of a big-data forecasting engine for online advertising campaigns that facilitated prediction of the performance and reach of a campaign by projecting the number of impressions and unique users targeted by the campaign given historical performance.
    • Contributed directly to hiring and growing an engineering team.
    • Worked on external projects, interacting directly with the client.
    • Created an API documentation tool that generated a professional documentation site given a Swagger API definition.
    • Developed an SPA with Ember.js used as a demo app for an API service.
    Technologies: Scala, Akka, Mesos, Marathon, AWS
  • Software Engineer Intern
    PT Inovação (renamed to Altice Labs)
    2011 - 2011
    • Created a framework in Ruby to benchmark distributed databases which facilitated benchmark workload definitions in a simple DSL and also provided cluster-specific tests like horizontal scalability and cluster rebalancing time (when a node leaves).
    • Researched the existing solutions for non-relational databases.
    • Developed design patterns for data modeling with non-relational databases which took advantage of database-specific features and allowed an easier migration from a relational database domain.
    • Developed several prototypes using non-relational databases which assessed their applicability to the problem domain of a telco.
    Technologies: Ruby, Cassandra, Riak, MongoDB, MySQL
Experience
  • AdForecaster (Development)
    http://www.adforecaster.com/

    A state-of-the-art forecasting engine that allows for prediction of the performance of multiple advertising campaigns (with arbitrary segments and targeting rules), in systems with billions of impressions, and simulation of alternative "what-if" scenarios in real-time. I started the development of this project and worked on a column-based log serialization library, a compiler for a small "rule" DSL, and a cluster for real-time distributed simulation of ad campaigns.

    Technologies used include Scala and Akka.

  • Data Management Platform (Development)

    A data management platform (DMP) is a centralized computing system for collecting, integrating, and managing large sets of structured and unstructured data from disparate sources. While working at ShiftForward, I developed a DMP as an outsourcing project for an external client. The system had strict performance requirements since it was required to deal with a high throughput (> 1000 req/s). Additionally, the system also provided a back-office application for management of the DMP.

    Technologies used include Scala, Akka, Play, and PostgreSQL.

  • Scala-pool (Development)
    https://github.com/andrebeat/scala-pool

    An open-source Scala library for object pooling with multiple implementations providing several features for different usage scenarios. I developed this project on my spare time mainly for my own use at my company.

  • Cask (Development)
    https://github.com/andrebeat/cask

    A fast key-value store written in Rust. The underlying storage system is a log-structured hash table which is inspired by Bitcask. I developed this open-source project on my spare time mainly to learn Rust and also about key-value store design.

Skills
  • Languages
    Scala, Rust, Java, Ruby, SQL, Python, JavaScript
  • Frameworks
    Akka, Ember.js, Marathon
  • Tools
    Emacs, Terraform, Mesos
  • Paradigms
    Concurrent Programming, Functional Programming, Object-oriented Programming (OOP), Microservices
  • Platforms
    Linux, Docker
  • Other
    Akka HTTP, Distributed Systems
  • Libraries/APIs
    React.js
  • Storage
    PostgreSQL, Cassandra
Education
  • Exchange program in Computer Science
    Delft University of Technology - Netherlands
    2011 - 2011
  • Master's degree in Computer Engineering
    Faculty of Engineering of the University of Porto - Portugal
    2006 - 2011
Hire the top 3% of freelance developers
I really like this profile
Share it with others