Lionel Guilhou

Web & .NET Developer / Software Architect / Freelance

Microsoft Certified Solution Developer

Toulouse Area, France / lionel@guilhou.net

🇫🇷

Experiences

January 2023 - December 2023 Gamatomic

Developer / Software Architect / Webmaster

  • Migration from ASP.NET Framework 4.8 to .NET 8.0, with corresponding updates and optimizations using the various new features (ReadOnlySpan, ViewComponents, ...).
  • YouTrack-Discord integration to track new issues and their updates.
  • Replacement of GruntJS and LESS with GulpJS and SASS. Modernization of the Javascript code, notably replacing jQuery with native code, and of the CSS code (oklch, containers, ...).
  • Migration of the Azure virtual machine (Windows Server 2012 to 2022 and new resource management platform).
  • Design and development of evolutions and new features, coordinating with the editorial team.
  • Remote
  • TDD
  • DDD
  • .NET 8.0
  • C#
  • ASP.NET MVC
  • Azure DevOps
  • SQL Server
  • Git
  • xUnit
  • HTML5
  • SCSS
  • TypeScript
  • Gulp
March 2022 - November 2022 Banque Populaire Occitane

Developer / Software Architect

  • Evolutions on a WebForms application for managing savings account transfer requests.
    Development of a document management and emailing module to replace the letters sent via the postal service.
  • Redesign of an MVC5 budget monitoring application for all company departments.
    Development of new features: allowing departments to directly input their budget revisions during the year, validation workflow for managers and automation of the export to the final accounting system (NovaBank).
  • Rewrite (WebForms to MVC5) of an application for monitoring declarations of losses from departments and agencies.
    Validation workflow from the creation of a declaration to the generation of the accounting entries, and development of a similar module for declarations of profits.
  • Participation in the working group to define a new technical platform for future projects (.NET7 + Angular, development methods, ...)
  • Remote
  • TDD
  • .NET Framework
  • ASP.NET MVC 5
  • C# 9
  • Entity Framework 6
  • Git
  • xUnit
  • HTML5
  • SCSS
  • TypeScript
  • Gulp
May 2021 - July 2021 Careline

Developer / Software Architect

  • Development of a patient monitoring module (backoffice + APIs), integrated into a new infrastructure being developed in parallel for a health monitoring system.
  • Integration of analysis and development tools (NDepend, ReSharper, NCrunch)
  • Implementation of unit, functional and integration tests.
  • Analyzes and recommendations on architecture, design and coding conventions.
  • Remote
  • TDD
  • MongoDb
  • .NET Core
  • ASP.NET Core
  • C# 9
  • Git
  • xUnit
January 2019 - March 2021 Omnispares

Developer / Software Architect

  • Takeover, maintenance and evolution of a multi-service platform for aeronautical companies (communication with and between partners, optimization of production chains, launch and tracking of purchase/exchange/repair procedures)
  • Development of new modules (partner ads, information feeds, ...).
  • Multiple refactorings of existing code to isolate dependencies, implement unit and integration tests and facilitate future developments.
  • Migration of the data access layer from autogenerated EntityFramework + EDMX to NHibernate + integration tests.
  • Development of data import/export services, JSON over REST API and Excel via website.
  • Implementation of LESS and TypeScript, with automation of bundles and sourcemaps via Gulp.
  • Development of the frontend/showcase website in ASP.NET Core.
  • Remote
  • TDD
  • DDD
  • .NET
  • ASP.NET MVC & Web API
  • Azure DevOps
  • C#
  • .NET Core
  • SQL Server
  • NHibernate
  • Entity Framework 6
  • Git
  • xUnit
  • HTML5
  • LESS
  • jQuery
  • TypeScript
April 2018 - December 2018 CAFPI

Developer / Software Architect

  • Development of an ASP.NET MVC document management application for real estate projects managed via Microsoft Dynamics.
  • Communication between the application and MS Dynamics via OData API.
  • Development of a module for importing documents sent via scanner.
  • Design and implementation of a dynamically configurable system to determine the various business rules to combine and apply to the various real estate documents.
  • Redesign of the data access layer, implementation of dependency injection and unit tests.
  • Development and maintenance on other CAFPI projects (ASP.NET MVC management site integrated with Dynamics, commissioning system, 'legacy' ASP application).
  • Remote
  • TDD
  • .NET
  • SQL Server
  • C#
  • Git
  • xUnit
  • Entity Framework 6
  • ASP
  • MVC
  • HTML5
  • OData
  • LESS
  • jQuery
  • TypeScript
  • Microsoft Dynamics 365
March 2018 FoxNot

Software Architect

  • Re-architecturing of a file entry automation application based on preconfigured 'scenarios' for notaries using a proprietary Win32 UI.
  • Restructuring of projects to clarify and simplify the development of the various modules.
  • Analysis and development of a COM-based mechanism to search for and interact with UI elements.
  • Corrections and improvements to the process managing the execution of the automation scenarios.
  • Supervision and coaching of developers.
  • Remote
  • TDD
  • .NET
  • C#
  • Git
  • MSTest
  • HTML
  • COM
  • Jenkins
January 2018 - March 2018 Airbus DS

Developer / Software Architect

  • Reinforcement on the development of a Sharepoint 2016 portal for Airbus DS customers.
  • Development of a reporting and graphs module (BillboardJS, SQLServer OLTP, SQLServer OLAP and MySql data sources) dynamically configurable by Airbus managers.
  • Reorganization of projects to simplify development and reuse common code.
  • Redesign of the data access layer (from raw SQL to NHibernate).
  • Supervision and coaching of developers.
  • TDD
  • .NET
  • SQL Server
  • C#
  • Git
  • xUnit
  • Sharepoint 2016
  • ASP.NET WebForms
  • NHibernate
  • HTML5
  • LESS
  • jQuery
  • TypeScript
January 2017 - December 2017 CAFPI

Software Architect

  • Development of ASP.NET MVC modules integrated with Microsoft Dynamics with authentication via Azure AD.
  • Audit, takeover, architectural reorganization and (re)development of a commissioning and remuneration system (ASP.NET MVC + external services).
  • Redesigning of the data access layer, implementation of dependency injection and unit tests.
  • Reorganization, standardization and stabilization of existing code to improve maintainability.
  • Analysis and improvement of performance and security concerns.
  • Remote
  • TDD
  • .NET
  • SQL Server
  • C#
  • Git
  • TFS
  • xUnit
  • Entity Framework 6
  • MVC
  • HTML5
  • LESS
  • jQuery
  • TypeScript
July 2014 - December 2016 Gamatomic

Developer / Software Architecte / Webmaster

  • Development of a new version of the website.
  • Migration of the hosting environment to a virtual machine on Azure.
  • Rebuilding of the UI, from 'raw' ASP.NET to ASP.NET MVC5.
  • External authentication (Google, Facebook, ...) with ASP.NET Identity.
  • Migration from Subversion to Git.
  • Setup of JetBrains YouTrack and TeamCity.
  • Expansion of automated testing, from database (xUnit-based) to Javascript (Karma/Mocha).
  • Remote
  • TDD
  • .NET
  • SQL Server
  • C#
  • Git
  • NUnit
  • xUnit
  • NHibernate
  • MVC/Web API
  • HTML5
  • LESS
  • jQuery
  • TypeScript
  • SignalR
November 2013 - June 2014 OPLAN

Developer / Software Architect

  • Development of a business-facing website for advertisers to publish and track ads for short-term sales.
  • Development of a publication service pushing those ads on mobile devices based on distance.
  • Migration from TFS to Git.
  • Remote
  • TPL Data Flow
  • TDD
  • .NET
  • IIS
  • SQL Server
  • C#
  • MVC/Web API
  • NHibernate
  • Git
February 2012 - July 2013 GEOSYS

Developer / Software Architect

  • Technical audit of existing projects.
  • Reorganization of source code management (methodology, tools, etc.).
  • Developer training.
  • Technical coordination between teams.
  • Multiple iterations of refactoring/reorganization of existing projects to address recurring issues of instability, fragility and maintenance.
  • Development of a shared framework, notably regarding data access.
  • Development of customer-facing web APIs with OAuth authentication.
  • .NET
  • IIS
  • Oracle
  • C#
  • MVC/Web API
  • NHibernate
  • TFS
March 2011 - June 2011 Aéroconseil

Developer

  • Development of an application for centralizing project tracking documents, integrating multiple sites into a central database.
  • Remote
  • .NET
  • C#
  • Excel
June 2009 - March 2011 Elience

Developer / Software Architect

  • Technical audit of the company's existing activity management application.
  • Development of a replacement application: Management of lots, landlords, tenants, implementation of business rules following current rental laws, securing input forms according to user roles, ...
  • Remote
  • .NET
  • IIS7
  • SQL Server
  • C#
  • MVC
September 2006 - February 2009 Pages Jaunes Petites Annonces

Software Architect (February 2008 - February 2009)

  • Setup of continuous integration and QA environments.
  • Implementation and monitoring of development methods and tooling.
  • Coaching of developers and development of a common framework for all projects (data access, business rules and shared services).

Project Manager (July 2007 - January 2008)

  • Management of the backoffice/data integration team.
  • Database monitoring, optimization and maintenance.
  • Daily monitoring of the data integration process with reporting to the affected departments.
  • Liaison with the customer service and marketing departments to organize and manage correction, feature and evolution requests.

Developer (September 2006 - May 2007)

  • Takeover and rebuilding of the integration of partner publications (DTSX packages + Windows service).
  • Stabilization and optimization of the website, development of maintenance tooling to monitor and manage the data integration process.
  • Database monitoring, optimization and maintenance.
  • .NET
  • IIS
  • SQL Server
  • SSIS
  • C#
  • VB.NET
  • ASP.NET
  • WinForms
  • Subversion
May 2006 - August 2006 Evodial

Developer

  • Maintenance of the existing stock and remuneration management application (Delphi).
  • Development of application replacement (WinForms client + ASP.NET websites).
  • Data exchange with partners and statistics generation in Excel.
  • ASP.NET
  • WinForms
  • C#
  • Subversion
  • NAnt
  • SQL Server
November 2002 - April 2006 Centre Scientifique et Technique du Bâtiment

Developer

  • SQL Server database administration.
  • Setup and monitoring of versioning and continuous integration tools.
  • Development of multiple Intranet ASP.NET applications: client directory, customer service tracking, management of the testing cycle for the certification of construction materials.
  • Development of tooling to synchronize data between multiple client databases (Microsoft Access) spread throughout the company departments.
  • ASP.NET
  • WinForms
  • SourceSafe
  • NAnt
  • C#
  • SQL Server
January 2002 - July 2014 Gamatomic

Developer / Webmaster

  • ASP.NET website development. Initially a port of the Gamedata ASP site, then a rebuilding of the UI while keeping the existing database.
  • Development of the administration site, used notably for the entry and reviewing of articles by editors.
  • Management and publication of news and multiple types of articles, forums, direct messaging and chatrooms.
  • Gradual technological evolutions following the .NET Framework and the emergence of tools and libraries (e.g. incremental replacement of a homemade DAL to use NHibernate, integration of jQuery and SignalR, ...)
  • Evolution of the development methodology over time: addition of Test-Driven Development, Continuous Integration, ...
  • Remote
  • .NET
  • Subversion
  • NAnt
  • IIS
  • ASP.NET
  • C#
  • SQL Server
October 1999 - August 2001 Gamedata

Developer / Webmaster / Editor

  • Development of the website (ASP).
  • Setup and management of the SQL Server database.
  • Regular UI evolutions, including the development of a modular theming system.
  • Development of variants of the website (PC, consoles, hardware).
  • Work with external partners to integrate a selection of contents on their websites.
  • Authoring of articles.
  • Remote
  • IIS
  • ASP
  • VBScript
  • SQL Server
January 1999 - June 1999 Télégroupe

Developer

  • Development of an ASP discussion forum.
  • Evolutions, corrections and maintenance work for showcase websites.
  • ASP
  • VBScript
  • SQL Server
September 1997 - January 1999 French Online Gaming League

Developer / Webmaster

  • Development and management of multiple CGI discussion forums.
  • Co-creation of a section of the league, development of its website, organization and management of activities.
  • Remote
  • C++
  • PostgreSQL

Training

2004 - 2006

Microsoft Certifications

  • Microsoft Certified Solution Developer: Analysis and Design of Solutions (MSF method), WinForms Applications, ASP.NET Applications, Remoting and Windows Services, Design and Implementation of Databases on SQL Server 2000.
  • SQL Server 2005 Microsoft Certified Technology Specialist: Implementation and Maintenance.
1996 - 1997

Solutions Developer training at Pierre and Marie Curie University (Paris VI)

1994 - 1996

Computer Science training (Tech University Diploma) at Paris V University

Skills

  • Fluent and technical English
  • .NET, C#, ASP.NET, HTML5, CSS3, SCSS, Javascript, TypeScript, jQuery, PHP
  • Visual Studio, Azure DevOps, SQL Server, MongoDB, PowerShell
  • Git, Subversion, ReSharper, dotTrace, dotMemory, NCrunch, NDepend, xUnit, NUnit, NHibernate, Entity Framework
  • Agile, Test-Driven Development, Domain-Driven Design, Clean Code, Microservices