Software architect and developer with a solid background in 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 and runtime analysis, and automated testing as ways of improving quality of life.
Splunk, London (UK)
Senior Principal Software Engineer
May 2022 - Present
Principal Software Engineer
Feb 2019
Senior Software Engineer
Sep 2015
The core Splunk product is a data collection, indexing and search software in C++17, available for self-managed use and as a cloud service. Deployments may include tens of thousands of data-collection agents deployed in remote computers, sending data to thousands of indexing servers, which 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.
-
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.
-
Part of decision-making groups on engineering-wide practices within Splunk, such as the C++ language committee.
-
Contribute to the health and sustainability of the codebase, both through individual contributions and broader communication.
-
Frequently develop new tooling and techniques to assist in software development, 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 the 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 a 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, was 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.
-
The back-end remained in production from 2009 until 2023, with a single low-cost machine 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