<< back

One page

Below is the one page version (also available in PDF). There is also the full version (more up to date).

By the way, you should follow me on twitter, here.


Need some Ruby/Rails/Java guidance?

Full CV

Pedro Miguel G.D.S. Assunção
Contact Information
Professional Experience
ZenBlast, LDA - Portugal

Co-founder and jack-of-all-trades
Since April 2013
Multiple projects

New company, same ideas and projects as before (see previous entry);

Started development of employee management and accountancy modules for our modular invoicing software VOS.

Inforviegas, LDA - Portugal

Co-lead Software Architect and Developer
January 2012 - March 2013
Multiple projects

Web-based Ruby on Rails website to manage the cultural and sports group of a major Portuguese bank (BPI);

Invoicing application "VOS", which includes modules for accounting, stocks, salaries, medical clinics management, and more;

Development of a dropzone management software application, to handle schedules and passenger manifest at any parachuting operations site;

Development of other custom-made software applications and websites.

Tools and Technologies
Java, Hibernate ORM, Spring framework, TestNG, Mac OSX, PostgreSQL, H2, SQL, Javascript, CSS, HTML, XML, Eclipse IDE, Ruby on Rails, RubyMine, Mercurial, Maven
TomTom Int. B.V. - Amsterdam, Netherlands

Junior/Medior/Senior Software Developer
March 2009 - December 2011
PND Content Server and Map shop release system

Maintaining the old map shop release system and PND content server (i.e. home server) and working on developing the next generation of the same products.

Tools and Technologies
Java, Hibernate ORM, Spring framework, JUnit, JBoss application server, Eclipse IDE, Mac OSX, MS SQLServer, MySQL, SQL, Javascript, CSS, HTML, XML, Subversion, Git, Maven
January 2009 - February 2009
Mobile Location Based Services

Short stop through the Mobile department. Though only a month, this project provided some insight on location based services, namely routing and geocoding of addresses, and development on mobile platforms (Midlets). Went back to the old department due to some company internal project restructuring.

Tools and Technologies
Java, Hibernate ORM, Spring framework, JUnit, JBoss application server, Eclipse IDE, Linux, Mac OSX, XML, Subversion, Git, Maven, J2MEPolish, J2ME, Ant
November 2006 - January 2009

MapShare back-end server

One of the original developers of TomTom MapShare technology's back end server. This system is responsible for the storage, processing, and distribution of map and POI (points of interest) corrections to it's more than 20 million users. This was TomTom's most important project in 2007.

Adopting the Scrum agile methodology from the start, was responsible for the design and implementation of the entire solution (backend server and a web interface where TomTom content moderators can manage incoming corrections), along with 2 other team members.

As with all server-side projects, the solution had to tackle the usual performance and scalability challenges, as well as the immense amounts of handled data. The answers to these issues were translated into the following:

  • Database tweaking - Some particular parameters had to be tweaked in order to make the most out of our database cluster.
  • Read/Write connection splitting - To take advantage of a cluster (master/slave replication) this had to be implemented. In this case, at the application level (custom data source RW splitting module).
  • Connection data streaming - Some tweaking had to be performed in order for the database to stream the results to the application, instead of building it up in memory on the database driver. We went one step further and implemented streaming from the DB directly to the HTTP clients (minimal memory footprint on the server).
  • Data distribution caching - All the optimizations on a database cluster will eventually prove less fruitful than a proper caching strategy so we also implemented this, though using an out-of-the-box solution.

Was also responsible for the creation of other smaller tools (testing, load/stress runs, etc.), some Python scripts for performance measurement and charting of results, and a maven plugin for the generation of a SQL schema from Hibernate annotations.

Tools and Technologies
Java, Hibernate ORM, Spring framework, JUnit, JBoss application server, Eclipse IDE, Linux, MySQL, SQL, Javascript, Openlayers, CSS, HTML, XML, Python, Squid proxy, Subversion, Git, JMeter, Maven

MapShare reporting tool

Sole responsible for the design and implementation of a data aggregation and reporting tool for the MapShare backend server's data. This project was born from the management's need to monitor and get information about the current status of the project, namely the number of users sharing corrections, what kind of devices are sharing data, how much data is being shared, what type of corrections are more common, etc.

This tool consisted on scheduled data aggregators, that retrieved information from the live MapShare system and stored it in a processed/aggregated form, and a web interface - where management could see the aggregated data and generate Excel reports from it.

Tools and Technologies
Java, Hibernate ORM, Spring framework, JUnit, JBoss application server, Eclipse IDE, Linux, MySQL, SQL, CSS, HTML, XML, Subversion, Git, Maven

Safety camera moderator's web console

In the same team that developed MapShare, was responsible for the design and implementation of a new (web) version of the TomTom safety cameras moderation tool. This tool allows TomTom content moderators to manage safety (speed) camera information, basically deciding what will end up in user's devices.

This project relied intensively on Ajax, around an openlayers map interface, when moderators could view, change, import, and export information on safety cameras that was previously gathered from several sources.

Tools and Technologies
Java, Hibernate ORM, Spring framework, JUnit, JBoss application server, Eclipse IDE, Linux, MySQL, SQL, Javascript, Openlayers, CSS, HTML, Subversion, Git, Maven
Infosistema - Lisboa, Portugal
February 2006 - November 2006
Associate Consultant

One of the developers responsible for the redesign of the home banking website of one of the company’s clients (Santander/Totta Bank). This included new features, according to new services offered by the bank to its customers, a new web layout, and the integration with an existing CMS.

Also responsible for the development of a new web application, targeting customer investments - for both home users and companies. The development of this application included integration with one of Infosistema’s core products, a connector to retrieve stock quotes from Reuters.

Tools and Technologies
Java, SQL, JSPs, Servlets, HTML, CSS, Javascript, Ajax, Oracle, Eclipse IDE, Netbeans IDE, JCompiler IDE, CVS, WinMerge
Sinfic - Lisboa, Portugal
June 2005 - January 2006
Junior Programmer

One of the three core developers of the Republic of Angola’s voting census software applications, put into production in November of 2006. More than 7.5 million of Angola’s inhabitants registered themselves using the new electronic census framework.

Other software applications developed included one to allow an Angolan province’s govern (Huila) to keep a register of the region’s farms and crops, as well as some other in-house software products.

Tools and Technologies
C#, Visual Basic, SQL, Windows forms, Canon digital camera API, Microsoft fingerprint reader driver and API, Microsoft SQLServer, Microsoft SourceSafe, Microsoft Visual Studio 2005
Freelance - Centro Social de Palmela
April 2005 - May 2005

Design and implementation of a website for the Social Centre of Palmela (http://www.cspalmela.org), a non-profit social care institution, comprised of several child-oriented services, for children older than 3 months, like hobby workshops, psychological support, etc. The PHP content management system Joomla (previously known as Mambo) was used for the implementation of the website (http://www.joomla.org).

Tools and Technologies
Mambo content management system, PHP, CSS, HTML, Javascript
Freelance - AnimePaf
March 2005 - April 2005

Design and implementation of a website for the Anime – Projecto de Animação e Formação organization (http://www.animepaf.org) using the Post-Nuke content management system (http://www.postnuke.com).

Tools and Technologies
Post-nuke content management system, PHP, CSS, HTML, Javascript
Professional Training

Geographic information systems course “Introduction to ArcGIS (9.x) level II”.

Core Spring 2.0, with Alef Arendsen from Interface 21

Major in Computer Science
2002 - 2005

Major in Computer Science Engineering - Management Area, at Escola Superior de Tecnologia de Setúbal. Final score of 12 (0-20).

The final year project consisted in the creation of an ORPGs (On-line Role Playing Games) development framework. Also, a paper about the idea was submitted (and accepted), and a poster was presented, at the Level Up 2003 conference (International Conference on Digital Games Research) in Utrecht, the Netherlands. This project achieved a final score of 17 (0-20).

BsC in Computer Science
1998 - 2002

BsC in Computer Science Engineering - Management Area, at Escola Superior de Tecnologia de Setúbal. Final score of 12,41 (0-20).

Final year project for the BsC in Computer Science Engineering, which consisted in the creation of a virtual community, for Portuguese martial artists, and all required services like news, events, discussion forums, information directories, etc. This project achieved a score of 20 (0-20).

Several projects developed using the Java programming language, including:

  • Implementation of lexical and syntactic analyzers;
  • Software applications based in Enterprise Java Beans;
  • Agent and multi-agent based systems;
  • Implementation of artificial intelligence algorithms.

Programming and development in Linux, mostly in C/C++, using multimedia development technologies (for example, SDL – http://libsdl.org and OpenGL).

Development of software projects using database management systems, including Oracle, MySQL and SQLServer.

Design of various websites using server side technologies like Active Server Pages (ASP), Java Server Pages (JSP), Servlets, PHP Hypertext Preprocessor (http://www.php.net). Good understanding of most Web technologies (HTML, Javascript, Cascading Style Sheets (CSS), etc.).

Graduation in Electronics
1995 - 1998

High school graduation in the Electrotechnic/Electronics course at Escola Secundária Manuel Cargaleiro. Final score of 12,40 (0-20).

MaDlabs - Multimedia and DB Laboratories
1999 - 2005

Founding member of this research group from the Escola Superior de Tecnologia de Setúbal school, having developed several projects, including the new group website (no longer online), the creation of a website for the Naval Club of Lisboa and the development of a support platform for the group teachers.

One of the main administrators of the group's several Linux web, mail, and ftp servers, also providing support in the management of the group's currently used groupware platform (GForge – http://www.gforge.org).

  • Excellent written and spoken English skills. Daily usage, for research and development purposes, of English technical manuals, books and magazines;
  • Rudimentary written and spoken French and Spanish skills.
  • Skydiving;
  • Rock climbing;
  • Cycling (downhill);
  • Body board.
Additional Information
  • Driver's license (Portuguese AP Class – Motorcycles) issued in 31/11/2005;
  • Driver's license (Portuguese B Class – Cars) issued in 04/01/2002.

Available on request