Software architect and developer with solid background on algorithms and computer architecture, and a very good understanding of the interactions between user-mode programs and the Linux kernel. Currently working with highly distributed, large-scale big data analysis software. Past experience includes work on legacy systems in C, full stack web development in PHP and Java, HPC solutions using FPGAs, and highly concurrent C++ financial risk calculation software. I'm a huge fan of static analysis and automated testing as ways of improving quality of life.
Splunk, London (UK)
Senior Principal Software Engineer
Sep 2015 - Present
The core Splunk product is a data collection, indexing and search software in C++17. Deployments may include tens of thousands of data-collection agents deployed in remote computers, sending data to thousands of indexing servers, which will back dozens of search servers, with the top layers often clustered to provide high availability. Searches are made with a custom language, providing filtering and aggregation capabilities to the schema-less data stored. The software is available for self-managed use and as a cloud service. In my role as a software engineer at Splunk, I:
-
Design and implement new features and improvements, having touched most areas of the product.
-
Advise and guide multiple teams in architecture and design, reviewing code throughout the codebase.
-
Actively participate in decision-making groups proposing engineering-wide practices for the core Splunk product.
-
Contribute to the health and sustainability of the codebase, both through individual contributions and by raising awareness.
-
Frequently develop new tooling and techniques to assist in software profiling, analysis, and diagnosis.
Maxeler Technologies, London (UK)
Senior Software Architect
Jun 2011 - Sep 2015
-
Worked on high-performance computing (HPC), combining carefully crafted software (mostly in C++11) with FPGA-based stream-computing hardware to offer highly performant solutions.
-
Key contributor to inception, design and development of the Maxeler RiskEngine financial library, a highly scalable implementation of risk models in C++11 for which licenses were in the 7 figures.
-
Wrote large-scale financial risk management system which became a multi-million-dollar project.
-
Helped transform a culture of prototype-making into one of maintainable, production-quality software.
-
Worked in the design and development of models and algorithms for computationally complex problems.
MTV Networks, Milan (Italy)
Web Team Tech Lead
May 2010 - Jun 2011
-
Developed from scratch new versions of ondemand.mtv.it and classifiche.mtv.it (4M pageviews/month) so that they could be served by a single Amazon EC2 small instance.
-
Drove adoption of cloud servers, acted as sysadmin and developer for over a dozen local websites migrated to them.
-
Acted as main tech interface between my team, the US core CMS developers and content editors from 4 countries.
Consultor Jurídico, São Paulo (Brazil)
Software Architect
Nov 2007 - Feb 2010
-
Complete rewrite of the content-management system (CMS) and front-end for www.conjur.com.br.
-
Back-end still in use as of 2021, with a single low-cost server servicing over 15M pageviews/month.
Convergys, São Paulo (Brazil)
Software Developer
Feb 2006 - Mar 2007
-
Developed, maintained and optimised database-intensive systems using C++ and PL/SQL.
-
Collaborated with offshore teams for bug-fixing and development of new features on Windows GUIs.
Claro, São Paulo (Brazil)
Production Senior Analyst
Oct 2005 - Feb 2006
- Developed and used tools for monitoring, did diagnosis and patching of errors in the Amdocs Mobile billing system.
Atos Origin, São Paulo (Brazil)
Software Engineer
May 2004 - Oct 2005
- Maintained and developed software in C and SQL; parallelized legacy code to improve run time.
Bull, São Paulo (Brazil)
Intern in Software Engineering
Apr 2002 - May 2004