Brazilian, born May 5th, 1985.
Flat C, 15 Chapel Market, N1 9EZLondon, UK.
+44 (0)79 39 852 914gafunchal@gmail.com

Experience

Since Jun 2021

Senior Manager, Engine Team, Snyk, London, UK.
Snyk is a cybersecurity company. I joined as a Staff Engineer, and then transitioned to leading one of the teams in the AI group. My team works on static program analysis and machine learning for finding and fixing vulnerabilities in code and dependencies.

Oct 2020 - Jun 2021 (9 months)

Senior Software Engineer, Large hedge fund
Temporary work as an expert in numerical optimisation. Convex optimization, linear programming.

Jul 2019 - Apr 2020 (10 months)

Core Database Engineer, Yellowbrick Data, London, UK.
Yellowbrick Data is a database company building a Postgres-compatible distributed SQL database that can answer analytical/complex queries over petabytes of data in milliseconds. I worked on the query planner, compiling queries to machine-code, and an extension for geographical information (GIS).

Oct 2016 - Apr 2019 (2 years 7 months)

CAM Engine Team Lead, CloudNC, London, UK.
My team developed autonomous "one-click" toolpath planning and optimization for CNC metal milling machines. As employee #4, I helped shape the company culture and product. I wrote many geometry algorithms that were the foundation for our product. I then transitioned into a team lead/management role, where I introduced 1-on-1s, standups, personal development plans and team meetings. I helped define the entire interview process: writing job ads, tech screen calls, remote and on-site interviews. I was responsible for the software architecture, managing technical debt and introducing development practices such as code reviews and issue tracking. I worked together with the team to plan and execute projects.

Jan 2016 - Oct 2016 (10 months)

Senior R&D software engineer, Autodesk Research, London, UK.
I worked on Project Dreamcatcher, a Generative Design CAD tool for topology optimisation, which takes advantage of additive manufacturing (metal 3D printing) methods to produce lightweight, functional products. From a set of user-specified physical constraints and objectives, Dreamcatcher generates thousands of alternative design options using the power of cloud-computing and GPU acceleration. The user can then visualise and explore trade-offs, and select an optimal solution. My main contributions were: building reusable components for design, simulation and optimisation of lattice infill, and development of topology optimisation using the Finite-Element Method.

Feb 2015 - Jan 2016 (1 year)

Senior R&D / Scrum Master, Bloomberg LP, London, UK.
I worked in the Shared Services (middleware) team for the Trading Systems division. We built an asynchronous, multi-threaded, cloud-based API that consolidated access to financial data across different sources and interfacing with multiple teams. I helped my team adopt Agile, beyond being an individual contributor I was also responsible for task prioritization, testing, continuous integration, build and version control. I was part of the interview team for senior-level recruitment.

Sep 2011 - Jan 2015 (3 years 5 months)

Senior R&D engineer, Synopsys, Dublin, Ireland.
I worked on PrimeTime, a static timing analysis tool that computes worst-case propagation delays and checks timing constraints to ensure signal integrity of electronic circuits before sign-off for manufacture. My role was focused on optimization. I was tasked with constantly searching for opportunities for performance improvements through profiling and similar techniques. I had an extensive exposure to PrimeTime very large C++ code base. As a result of these investigations, I directly proposed and lead multiple projects from idea to completion. These projects included multi-threading, low-level optimisations to our memory allocators, deployment of inlining and algorithmic complexity enhancements to various areas. I had a central role as a reference in C++ within the team. During our product-wide migration from C to C++, I was trusted with refreshing our coding guidelines. I gave regular talks on C++ topics to the rest of the team, and I also took part in interviews and ramp-up of new hires.

May 2008 - May 2011 (3 years)

R&D engineer (part-time during my Ph.D), STMicroelectronics, Grenoble, France.
I worked on transactional-level modelling, a technique for early architecture exploration and simulation of embedded systems. I directly supervised three Master-level students during their 6-month, last-year projects.

Nov 2007 - Apr 2008 (6 months)

Research engineer, Joseph Fourier University, Grenoble, France.

Oct 2006 - Jun 2007 (9 months)

Research intern, Verimag Research Lab, Gières, France.

Feb 2006 - Aug 2006 (7 months)

Engineering intern, STMicroelectronics, Grenoble, France.
I integrated different hardware components in a SystemC model of the STn8815 Nomadik Multimedia Processor, then ported the whole platform from Solaris to Linux, dealing with things such as endianness. This electronic circuit was later used in commercial smartphones such as the Nokia N96.

Nov 2003 - Aug 2005 (1 year 10 months)

Undergraduate assistant, Embedded Systems Lab, Porto Alegre, Brazil.
Developed hardware components and application software in the context of a Brazilian research project.

Education

2011 - Ph.D, Computer Science

Grenoble University, France.
Thesis entitled "Contributions to the Transaction-Level Modeling of Systems-on-Chip", publicly defended, obtained 4 very good and 1 exceptional (out of 5) grades. Industrial research with STMicroelectronics.

2007 - Double degree, with honors

M.Sc, Computer Science, Joseph Fourier University, France.
M.Eng, Telecommunications, ENSIMAG, Grenoble Institute of Technology, France.

2005 - Undergraduate, Computer Engineering

Federal University of Rio Grande do Sul, Brazil.

Publications

Faithfulness Considerations for Virtual Prototyping of Systems-on-Chip

Giovanni Funchal, Matthieu Moy, Laurent Maillet-Contoz and Florence Maraninchi. In International Workshop on Rapid Simulation and Performance Evaluation Methods and Tools (RAPIDO), 2011.

jTLM: an Experimentation Framework for the Simulation of Transaction-Level Models of Systems-on-Chip

Giovanni Funchal and Matthieu Moy. In Design, Automation and Test in Europe (DATE) Conference, 2011.

Modeling of Time in Discrete-Event Simulation of Systems-on-Chip

Giovanni Funchal and Matthieu Moy. In ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE), 2011.

Formal and Executable Contracts for Transaction-Level Modeling in SystemC

Tayeb Bouhadiba, Florence Maraninchi and Giovanni Funchal. In ACM International Conference on Embedded Software (EMSOFT), 2009.

Other

Open Source

I am active on StackOverflow (top 8% C++), and I have made several contributions to a variety of Open Source projects including GCC, Git, Debian, Python and Inkscape.

Values

I am very passionate about collaboration, team-working and sharing knowledge. I am a fast-learner, I really enjoy challenges and I continuously seek to improve. I have an honest, frank and straightforward personality. I like getting right to the point. I prefer to be bold, move fast and make quick decisions.

Languages

I speak fluent English, French and Portuguese.