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

Portfolio

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

Experience

Location

Paris, France

Availability

Full-time

Preferred Environment

Windows, Linux, Visual Studio, IntelliJ IDEA, Git

The most amazing...

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

Employment

  • Lead Developer

    2017 - PRESENT
    WeChop
    • 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.
    • Architected and coded the entire system (mobile application, back-end microservices) for a food-delivery and courier-tracking application.
    Technologies: .NET, Android, iOS, Chef, Angular, Microsoft Bot Framework, TensorFlow
  • Principal Engineer

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

Experience

  • Food Delivery Application Ecosystem (Development)

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

    Work Done:
    • Wrote ~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, Android for couriers and vendors).
    • Implemented the interactions with third-party APIs (REST, and proprietary) exchanging JSON/XML payloads.

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

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

  • Neural Network-driven Customer Recommendation Engine (Development)

    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) (Development)

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

    Technologies: AWS Lex, Twilio, Node.js, Facebook SDK

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

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

  • Billing Management Software with Assistive Technology (Development)

    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 (Development)

    This project revolves around a Node.js API service that communicates with banking institutions using REST/HTTP to implement the OpenBanking 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 (Development)

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

    This was an IoT project that deployed more than 600,000 appliances with gas and weight sensors to multiple homes reporting to a Backend server in order to detect various safety conditions.

    Mobile applications (iOS and Android), as well as a web application, are used to interact with each appliance's data in order to view the diagnostics and predictions attached to it.

Skills

  • Languages

    C#, HTML, XML, TypeScript, JavaScript, Java, CSS3, C++, Python 3
  • Frameworks

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

    Twilio API, Node.js, Facebook Messenger API, jQuery, React
  • Tools

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

    API Architecture, Unit Testing, REST, Microservices, MapReduce, Agile Software Development, Functional Programming
  • Platforms

    Amazon Web Services (AWS), Windows, AWS IoT, Linux, Docker, Google Cloud Platform (GCP)
  • Industry Expertise

    Internet of Things (IoT)
  • Storage

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

    AWS, Architecture, Algorithms, AWS Cloud Architecture, Monitoring, Distributed Systems, Data Structures, APIs, Accessibility, Accessible Design

Education

  • 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

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