François Bonin, Software Developer in Paris, France
François Bonin

Software Developer in Paris, France

Member since September 16, 2018
Since 2000, François has been building software systems with various technologies. After having been awarded the Microsoft MVP title four years in a row for his deep knowledge of the .NET platform, he discovered a passion for building and monitoring distributed systems as an Amazon senior engineer. During that time, he worked with teams across continents and developed an affinity for cloud software.
François is now available for hire

Portfolio

  • WeChop
    TensorFlow, Microsoft Bot Framework, Angular, Chef, iOS, Android, .NET...
  • AppDynamics
    Service, Profiling, C++, Windows Services, .NET, Distributed Systems, C#.NET...
  • Amazon.com
    Microservices, Google Guice, Spring, Amazon DynamoDB...

Experience

Location

Paris, France

Availability

Part-time

Preferred Environment

Git, IntelliJ IDEA, Visual Studio, Linux, Windows

The most amazing...

...design I’ve created was for an automated enterprise bus that interoperated hundreds of services in various styles, data formats, and protocols with no coding.

Employment

  • Lead Developer

    2017 - 2020
    WeChop
    • Built and maintained a distributed system to support eCommerce and the delivery vehicle routing operations.
    • Constructed a communication infrastructure on top of Telegram bots, using the Microsoft Bot framework.
    • Wrote a recommendation engine for customers of the eCommerce engine, using TensorFlow. Coded an implementation of a vehicle routing and scheduling heuristic.
    • Plugged in hand-refined SQL queries into Amazon QuickSight to provide business intelligence to the operations management.
    • Managed the continuous delivery ecosystem of the company.
    • Architected and coded the entire system (mobile application and back-end microservices) for a food-delivery and courier-tracking application.
    Technologies: TensorFlow, Microsoft Bot Framework, Angular, Chef, iOS, Android, .NET, Distributed Systems, C#.NET, C#, MySQL, Unit Testing, REST, Software Architecture, Architecture, AWS Lambda, Localization, Amazon Web Services (AWS), SQL, SOLID Principles, MVC Design, REST APIs, Amazon CloudWatch, Lambda Functions, Serverless, Serverless Architecture, Solution Architecture, Docker, React, Third-party Integration, .NET 4, Web API, Model View Controller (MVC), jQuery, SQL Server 2016, Amazon DynamoDB, Amazon API Gateway, Terraform, CI/CD Pipelines, Spring, Git, Continuous Integration (CI), APIs, Integration Testing, Bash Script, Full-stack Development, Back-end, API Integration, TypeScript, Redis, Cryptography, SQL Server 2012, LINQ, FTP, FTP Servers, Entity Framework, Performance, Integration, RESTful Services, Webhook, ASP.NET, Blazor, CSS3, Data Processing
  • Principal Engineer

    2015 - 2016
    AppDynamics
    • Defined and oversaw the end product's features (for the .NET platform).
    • Wrote and maintained a Windows service that performed just-in-time IL injections into applications.
    • Built tools to measure the performance overhead of monitoring agents.
    • Designed and built a network-performance-monitoring system that intercepts socket-based events, compiles statistics, and transmits them to a collection server.
    • Maintained a Java-to-C# translation tool to facilitate the porting of existing features between platforms.
    Technologies: Service, Profiling, C++, Windows Services, .NET, Distributed Systems, C#.NET, C#, Unit Testing, .NET Core, Software Architecture, Azure, SOLID Principles, Docker, MongoDB, Architecture, Third-party Integration, Visual Studio, .NET 4, Node.js, PostgreSQL, CI/CD Pipelines, Python, Java, Git, Continuous Integration (CI), Integration Testing, Java 11, JUnit, Mockito, Back-end, API Integration, TypeScript, Redis, SQL Server 2012, Win32, LINQ, Win32 API, Entity Framework, Performance, Webhook, Windows Server, Data Processing, DLL
  • Senior Software Engineer

    2011 - 2015
    Amazon.com
    • Designed and led the teams that built and operated large-scale, Java-distributed systems using message queues, NoSQL databases, autoscaling, and decoupled architectures.
    • Architected cloud-based workflow systems with integrated compensation patterns.
    • Built a load-testing, Python-based solution for web services.
    • Designed and built a service-oriented, architecture-based model for the interoperation of technologically disparate services across the company. Configuration of that service was done using an XML-based, service-definition language.
    • Architected and built an entirely automated enterprise service bus for distributed services.
    • Mentored developers in the use of professional software-development methodologies and tools: continuous deployment, automated testing, instrumentation, and monitoring.
    Technologies: Microservices, Google Guice, Spring, Amazon DynamoDB, Amazon Simple Queue Service (SQS), Amazon EC2, Amazon S3 (AWS S3), REST, Service-oriented Architecture (SOA), Cloud Architecture, Algorithms, Distributed Systems, Java, Unit Testing, Architecture, Software Architecture, Software Development Lifecycle (SDLC), AWS Lambda, Localization, Amazon Web Services (AWS), AWS Cloud Architecture, SQL, SOAP, SOLID Principles, REST APIs, Amazon CloudWatch, Lambda Functions, Serverless, Serverless Architecture, Solution Architecture, Third-party Integration, Web API, Model View Controller (MVC), jQuery, SQL Server 2016, Node.js, Amazon API Gateway, CI/CD Pipelines, Python, Git, Continuous Integration (CI), APIs, Integration Testing, JUnit, Mockito, Bash Script, Full-stack Development, Back-end, API Integration, C++, FTP, FTP Servers, Performance, Integration, RESTful Services, Webhook, CSS3, Data Processing
  • Architect (Contractor)

    2008 - 2010
    Orange
    • Implemented business Intelligence projects with SQL Server Reporting Services.
    • Worked in a distributed team of over 40 developers.
    • Managed software projects with the Team Foundation Server.
    • Architected and built a mobile phone-based money transfer system using .NET, and an Oracle back-end.
    • Developed and deployed WPF client applications to serve as the management front end for mobile-transfer applications.
    Technologies: BizTalk, Windows Presentation Foundation (WPF), SQL Server Reporting Services (SSRS), TFS, SMPP, ClickOnce, Windows Communication Framework (WCF), MySQL, SQL, SOAP, SOLID Principles, Solution Architecture, Third-party Integration, Git, APIs, Integration Testing, JUnit, Microsoft Access, Back-end, C++, Software Consultant, Software Consulting, SQL Server 2012, Win32, ADO.NET, FTP, FTP Servers, Win32 API, Inno Setup, SQL Server Integration Services (SSIS), Performance, Integration, Windows Server, .NET, ASP.NET, Data Processing, ASCII, DLL
  • Software Contractor

    2004 - 2008
    TopCoder Software
    • Performed architecture validation and designed the J2EE systems for projects ranging from order management to healthcare provision systems.
    • Built a .NET-based smart client applications for ratings and viewership tracking.
    • Constructed an ASP.NET MVC document management system.
    • Wrote unit and integration tests to ensure full coverage of the code base.
    • Performed component architecture for an application-building system based on NAnt.
    Technologies: Microsoft Commerce Server, Standard Template Library (STL), C++, JUnit, Windows Communication Framework (WCF), ASP.NET, Jakarta EE, C#.NET, Unit Testing, Localization, SQL, SOAP, SOLID Principles, MVC Design, REST APIs, Solution Architecture, Visual Studio, APIs, Integration Testing, Full-stack Development, Microsoft Access, Back-end, API Integration, Microsoft SQL Server, Cryptography, Software Consultant, Software Consulting, SQL Server 2012, Win32, ADO.NET, FTP, FTP Servers, Win32 API, Inno Setup, SQL Server Integration Services (SSIS), Integration, Windows Server, .NET, ASCII, DLL, System Service & Hardware Control, Point of Sale
  • Lead Developer

    2000 - 2004
    theSOFTtribe
    • Architected and helped develop a web-based customer self-care system application for mobile phone companies.
    • Designed and coded a C++ RAD framework to facilitate Windows NT development.
    • Built a multiplatform database manipulation library (Interbase, SQL Server, and Oracle were all supported).
    • Created a software internationalization tool suite using C++ and XML back-end storage.
    • Developed a public-key data encryption library for front-facing Linux system tools.
    • Created replacement modules for a computer associates' Clipper system calls to make it Windows NT enabled.
    • Designed a mission-critical online transaction processing databases on Oracle, Interbase, and MySQL.
    Technologies: Cryptography, Linux, Java, InterBase, Oracle, C#, ASP.NET Web Forms, C++, MySQL, Localization, SQL, SOAP, SOLID Principles, MVC Design, Solution Architecture, JUnit, dBASE, Full-stack Development, Microsoft Access, Back-end, Microsoft SQL Server, C, SQL Server 2012, Win32, ADO.NET, FTP, FTP Servers, Win32 API, Inno Setup, Windows Server, ASCII, System Service & Hardware Control, Point of Sale

Experience

  • Food Delivery Application Ecosystem

    I architected and coded the entire system (mobile application and back-end microservices) for a food-delivery and courier-tracking application.

    Work Done:
    • Wrote around 12 microservices, using Node.js and C#: order fulfillment, vendor communications, and delivery routing.
    • Built two relational databases (MySQL) and a NoSQL one (DynamoDB).
    • Developed four mobile applications (iOS and Android for consumers and Android for couriers and vendors).
    • Implemented the interactions with third-party APIs (REST and proprietary) exchanging JSON and XML payloads.

  • Node.js Communications Platform

    I designed and built a communications platform using Node.js that enables clients to reach out to their customers by email, browser-push notifications, SMS, or voice calls.

    The project was hosted in the AWS cloud and used Twilio to make voice calls and send SMS.

    An exciting aspect of the project is the innovative use of SNS, SQS, and Lambda to achieve massive scalability while keeping costs under control.

  • Automated Enterprise Bus Service for Distributed Systems

    I designed and built a system, enabling different service owners to provide a formal description of their service (name, list of endpoints and operations, and input parameter and output object schemas), using standard description grammars (WSDL, WADL, and more), authentication schemes, and providers.

    In return, the system ensures the discovery and interoperation (with the appropriate sequencing of operations and marshaling of input/output parameters) across protocols and service styles without writing a single line of code.

  • Serverless SMS Platform

    I designed and built an SMS-based platform on .NET. It enables a client to receive, and process text messages on short-codes, and react to them by performing database queries and responding with text messages localized to the specific region of the original sender.

    The entire project was hosted in the AWS Cloud and made extensive use of Lambda, S3, SNS, DynamoDB, Pinpoint, RDS (PostgreSQL), and CloudWatch.

  • Neural Network-driven Customer Recommendation Engine

    Using TensorFlow, I wrote code that runs a model to examine past offerings, contrasts them with customer engagements (purchases, cancellations, and more), and periods to determine the optimal (leading to the most purchases and least cancellations) product offering on a future date. The resulting code produces an accurate result for dates up to two weeks in the future using a few months of training data.

  • Customer Communications Bot | SMS and Facebook Messenger

    I designed and built a bot to handle customer requests and perform back-end server actions (retrieve and move user-profiles and videos) in a Healthcare support application.

    Technologies: Amazon Lex, Twilio API, Node.js, Facebook SDK, and Go.

  • Network Performance Monitor

    Utilizing a C++ written native layer that intercepts socket-level events, I designed and built a cross-platform component. The component computes statistics on network performance (errors, port utilization, data rates, and more), buffers them, correlates them to method calls within the code of a currently running a .NET or Java application. It then sends the augmented-stack traces to a remote collection server using an optimized binary transfer protocol.

  • Mobile Staff and Job-tracking Application

    This is an enterprise mobile-phone application that was distributed to thousands of staff and customers. The aim was to allow the client-company employees to receive assignments on the road, report on their activities, and keep the customers informed on the-state-of-the-jobs they are paying for.

    I designed the architecture and led the development team behind this application.

    Customers are kept up-to-date via an SMS sent from back-end servers via the Twilio API. Concurrently, the staff receives notifications through their devices on the Amazon Simple Notification Service (plugged into Google Cloud Messaging and Amazon SQS for fanning out to the appropriate collaborating staff).

  • Billing Management Software with Assistive Technology

    I developed billing/time management software for employees of a legal firm, some of whom may need accessibility features.

    The application was written in C++ (using C++ Builder) for Windows XP and used the Microsoft Active Accessibility API to enable specific features:
    • Support the high contrast mode.
    • Make all of the functionality of the application keyboard (not only mouse) accessible.
    • Provide an on-screen keyboard.
    • Enable scaling of all screens, controls, and fonts in the UI appropriately with user preferences.

  • Payment Service-Provider Fulfilment API

    This project revolves around a Node.js API service that communicates with banking institutions using REST and HTTP to implement the Open Banking 3.1.4 specification. I stored information in a PostgreSQL database.

    The entire system consists of two component services. The service I was in charge of exposed its contract via Swagger, made optimal use of dependency injections to facilitate unit testing (mocking its storage, authentication service, third-party APIs, and more). Deployment was done through Docker images.

  • Home Safety IoT Project

    Tasks Accomplished:
    • Composed the appliance code: reads sensors and periodically reports on their values.
    • Built the back-end API using AWS Lambda with Aurora storage.
    • Implemented data-processing functions, emitting safety diagnostics based on the data read by the appliance.

    This IoT project deployed more than 600,000 appliances with gas and weight sensors to multiple homes, reporting to a back-end server to detect various safety conditions.

    Mobile applications (iOS and Android) and web applications are used to interact with each appliance's data to view the diagnostics and predictions attached to it.

  • Enterprise Content-Management Solution

    I was one of the back-end developers for a .NET Core-based content-management system that created and maintained data pipelines between eCommerce websites and the cloud storage of product information and metadata.

Skills

  • Languages

    SQL, C#.NET, Java, C#, HTML, XML, dBASE, C, C++, TypeScript, JavaScript, CSS3, Go, Java 11, Bash Script, Python 3, GraphQL, Python
  • Frameworks

    JUnit, ASP.NET MVC, .NET, NancyFx, .NET Core, .NET 4, ADO.NET, ASP.NET, Hadoop, ASP.NET Core, Mockito, Blazor, Spring, Google Guice, Angular, ASP.NET Web Forms, Windows Communication Framework (WCF), Windows Presentation Foundation (WPF), Express.js
  • Libraries/APIs

    API Development, LINQ, REST APIs, Twilio API, Node.js, Web API, Win32 API, Entity Framework, Standard Template Library (STL), Facebook Messenger API, React, TensorFlow, jQuery
  • Tools

    IntelliJ, AWS Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Visual Studio .NET, Amazon Lex, Amazon CloudWatch, Visual Studio, Git, GitLab, Auth0, AWS Batch, Terraform, Microsoft Access, IntelliJ IDEA, Chef, TFS, MATLAB, Mathematica
  • Paradigms

    API Architecture, Concurrent Programming, Lambda Architecture, Unit Testing, REST, Microservices, MapReduce, MVC Design, Serverless Architecture, Model View Controller (MVC), Continuous Integration (CI), Agile Software Development, Service-oriented Architecture (SOA), Functional Programming
  • Platforms

    AWS Lambda, Amazon Web Services (AWS), Windows, AWS IoT, Win32, Windows Server, Linux, Docker, Azure, Amazon EC2, Android, iOS, Microsoft Bot Framework, Oracle, Jakarta EE, Google Cloud Platform (GCP), Twilio
  • Storage

    Databases, MySQL, NoSQL, Amazon S3 (AWS S3), Amazon DynamoDB, JSON, Relational Databases, SQL Server 2012, PostgreSQL, SQL Server 2016, Microsoft SQL Server, Redis, InterBase, SQL Server Reporting Services (SSRS), Oracle RDBMS, Azure Blobs, MongoDB, SQL Server Integration Services (SSIS)
  • Other

    Internet of Things (IoT), Architecture, Software Architecture, Cloud, Concurrency, Lambda Functions, Algorithms, AWS Cloud Architecture, Monitoring, Distributed Systems, Data Structures, APIs, Solution Architecture, Software Development Lifecycle (SDLC), Amazon API Gateway, Localization, SOLID Principles, Serverless, Amazon RDS, Third-party Integration, CI/CD Pipelines, Integration Testing, Back-end, API Integration, Integration, RESTful Services, Webhook, ASCII, DLL, Point of Sale, Cryptography, Accessibility, USB, SOAP, Full-stack Development, Software Consultant, Software Consulting, FTP, FTP Servers, Performance, Data Processing, System Service & Hardware Control, Cloud Architecture, Windows Services, Profiling, Service, ClickOnce, SMPP, BizTalk, Microsoft Commerce Server, Accessible Design, Mathematics, Inno Setup, WebSockets

Education

  • Master's Degree in Software Engineering
    2007 - 2008
    University of Liverpool - Liverpool, United Kingdom
  • Bachelor's Degree in Mathematics
    1993 - 1996
    Paris Diderot University - Paris, France

Certifications

  • Most Valuable Professional (Award)
    OCTOBER 2004 - DECEMBER 2008
    Microsoft
  • Oracle 6 DBA
    AUGUST 2000 - PRESENT
    Oracle

To view more profiles

Join Toptal
Share it with others