Ars Machina
Software development isn't just technique, it is an art too

Thiago H. de Paula Figueiredo

Currently living in Belo Horizonte, MG, Brazil

LinkedIn profile:
Online CV:
CV at Lattes Platform (more detailed):


I'm currently living in Belo Horizonte, Minas Gerais, Brazil.


I'm passionate about software development, Web standards, Linux, open source, solving problems and learning new things. In every project I work, I always try to have its big picture and be able to work in every aspect of it, from product decisions to technical details. Designing, developing and releasing a full website ( by myself, including setting up its Linux server, was and still is a great experience for me.


  1. Master's degree (M.Sc) in Computer Science, Universidade Federal de Minas Gerais, 1998 - 2002
  2. Bachelor's degree (B.Sc) in Computer Science, Universidade Federal de Minas Gerais, 2003 - 2005


I speak, read and write Portuguese and English fluently.

Work experience

  • Apache Foundation

    Apache Tapestry committer and PMC member

    Feb 2009 Present

    I am a committer of the Apache Tapestry project, a Java Web framework, since February 2009 and PMC (Project Management Committee) since October 2009. I wrote the initial URL rewriting support and some message translations.

  • Faculdades Pitágoras

    Post graduate course coordinator and professor

    May 2009 Present

    I am the coordinator of Faculdades Pitágoras's Software Engineering with Emphasis in Java (Especialização em Engenharia de Software com Ênfase em Java), a latu sensu post graduate course. I am responsible for tutoring the students, including their projects used for the grading at the end of the course. I also teach the Java and Spring Framework classes.

  • Sílex Sistemas Ltda.

    Software developer and consultant

    Nov 2008 Jul 2009

    Partnership in the designing and development of a Web management software for small to medium companies using technologies such as Java, Tapestry 5, Hibernate, Spring Framework, and Prototype Framework.

  • Developer, consultant, and instructor in software development

    Self-employed at Ars Machina Tecnologia da Informação Ltda.

    May 2008 Present

    Consultancy work in Java, software architecture, design patterns and good practices in software development. I developed and released Pró Nutricionista (, completely by myself, including setting up the server using Ubuntu Linux. It provides an easy-to-use website builder, social bookmarks, and forums for nutritionists. I have also have been developing the Ars Machina project, a collection of open source packages written in Java. Actually, I'm writing and teaching two courses about Tapestry 5, one for beginners, one for advanced users.

  • Software developmer and architect, development team leader and course instructor

    Eteg Tecnologia da Informação Ltda , Belo Horizonte, Brazil

    February 2006 April 2008

    Most of my time I work with software development and architecture, mainly web development using Java, Hibernate, Spring Framework, Tapestry 5, Struts, Acegi, and SiteMesh. I was the development team leader in some projects. The other part of my time was devoted to being a instructor of Eteg's Java, Object-Oriented Programming, Spring, Hibernate, UML, Struts, Velocity, and Apache Ant courses. I wrote the entire Velocity textbook and most of the Hibernate and Spring Framework ones. I was also responsible for reviewing and sometimes revising and improving the Eteg’s courses textbooks.

  • Software development

    School of Chemistry, University of Southampton, Southampton, United Kingdom

    October 2005 January 2006

    I wrote a webservice frontend to the InChi software and did some mantainance work on a Java Swing chemical experiments helper software for use in Tablet PCs.

  • Master's degree student

    Computer Scince Deparment, Universidade Federal de Minas Gerais, Belo Horizonte, Brazil

    April 2003 April 2005

    My MSc project was the design and developmento of MultiMAD, a rapid application development and prototyping tool focused on applications for mobile devices such as PDAs and mobile phones. It provides a graphical interface at which the user specifies an application and the tool generates source code that implements the application’s user interface. MultiMAD also generates a prototype implementation of the application logic, allowing the testing of an application prototype without leaving the tool and without writing any code. I co-wrote five published scientific papers, including Malicious Node Detection in Wireless Sensor Networks, 18th International Parallel and Distributed Processing Symposium (IPDPS'04).

  • Software developer

    Eteg Tecnologia da Informação Ltda, Belo Horizonte, Brazil

    August 2004 November 2004

    I developed Sinon, a textual data extraction tool written in Java. It is driven by an XML file that specifies the path to the page or pages that contain the desired data and how to extract it. I also developed part of a website that used Sinon to collect its data.


  1. T.H.P. Figueiredo, A.A.F. Loureiro (2005) MultiMAD: uma ferramenta multimodelo de desenvolvimento de aplicações para dispositivos móveis, Tool Exhibition in 23rd Brazilian Symposium on Computer Networks, May 9-13, Fortaleza, Brazil.
  2. W.R.P. Júnior, T.H.P. Figueiredo, H.C. Wong. A.A.F. Loureiro (2004) Malicious node detection in wireless sensor networks. Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), April 26-30, Santa Fe, United States.
  3. W.R.P. Júnior, T.H.P. Figueiredo, H.C. Wong. A.A.F. Loureiro (2004) Detecção de nós maliciosos em redes de sensores sem fio [Malicious node detection in wireless sensor networks], 4th Workshop on Security of Computing Systems in 22nd Brazilian Symposium on Computer Networks, May 10-14, Gramado, Brazil.
  4. F.L.P. Duarte-Figueiredo, V.R. da Silva, T.H.P. Figueiredo, A.A.F. Loureiro (2003) Desempenho do GPRS: defininindo thresholds para políticas de QoS [GPRS performance: defining thresholds for QoS policies], 5th Brazilian Workshop on Wireless Comunications and Mobile Computing, October 27-30, São Lourenço, Brazil.
  5. T.H.P. Figueiredo, R.R.P. Couto, M.S. dos Santos, A.A.F. Loureiro (2002) Implementação e Avaliação de Um Modelo de M-Commerce [Implementation and evaluation of an M-Commerce model], 4th Brazilian Workshop on Wireless Comunications and Mobile Computing, October 23-25, São Paulo, Brazil.