My name is Federico Tomassetti.

My goal is to provide better tools to people to perform their work. I believe that languages are the most important tools because we use them to think about our ideas, communicate and express them.

Logo of Strumenta

I have founded the consulting studio named Strumenta. If you are interested in working with me visit that page or write at

To me, programming is a way of looking at things.

As a painter understand the world through his art, I use programming as a way to reason about phenomena and model them.

Software should support our own skills

I believe that software is a tool which improve so many of our activities: by providing software we can open so many possibilities.

People have unique skills and competencies and software should be there to complement them, to help them performin analysis quickly, to help them visualize ideas, to run checks and calculations for them. So that people can focus on using their abilities to provide more value.

To me building software means to provide tools to people.

Programming for a while

I started programming when I was 8 years old.

When my father died they brought home his computer from the office together with some old manuals.

I never stopped since.

Learning wherever I can

I was born in the north of Italy, in Turin.

I had the possibilities to live in Germany (Karlsruhe and Munich), Ireland (Dublin) and Lyon (France).

I also worked with people from all around the world and I was employed in two American companies.

I have learnt a lot from different points of views.

Much time on books…

  • I got my PhD in Software Engineering by Politecnico di Torino
  • During my master I spent 2 semesters at Karlsruhe Institute of Technology
  • During my PhD I won a DAAD research grant and spent 6 months at Fortiss, an Institute of the Technische Universität München

…without forgetting to practice

I have been lucky because many companies gave me a possibility to learn and improve.

I particularly enjoyed my time at TripAdvisor and Groupon because I have learned how to deliver high quality software while working at an extremely fast pace.

For details on my working experience you can look into my CV or my LinkedIN profile.

And other stuff

  • Wrote a book on building languages
  • Wrote a book on programming for grad students and I am a technical reviewer for Manning, Pragmatic Bookshelf and Packt
  • I have given a few talks both to academic and technical conferences
  • I have started or contributed to tens of open-source projects with a lot of different technologies. For me it is great to keep working on different skills, to meet new interesting people and to contribute to make a few users happy. Take a look at my GitHub profile or ask more: I am always more than happy to talk about my projects!

Want to know more?

I know, finding technical help is not the easiest thing.
Hopefully I can be the right person to design and implement your projects.

If not I will try my best to give you the right directions and help you find who can help you.