Luis Santos

• +49 15901335753 • 33 years old


Passionate Technical Leader focused on building great products and leading by example. With more than 12 years of experience, my job is to help teams build complex software in the cloud, using modern tools and practices.

I’m currently looking for a Technical Lead or Engineering Manager hands on role, in Berlin, with with the possibility for some remote work in the long term.


Experience

March 2019-Nov 2020

Technical Lead

Movingimage

  • Leading multiple agile teams to deliver software on time
  • Designed a new search system based on GraphQL that provides a flexible and faster way to access data
  • Redesigned existing systems into microservices to achieve better scalability and maintainability
  • Other responsibilities
    • Cost management and reporting
    • Project planning
    • Hiring and mentoring developers
  • Key Technical Skills
Oct 2018-Jan 2019

Senior Data Consultant

  • Elasticsearch
    • Optimization of the Elasticsearch cluster to better meet performance requirements
    • Redesign of ES queries to meet performance requirements
  • Serverless data lake
    • Development and maintenance of existing data lake ETL processes using: AWS Athena, AWS lambda functions and Aws Glue
  • PoC using DWH and analytical DB such as ClickHouse and AWS Redshift
  • Architecture proposal to integrate 2 legacy systems. The proposed architecture uses modern technologies such as Apache Kafka, Apache Kafka Connect and Docker to integrate 2 legacy systems. The proposal tries to achieve the following goals:
    • Reduce manual user input in both systems
    • Reduce data inconsistencies between the 2 products and deliver a better experience for the end-user
    • Provide a single source of truth


Jul 2017-Sep 2018

IoT Lead Developer

Smartfrog

  • Promoting development best practices such as
    • Test Driven Development
    • Infrastructure as Code
  • Implementing java services using
    • Hibernate, MySQL, DynamoDB, SpringBoot and Java8
    • AWS Cloud Formation, AWS DynamoDB, MQTT and AWS Kinesis
  • Help design and implement high available microservices using an event-driven approach
  • Lead a multicultural team to deliver the next generation device management platform
  • Promote the use of the SCRUM framework as a tool to organize workloads and provide visibility into the development process
  • Architect and develop a new camera firmware:
    • New modular design that reduces the development cost and allows for greater flexibility
    • Improved real-time communication between the camera and the cloud
    • Support for different streaming protocols
    • Multi-platform and Multi-device support
    • Design with modern technologies such as C++, MQTT, IoC, DI, Cmake, GTest and GMock, Poco C++ Framework
Feb 2016-March 2017

Software Architect

SolarWinds MSP (previously LogicNow)

  • Promoting awareness of development best practices across the company

    • CI/CD, TDD
    • Code review
    • Development patterns, Integration Patterns
    • Security best practices
  • Help teams design and implement high available distributed solutions using industry patterns such as micro-services, message queues, REST architectures, and stream processing

  • Help teams choose from the wide range of AWS technologies available

  • Improving the existing data platform by:

    • Designing a new ingestion pipeline based on gRPC and AWS Kinesis
    • Introducing the Lambda Architecture as a way to decouple the components and enable real-time use cases
    • Suggesting the ORC file format as a replacement for the legacy gzip files. Up to 10x performance improvement and 50% saving on storage requirements
    • Suggesting SparkSQL as a standard way to get the data accessible to internal users
Sep 2014-Feb 2016

Senior Software Developer

SolarWinds MSP (previously LogicNow)

As part of a small team, I was responsible for the design and implementation of the next generation of infrastructure capable of taking millions of devices under management.

This new infrastructure, based on the Event-Driven Architecture, is composed of several highly decoupled micro-services and uses a Message Queue (RabbitMQ) as the main communication channel between services.



As part of this team, I shared the responsibility of:

Key Skills:

  • JAVA, JAX-RS, Guice, Guava, maven, Junit, Mockito
  • AWS, Docker, DynamoDB, Elastic beanstalk
  • Ansible, Linux
  • PHP, PHPunit, composer, SF2
Apr 2014-Aug 2014

Java Developer

Portugal Telecom, Caixa Magica Software

As part of this project I was responsible for maintaining a message queue solution.

The main goals were:

  • Upgrade from Netty 3 to Netty 4
  • Rewrite the java client using Netty 4 and NIO
  • Maintain the existing clients written in PHP, C, Perl, and Python

Key Skills:

  • Netty, NIO, IP, TCP, Wireshark
  • Java, multithreading programming, Maven, Junit
  • JSON, XML, Protobuf, Thrift
  • Linux, Android
Oct 2011-Apr 2014

PHP Developer

Portugal Telecom, Caixa Magica Software

Frontend and API developer at wallet.pt, a mobile, tv and web payment solution.

key Skills:

  • PHP, JS, HTML
  • SOA, REST
  • OWASP TOP 10, PCI-DSS, Cryptography, SSL
  • Unit Testing, Continuous Integration
  • MySQL, Memcache, Message Queue
May 2008-Oct 2011

Software Developer

Paul Stricker SA

Software Developer and Ops.

key Skills:

  • PHP, JS, HTML, Java, JAX-WS, JAX-RS, Hibernate
  • Windows Server, Cisco network appliances, SIP
  • C#, .NET, Microsoft Fox Pro, ETL
Jul 2013-Dec 2013

Community enabler

PHPLX

Responsible for organizing a monthly event

Education

2005–2011

BSc, Informatics Engineering

Instituto Superior de Engenharia de Coimbra, Portugal

  • SQL Databases (Oracle, SQL server)
  • Software engineering, Software patterns, and algorithms
  • Software Development Java, EJB, C/C++, C#.NET, ASP.NET
  • Networks and protocols, TCP/IP, OSPF, RIP, CCNA

Interests

Other interests

Java:

  • GraalVM and AOT compilation in serverless environments
  • Dependency injection in serverless environments using Dagger
  • Kotlin - Kotlin modern and expressive features deliver great productivity at a lower entry barrier. A great alternative to Java.
  • Clojure - Modern lisp on the jvm and javascript

RabbitMQ: Message Queues are a key piece of any distributed system. I do a lot of research about MQ patterns and how to solve some common problems. I also contribute to RabbitMQ mailing list every time I have an opportunity

Arduino and digital electronics: One of my hobbies is to build small digital circuits that let control devices around the house and in the process improve my understanding about the different technologies available to consumers. DIY is a fun and pragmatic way of exploring the concepts of Computing and IoT.

Lisp, Scheme and Racket : On free my time I’ve been learning Racket. My interest in such languages is due to its simplicity. This simplicity and flexibility make them very powerful and the perfect vehicle to implement new programming concepts without the need to change the language

Other

Languages
  • Portuguese (Native speaker)
  • English (Professional Speaker)
  • Spanish (Basic understanding)
  • German (Learning)

• +49 15901335753 • 33 years old