Thomas Wuillemin, Back-end Developer in Limassol, Cyprus
Thomas Wuillemin

Back-end Developer in Limassol, Cyprus

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.
Thomas is now available for hire

Portfolio

  • UxxU
    Firebase, PostgreSQL, Node.js, Python, Kotlin, Back-end, RDBMS...
  • Client Under NDA
    Go, PostgreSQL, Docker, Back-end, Team Leadership, RDBMS, SQL...
  • XM
    Java, Oracle, Jira, RDBMS, REST, Team Leadership, AWS, Amazon EC2

Experience

Location

Limassol, Cyprus

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.

Employment

  • 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, AWS, AWS 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, 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, 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, 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

Experience

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

Skills

  • Languages

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

    Spring Boot, JavaServer Faces, Ruby on Rails 4
  • Paradigms

    Database Design, REST
  • Storage

    RDBMS, NoSQL, PostgreSQL, H2, MongoDB, Google Cloud
  • Other

    Computer Science, Back-end, Architecture, Team Leadership, International Security and Defense, Industrial IT, Machine Learning, Artificial Intelligence (AI), Virtualization, ITIL V3 Foundation Certified, RFPs, RFI, Product Licensing, AWS, AWS RDS, Amazon Route 53
  • Tools

    IntelliJ, GoLand, GIS, Maven, DataGrip, Jira, VMware, Microsoft PowerPoint, Microsoft Word, Microsoft Excel
  • Libraries/APIs

    Node.js
  • Platforms

    Windows, Linux, Firebase, Docker, Oracle, Android, Kubernetes, Amazon EC2

Education

  • Master's Degree in Political Science
    2008 - 2008
    University Jean Moulin — Lyon III - Lyon, France
  • Engineer's Degree in Computer Science
    1998 - 2000
    3IL - Limoges, France
  • Bachelor's Degree in Industrial Process Regulation
    1996 - 1997
    ISAII - Arles, France

Certifications

  • MCP Artificial Intelligence
    NOVEMBER 2019 - PRESENT
    Microsoft
  • Programming with Google Go Specialization
    DECEMBER 2018 - PRESENT
    UC Irvine
  • Deep Learning
    JUNE 2018 - PRESENT
    DeepLearning.ai
  • Machine Learning
    MAY 2018 - PRESENT
    Stanford University
  • VMware vSphere 5
    DECEMBER 2012 - DECEMBER 2015
    VMware
  • ITIL V3 Foundation
    SEPTEMBER 2011 - PRESENT
    Exin

To view more profiles

Join Toptal
Share it with others