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

Software Developer in Paris, France

Member since October 4, 2016
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


  • WeChop
    .NET, Android, Chef, Angular, Microsoft Bot Framework, TensorFlow
  • AppDynamics
    .NET, Windows Services, C++, Profiling, Distributed Services
    Cloud Architecture, SOA, REST, S3, EC2, SQS, RDS, DynamoDB, Spring...


  • .NET, 15 years
  • Java, 15 years
  • Unit Testing, 15 years
  • MySQL, 10 years
  • REST, 7 years
  • AWS Push Notification Service (AWS SNS), 5 years
  • Hadoop, 3 years
  • Twilio API, 3 years


Paris, France



Preferred Environment

Windows, Linux, Visual Studio, IntelliJ IDEA, Git

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


  • Lead Developer

    2017 - PRESENT
    • Built and maintained a distributed system to support mobile phone-based eCommerce 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.
    • 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.
    Technologies: .NET, Android, Chef, Angular, Microsoft Bot Framework, TensorFlow
  • Principal Engineer

    2015 - 2016
    • Defined and oversaw the end product's features.
    • 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, compile statistics, and transmit it to a collection server.
    • Maintained a Java-to-C# translation tool.
    Technologies: .NET, Windows Services, C++, Profiling, Distributed Services
  • Senior Software Engineer

    2011 - 2015
    • 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 interoperation of technologically disparate services across the company. Configuration of that service was done using 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: Cloud Architecture, SOA, REST, S3, EC2, SQS, RDS, DynamoDB, Spring, Google Guice, Microservices
  • Architect (Contractor)

    2008 - 2010
    • 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: WCF Distributed Systems, ClickOnce, SMPP, Microsoft TFS, SQL Server Reporting Services, WPF, BizTalk
  • 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: J2EE, ASP.NET, WCF, JUnit, C++ Standard Template Library, Microsoft Commerce Server
  • Lead Developer

    2000 - 2004
    • 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: C++, ASP.NET Web Forms, C#, Oracle, MySQL, Interbase, C++, Java, Linux, Cryptography


  • Mobile Staff and Job-tracking Application (Development)

    This is an enterprise mobile phone application that was distributed to thousands of staff and customers. The aim was to allow the employees of the client company 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 the back-end servers via the Twilio API, while the staff receives notifications through their devices via the AWS Simple Notification Service (plugged into Google Cloud Messaging, and AWS SQS for fanning out to the appropriate collaborating staff).

  • Serverless SMS Platform (Development)

    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.

  • Node.js Communications Platform (Development)

    I designed and built a communications platform using Node.js that enables a client 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 (Development)

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

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

  • Network Performance Monitor (Development)

    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.

  • Neural Network Driven Customer Recommendation Engine (Development)

    Using TensorFlow, I wrote code that runs a model to examine past offering, 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


  • Languages

    C#, TypeScript, JavaScript, Java, C++, Python 3
  • Frameworks

    ASP.NET MVC, .NET, NancyFx, Hadoop
  • Libraries/APIs

    Twilio API, Node.js, jQuery
  • Tools

    IntelliJ, AWS Push Notification Service (AWS SNS), Amazon SQS, Visual Studio .NET
  • Paradigms

    Unit Testing, REST, Agile Software Development, Functional Programming
  • Platforms

    Amazon Web Services (AWS), Windows, Google Cloud Platform (GCP), Linux
  • Storage

    MySQL, NoSQL, AWS S3, AWS RDS, AWS DynamoDB, Oracle DBMS
  • Other

    Algorithms, AWS Cloud Architecture, Distributed Systems, Data Structures, Monitoring


  • Master's degree in Software Engineering
    2007 - 2008
    University of Liverpool - Liverpool, United Kingdom
  • Licence degree in Mathematics
    1993 - 1996
    Universite Paris VII - Paris, France
  • Most Valuable Professional (Award)
    OCTOBER 2004 - DECEMBER 2008
  • Oracle 6 DBA

To view more profiles

Join Toptal
I really like this profile
Share it with others