LinkedIn profile: http://www.linkedin.com/in/thiagohp
Online CV: http://www.arsmachina.com.br/thiago/curriculumvitae
CV at Lattes Platform (more detailed): http://lattes.cnpq.br/5165183567237155
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 (www.pronutricionista.com.br) by myself, including setting up its Linux server, was and still is a great experience for me.
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.
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.
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.
May 2008 — Present
Consultancy work in Java, software architecture, design patterns and good practices in software development. I developed and released Pró Nutricionista (www.pronutricionista.com.br), 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.
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.
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.
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).
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.
June 2004 — July 2004
I wrote the textbook and taught a short introductory course on the Java programming language, including basic Object-Oriented Programming concepts.
October 2002 — June 2003
I worked developing graphical user interfaces in Java Swing.