Francesca Tosi believes the developer services she offers today are rooted in her background as a mathematician and her experience in high-performance computing (HPC), kept fresh through frequent university interactions.
After spending her 20s in numerical analysis, Tosi began working as a freelance developer five years ago. Since starting her own consulting firm in 2016, she supports clients’ internal teams in developing business-critical tools and applications around data processing and visualization, as well as machine learning (ML) and reasoning.
Following her master’s thesis in numerical analysis, specifically computational fluid dynamics (CFD), from the University of Camerino, Tosi earned her Ph.D. in pure and applied mathematics at the University of Firenze in 2010. “The real gift my background brought is the passion for exploring and the practice of learning, both invaluable tools when you work in always-changing technology,” she said.
At university Tosi worked as a researcher in HPC and CFD. During that time her preferred projects involved the study and implementation of parallel Bhatnagar–Gross–Krook (BGK) lattice models for aerodynamic simulations with the University of Tor Vergata and the Italian National Research Council. Lately, she works on the coding of algorithms for adaptive grid generation for an international company in the field.
What got you started in technology?
I took my first steps into the world of technology and development during my years at university, dealing with fluid dynamic models and high-performance computing. But I have to confess, academia trained me in fast learning, and most of my expertise as a technician is an achievement of my years as a consultant. It definitely defined in my current life, as the owner of a tech company, where I have the opportunity to ‘taste’ technology not just on my own but also through frequent internal meetings.
Everything about my current job started when I met my friend and company co-founder Alberto Mancini, who used to be a mathematical physicist; we have similar backgrounds but somewhat orthogonal experiences. We joined forces investing in the idea of creating a consulting company that would bring a mathematical approach to problem-solving as a value for clients. As a company, we are still young, but we see that the mix of math with passion and fast learning delivers results that are fruitful and effective.
What projects are you working on now?
I’m working on a complete pipeline for real-time stream processing and analysis, starting with the tools I’ve developed during previous engagements. That’s definitely the most challenging ongoing project because I have the opportunity to review systems we built before with the knowledge of what worked great and what still needs improvement. My contribution is the development (modeling and coding) of the machine learning models, whereas other coworkers are charged with the low-level architecture.
The pipeline we use is based on a couple of great open source projects we developed expertise in, Apache Flink* software and TensorFlow*, plus some smaller tools to glue the main systems together and make life easier. Our approach is to base the platform as much as possible on open source software and eventually contribute all reusable code to the community. We know that modern software systems are so complex that they can be managed only with the contribution of a large community of developers.
What technology challenges have you overcome in a project?
To say: “organizing parallel computations for scaling” would be an easy catch. In fact, the careful organization of the algorithms and the dimensioning of the resources is daily hard work, but to me the real challenge I had to overcome was to understand how to apply the most theoretical part of my background in math to real applications for modern industries, such as machine learning algorithms and data management. Despite what I thought, math is extremely useful in common work problems, and I love this way to approach it.
What trends do you see happening in technology in the near future?
Nowadays we live in a world of data, and it’s the dream of companies to take value from their huge, ever-growing, internal databases. Maybe there’s a big hype around the data science field, but I think we’ll be forced to find ways to process data at ever-increasing speeds.
There are two aspects of this trend: going forward, we are technically already in a world of computational resources spread globally, where the question “do we have enough computational power?” no longer has meaning – because we can always find enough CPUs. But we should carefully consider that organizing computations and developing algorithms to use efficiently, cost-effectively and performantly on today’s distributed architectures is a bigger challenge than it may seem. This will lead, in my opinion, to new possibilities and maybe new discoveries.
On the other side, expectations are going crazy – and maybe we are, too. We want to process more data, we want to go deeper in the analysis (from correlations we’ve arrived at learning, and we’re trying to get our algorithms to reason) and we should make it faster and cheaper than before. They’re a good set of contradictory requirements that I think will animate more investigations in the near future.
How are you planning to leverage Intel® technologies in your work?
As I said earlier, right now I’m working in machine learning and data processing. For this reason, I’m particularly interested in anything Intel does in the field of AI and HPC. We hunger for performance and Intel always gives us tempting dishes.
On our project we are handling computing-intensive tasks, so we investigated the power of Intel® AI DevCloud to obtain better performance and run experiments more efficiently and effectively. I’m a mathematician, so in this set of experiments we’re going to run, I’m interested in the evaluation of accuracy and stopping algorithms. Having the opportunity to run lots of experiments really quickly is the starting point to obtain fast, reliable results.
What advice do you have for women considering the technology field?
That is not an easy question, giving advice is something I find to be really hard. My own lifestyle rule has always been: “follow your dreams.” If you think it’s not easy to take part in a meeting of mostly men, or to be a team’s only woman, keep in mind that great things never come from comfort zones.
Want to learn more about the Intel® Software Innovator Program?
Francesca Tosi is part of the Intel Software Innovator Program, a worldwide developer program for innovative, forward-thinking technologists. Learn more about the Intel Software Innovator program.
For more information, contact the program manager, Wendy Boswell.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804