Pedro Miguel G.D.S. Assunção

Drover ( - Portugal/UK - Since June 2018
Software Architect and Tech Lead

Making sure the code base is consistent across all development teams, championing best practices and design strategies. Introducing new ways to make developers' lives easier by procuring tools for all aspects of code health, security and performance. Architecture and prototyping of micro-services with the long term goal of splitting up code into more manageable and testable pieces.

Drover ( - Portugal/UK - December 2017 to June 2018
Tech Lead / Senior Software Developer

Tech Lead and Software Developer at the Drover Lisbon office. Stack includes React/Redux, Ruby on Rails, Heroku, Elastic Search, and many more shiny things. - Portugal - August 2017 to December 2017
Senior Ruby/RoR Developer

Supporting existing and developing new features for Wordans' online marketplace:



BOLD International - Portugal - November 2015 to August 2017
Senior Ruby on Rails developer
Portugal Telecom

Development of various internal systems (and support gems) with RoR, using MySQL, RabbitMQ. Everything extensively based on automated testing, pair programming, and git blaming :)

Maintenance of the identity and access management systems responsible for providing systems accesses for the entire organization. Development of solutions for those same systems.

Tools and Technologies
Ruby on Rails, Jenkins, Git, Emacs, MySQL, HTML, Json, Elastic Search, RabbitMq, React JS, PubSub, Mina, Capistrano



ZenBlast, LDA - Portugal - January 2012 to November 2015

Co-founder and jack-of-all-trades
Multiple projects

Ruby on Rails platform 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 - March 2009 - December 2011
Senior Software Developer
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
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

TomTom Int. B.V. - Amsterdam, Netherlands - November 2006 - January 2009

Junior/Medior Software Developer
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
Santander Bank website's modernization

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 Developer
Republic of Angola's Voting Census Software

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
Website design and implementation

Design and implementation of a website for the Social Centre of Palmela (, 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 (

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

Design and implementation of a website for the Anime – Projecto de Animação e Formação organization ( using the Post-Nuke content management system (

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 – 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 ( 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 –



  • 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.



  • Sailing
  • Paragliding
  • Former wingsuit pilot and skydiving instructor
  • Guitar and drums


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