Thomas Wuillemin, Developer in Limassol, Cyprus
Thomas is available for hire
Hire Thomas

Thomas Wuillemin

Verified Expert  in Engineering

Back-end Developer

Location
Limassol, Cyprus
Toptal Member Since
October 2, 2021

Thomas is a seasoned senior back-end developer and architect. In the past twenty years, he had the opportunity to work in various environments. His experience allows him to offer the most suitable solution matching business requirements, robustness expectations, and stakeholders' timelines. Coming from the Java world, Thomas nonetheless favors a pragmatic approach regarding technical decisions.

Portfolio

RINS
JavaServer Faces, Java, Spring, Amazon Web Services (AWS), Apache Tomcat...
UxxU
Firebase, PostgreSQL, Node.js, Python, Kotlin, Back-end, RDBMS, Database Design...
Client Under NDA
Go, PostgreSQL, Docker, Back-end, Team Leadership, RDBMS, SQL, Database Design...

Experience

Availability

Part-time

Preferred Environment

Java, Kotlin, Go, SQL, NoSQL, PostgreSQL, MongoDB

The most amazing...

...achievement I've accomplished was leading a team that was in charge of building a complete new back end that slashed data access time from hours to seconds.

Work Experience

JavaServer Faces Developer

2023 - 2024
RINS
  • Maintained and upgraded an online application critical for the client's daily activity.
  • Enhanced performances in the most common parts by a factor of 5 to 10.
  • Migrated over 15-year-old application features to more modern technological choices (reporting, database, etc.).
Technologies: JavaServer Faces, Java, Spring, Amazon Web Services (AWS), Apache Tomcat, PostgreSQL, Hibernate, Amazon RDS, Amazon S3 (AWS S3)

Senior Back-end Developer

2020 - 2021
UxxU
  • Migrated the database from Firebase with NoSQL to SQL with PostgreSQL, reducing infrastructure costs and running real-time BI.
  • Imported numerous external data in the core database, some coming from structured sources and others from free-form sources.
  • Developed tools to support the data-management team activity by providing insights about data issues and business-related inconsistencies.
Technologies: Firebase, PostgreSQL, Node.js, Python, Kotlin, Back-end, RDBMS, Database Design, REST, Go, TypeScript, Google Cloud

Back-end Team Leader

2019 - 2020
Client Under NDA
  • Developed a complete back end to support the company's main product according to the pre-sale team's expectations.
  • Designed the back end as a microservice architecture and managed these services deployed in multiple countries.
  • Added missing cryptographic functions in Go, porting from BouncyCastle with Java to idiomatic Go.
  • Collaborated closely with the R&D team to integrate their prototypes without compromising the robustness of the system.
  • Led the back-end development team composed of two intermediate developers and myself.
Technologies: Go, PostgreSQL, Docker, Back-end, Team Leadership, RDBMS, SQL, Database Design, Python, Kubernetes, Amazon Web Services (AWS), Amazon RDS, Amazon EC2, Amazon Route 53

Senior Back-end Developer

2018 - 2019
XM
  • Tracked and fixed rough edges in the company's back end. The back end is a monolith supporting four million users and millions of daily transactions.
  • Added automated and on-demand reporting on financial assets to support the dealers' office.
  • Migrated stand-alone tools such as the VIP card into the back end, including data migration.
  • Mentored and validated the work of four junior/intermediate co-workers and offered numerous short training to the entire team of 16 people on advanced topics during the weekly meetings.
Technologies: Java, Oracle, Jira, RDBMS, REST, Team Leadership, Amazon Web Services (AWS), Amazon EC2

Back-end Team Leader

2016 - 2018
VizExplorer
  • Developed the new core data server from whiteboard to production, supporting all other company's tools.
  • Lowered the data access time from hours to seconds—or even milliseconds—compared to the previous data server generation due to clever use of smart caching and immutable data workflow.
  • Cooperated with the client configuration teams to ensure a more straightforward configuration of the data server to match each client's requirements, allowing client configuration teams to build a new configuration in hours instead of sometimes weeks.
  • Managed the team of back-end developers with up to six people, owning planning organization and animating the daily and bi-weekly meetings. I also directly managed two junior developers, performing their yearly reviews.
Technologies: Java, Kotlin, PostgreSQL, H2, Oracle, Team Leadership, RDBMS, Database Design, Back-end, Apache Maven

Senior Mobile Developer

2016 - 2016
Haibu
  • Developed an Android application targeted at employees in mobile phone stores. The application allowed the entire sales workflow to be performed directly with the client in the shop without having to sit at a counter.
  • Integrated the application with the company's existing services: CRM, ERP, Stocks, and more.
  • Hardened the application so that it was usable even without a network connection.
  • Mentored and managed two developers, one dedicated to security and the other one to the UX.
Technologies: Java, Android, Team Leadership

Senior Back-end Developer

2014 - 2016
Emergya
  • Restored the sources and added new features to the GIS portal of the Chilean Department of Energy needed to deal with changes in the legal framework for energy producers. The challenge was finding the original sources and build them.
  • Created a web application for the National Office of Mining in Chile, allowing private users to declare and follow their mining exploration permits.
  • Upgraded the set of tools—C programs—for computing the VAT used by the Taxes Department of Chile. Some of these have been left unchanged for more than ten years. The compiler version was updated, and sources were deeply cleaned.
  • Managed and mentored a team of three developers. Emotionally guided the team, particularly throughout the first listed project due to its overwhelming complexity for junior developers.
Technologies: Java, JavaServer Faces, C, GIS, Back-end, RDBMS, Team Leadership

Senior Full-stack Developer

2014 - 2014
Innovand.io
  • Developed a web application to connect dentists and patients looking for a dentist in the region of Santiago de Chile. The application took care of specialty, planning, and appointments.
  • Built a service and its database allowing a company to quickly and easily generates invoices in Chile. The need was due to a complete change of the legal framework involving a particular data format.
  • Mentored co-workers on software architecture and design.
Technologies: Ruby, Ruby on Rails 4, Database Design, RDBMS

Infrastructure Project Manager

2012 - 2013
Euriware
  • Supervised and reported the progress of the infrastructure projects portfolio for a major client. The portfolio had between 70 and 100 projects.
  • Prepared and rolled out a major upgrade of the point-of-sale software for a client covering 310 stores worldwide.
  • Virtualized the SAP infrastructure of a new client and migrated it from its on-premise architecture to our Tier 3+ datacenter.
Technologies: VMware, Microsoft PowerPoint, Microsoft Word, Microsoft Excel

Information System Manager

2010 - 2012
Areva Mining Business Unit
  • Supervised and optimized the set of software used by the business services ensuring renewal and internal billing with a yearly budget of around two million euros.
  • Designed, contracted, and deployed the so-called mining information system, allowing all services to share information around an everyday basis of data and software with a budget of around four million euros.
  • Enhanced data security by counseling end users and helping them to define their requirements in confidentiality, availability, and integrity.
Technologies: RFPs, Request for Information (RFI), Architecture, Product Licensing

Project Manager

2000 - 2010
Euriware
  • Integrated the COTS Mega GRC to the AREVA internal audit's profit replacing their previous in-house support tool. The deployment included the migration of historical data.
  • Helped, as an interoperability expert, to define the master plan for the integration of various information systems within means of France’s CBRN passive defense.
  • Created a method for managing interoperability between France’s Ministry of Defense information systems using the ebXML norm from UN/CEFACT. I led the project team of two methodological experts and three developers.
  • Conceived, managed, and deployed the project GRANITE targeted to process military intelligence. During this 2-year project, I led the development team consisting of up to 18 people.
Technologies: Java, C++, Back-end, Database Design, RDBMS, Team Leadership

VizApp

A REST-based data-server built to provide fast and secured access to raw customer data from the various business intelligence solutions sold by the company.

The company used an existing data server, but it could not match the requirements from the BI tools teams, and it was neither possible to make it evolve smoothly.

Besides leading the team that built the solution, I designed—from the drawing board—the VizApp data server to handle the following requirements:
- Modular to be adaptable to each customer with a microlith architecture
- Fast data delivery: As some queries in raw client data may take a few hours we added a caching layer—in fact, a tree of dependent caches— scheduled and security-aware
- Security aware, each customer had its own security rules, so a very configurable solution to accommodate almost any case. Also, we included a security-explanatory service to help teams perform the configuration, understanding the impact of their security rules.
- Modern technological stack: Java and Spring Boot.

GRANITE NG

GRANITE is a software dedicated to France's Special Operations Forces (BFST) that allowed them to gather, analyze, and communicate military intelligence on the field.

GRANITE was built as an integrated suite of tools on top of a SQL database. Although this was SQL-based, users' data were presented as objects, and the business data model included inheritance. The main tools of the application were the data visualization tools offering users multi-dimension analysis such as geographical (GIS) and temporal, causal (exploration of relations in the data's graph).

The primary hard point of the project was that the software was to be used (and was used!) in the field by small remote teams without IT support or even basic infrastructure.

The critical success factor was the deep involvement of end users in all project stages, from the first mockups up to QA. Some details may be too small to fit in a public contract but may strongly impact the usability of the final product and its acceptance.

I was the technical leader on the project, and I was also personally in charge of the interoperability tool.

Migration from Firebase to SQL

My client was using Firebase (one of Google's NoSQL databases) to store all its business data. Although Firebase has some nice advanced features, like client-side caching, they were not used. Instead, Firebase was used to "mimic" a more classical relational database storage.

Used this way, Firebase has limitations such as no advanced query (hence no real BI), orphaned data, etc. Moreover, Firebase is invoiced by access (read/write of an object), and when the database stores millions of objects, prices tend to rise.

My work was:
- Make tools to analyze existing data models, in particular historical data.
- Detect inconsistencies and orphans and, in relation with the data-management team, either create an automatic fix, if possible or provide an easy way to fix them manually.
- From the analysis, create a standard SQL model that can host the data (the final model was around 156 tables).
- Make a migration tool.
- Update the back end.

An important part of my work was the coordination between the data management team, the business owner, and the UI team.

The migration was done in 2 hours and was a complete success matching all the objectives. In the long run, the client was very satisfied with the outcomes.
2008 - 2008

Master's Degree in Political Science

University Jean Moulin — Lyon III - Lyon, France

1998 - 2000

Engineer's Degree in Computer Science

3IL - Limoges, France

1996 - 1997

Bachelor's Degree in Industrial Process Regulation

ISAII - Arles, France

NOVEMBER 2019 - PRESENT

MCP Artificial Intelligence

Microsoft

DECEMBER 2018 - PRESENT

Programming with Google Go Specialization

UC Irvine

JUNE 2018 - PRESENT

Deep Learning

DeepLearning.ai

MAY 2018 - PRESENT

Machine Learning

Stanford University

DECEMBER 2012 - DECEMBER 2015

VMware vSphere 5

VMware

SEPTEMBER 2011 - PRESENT

ITIL V3 Foundation

Exin

Libraries/APIs

Node.js

Tools

IntelliJ IDEA, GoLand, GIS, Apache Maven, DataGrip, Jira, VMware, Microsoft PowerPoint, Microsoft Word, Microsoft Excel, Apache Tomcat

Frameworks

Spring Boot, JavaServer Faces, Ruby on Rails 4, Spring, Hibernate

Storage

RDBMS, NoSQL, PostgreSQL, H2, MongoDB, Google Cloud, Amazon S3 (AWS S3)

Languages

Java, Kotlin, SQL, Go, C, TypeScript, Python, Ruby, C++

Paradigms

Database Design, REST

Platforms

Windows, Linux, Firebase, Docker, Oracle, Android, Kubernetes, Amazon Web Services (AWS), Amazon EC2

Other

Computer Science, Back-end, Architecture, Team Leadership, Security, Industrial IT, Machine Learning, Artificial Intelligence (AI), Virtualization, ITIL V3 Foundation Certified, RFPs, Request for Information (RFI), Product Licensing, Amazon RDS, Amazon Route 53

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring