Bart De Schuymer, Developer in Ghent, Belgium
Bart is available for hire
Hire Bart

Bart De Schuymer

Verified Expert  in Engineering

Multithreading Developer

Location
Ghent, Belgium
Toptal Member Since
September 4, 2020

With an M.Sc. in Computer Science and a Ph.D. in Mathematics, Bart enjoys doing professionally what he has been doing since he was a child: building software applications. He enjoys back-end, embedded, low-level, and algorithmic development. He's an analytical thinker and problem solver and has good documentation, presentation, and teaching skills. Bart functions well both in a team as well as independently.

Portfolio

Be-Mobile
Back-end, Git, Visual Studio, System Testing, REST APIs, Jenkins, Helm...
Siemens
Git, System Testing, Safety-critical, Test Automation, Python, C
Amplidata
Git, REST APIs, HTTP, IP Networks, Python, Boost, Boost.Asio, Multithreading...

Experience

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Windows, Linux

The most amazing...

...accomplishment was ebtables: an open source network filtering tool for a Linux-based bridging firewall that is part of the standard Linux kernel.

Work Experience

Freelance Software Engineer

2016 - 2020
Be-Mobile
  • Developed the core real‐time routing platform (road traffic management, tolling) in C++11/14 and Go.
  • Ported existing C++ applications from Windows to Linux. Integrated Apache Kafka and Redis.
  • Introduced unit testing and automated system tests.
  • Ported C++ application to Go and implemented new applications in Go.
  • Designed, tested, and implemented algorithmic improvements on traffic jam detection.
  • Played a crucial role during the rollout of the real-time system for truck tolling in Belgium and Germany.
  • Deployed components using YAML, Docker, Kubernetes, and Helm (SaaS).
  • Acted as the technical team lead floating car data chain (core chain that processes real‐time GPS data) in 2019-2020.
Technologies: Back-end, Git, Visual Studio, System Testing, REST APIs, Jenkins, Helm, Prometheus, Kubernetes, Docker, Google Test, YAML, gRPC, FlatBuffers, MySQL, Machine Learning, Jupyter, Real-time Data, Test Automation, Leadership, Grafana, Redis, Apache Kafka, Windows, Linux, Algorithms, Go, C++14, C++11

Freelance Software Engineer

2014 - 2016
Siemens
  • Developed software in C and Python as a member of the team developing the EBP system: a real‐time computer system that is being used to control and manage the Belgian railway signaling infrastructure from a central place.
  • Designed, tested, and implemented two drivers that handled the reception of signalizations and transmission of commands to the railway interlocking system. Assisted Infrabel on site during the first three installations (by night).
  • Played a key role in the design and implementation of the automation of tests for the legacy software. Emulate the signalization hardware in the field, enabling e.g. to make the real-time system detect a (simulated) driving train.
  • Studied and implemented new safety‐critical functional specifications from Infrabel and provided valid improvements.
Technologies: Git, System Testing, Safety-critical, Test Automation, Python, C

Freelance Software Developer

2014 - 2014
Amplidata
  • Served as a member of the team that implemented Amplidata’s cloud storage system’s internet‐facing interfaces, including the Amazon S3 API. Key person in delivering the required features on time, well‐tested and according to the specs.
  • Implemented parts of the HTTP 1.1 and Amazon S3 specification (REST API) with a strong focus on details.
  • Developed multi‐threaded, asynchronous, thread‐safe design in C++11, using Boost libraries such as asio, ptime, shared_from_this, RegEx, and interprocess.
  • Wrote a custom system test framework in Python. Unit testing using Google Test (gtest).
Technologies: Git, REST APIs, HTTP, IP Networks, Python, Boost, Boost.Asio, Multithreading, Asynchronous Programming, Google Test, C++11

Freelance Device Software Engineer

2013 - 2013
Newtec
  • Acted as a member of the professional equipment department, developing professional satellite communication ground equipment using Linux‐based embedded platforms (PowerPC and Intel). Development in C++11 and test automation based on Ruby.
  • Designed (in collaboration) and implemented a networking mechanism that creates a virtual LAN network allowing Newtec devices to communicate with each other locally and over the satellite link with minimal administration set up.
  • Debugged networking issues in kernel space. Experienced with zero‐copy mechanisms between userland and kernel (based on ring buffers) such as pf_ring, af_packet mmap, and custom solutions.
Technologies: Subversion (SVN), Linux, Iptables, Networking, Linux Kernel, C++11

Freelance Software Engineer

2010 - 2012
Technicolor
  • Participated in an international team to develop the next generation core middleware software framework to be deployed in the digital home network. Developed the communication bus between components installed on the middleware.
  • Integrated, tested, and submitted bug reports for third‐party software.
  • Provided outside access to the communication bus by using JSON bindings on top of WebSockets.
  • Handled technical subjects including DDS (Data Distribution Service), marshaling/serialization, access control, security, distributed networking, automatic code generation, automatic test framework, and thread‐safe library design.
Technologies: IBM Rational ClearCase, Linux, Multithreading, Unit Testing, Middleware, Networking, DDS, C

Senior Development Engineer

2005 - 2010
Televic
  • Designed and implemented signal processing algorithms on PC and embedded platforms (dsp (Analog Devices Sharc), microcontroller (Analog Devices Blackfin), and fpga (Xilinx) ).
  • Created adaptive feedback cancellation algorithms, the Bluetooth subband codec, infrared APCm codec, packet loss concealment, speeding up/down of speech while preserving pitch, and microphone array steering.
  • Covered the complete design and implementation process of industrial grade software: from experimentation on pc (e.g. in Matlab) to real‐time implementation in C/C++ (including assembly optimization) or VHDL.
  • Coordinated and participated in several research projects in cooperation with academic and industrial partners. Experienced as a project lead to a successfully finished multimillion research project.
Technologies: Blackfin Microprocessors, Windows, VHDL, Audio Processing, DSP, Assembly, C++, MATLAB, C, Microcontrollers

Ph.D. Student

2001 - 2005
University of Ghent
  • Taught exercises for various courses (software design and mathematics) to university students.
  • Conducted research in order to obtain a Ph.D. in Mathematics, in the field of probability and game theory. My public defense took place on June 3rd, 2005.
  • Authored multiple articles in international journals and gave lectures at international gatherings.
Technologies: C

Software Engineer

2001 - 2001
Alcatel Bell
  • Implemented a layer between the network processor and the higher‐level software for an IP core router.
  • Detected and corrected numerous bugs in the existing software.
  • Wrote dozens of automated test scripts, using Tcl.
Technologies: C++, C

Ebtables

The ebtables program is an open-source filtering tool for a Linux-based bridging firewall. It enables transparent filtering of network traffic passing through a Linux bridge. The filtering possibilities are limited to link-layer filtering and some basic filtering on higher network layers. Advanced logging, MAC DNAT/SNAT, and brouter facilities are also included.

The ebtables tool can be combined with the other Linux filtering tools (iptables, ip6tables, and arptables) to make a bridging firewall that is also capable of filtering these higher network layers. This is enabled through the bridge-Netfilter architecture which is a part of the standard Linux kernel.

Although Bart is the main author of this technology, he has handed over ownership and maintenance to the Netfilter project.

Transparent Ad Insertion in An Audio Stream

https://www.adswizz.com/
A transparent system hosted on a Linux operating system for locally intercepting, possibly altering, and retransmitting IP datagrams. The packet alteration consists primarily of replacing a sequence of bytes in the IP payload by an equal amount of other bytes. The IP datagrams are inspected by a userspace program and this program does the required replacements. A template implementation in C was provided.

Linux Kernel Patch for Network Packet Filtering

https://www.infoexpress.com/
Porting an existing firewall application to a specific Linux kernel. The existing functionality was extended with IPv6 address filtering similar to the already existing IPv4 address filtering. Source code and a detailed design document were provided.

Bridged Packet Interception

https://sevis.com/
The set up of a bridged Linux environment in which UDP packets are delivered to a userspace program instead of being bridged. This includes a userspace library that can be used to read these packets. Functionality was also provided to easily set up the receive and transmit sockets for the UDP traffic between Sevis devices. Finally, the functionality to retransmit raw Ethernet frames over the bridge ports was also provided. Source code and detailed documentation were provided.
2001 - 2005

Ph.D. in Mathematics

University of Ghent - Ghent, Belgium

1997 - 2001

Master's Degree in Computer Science

University of Ghent - Ghent, Belgium

Libraries/APIs

REST APIs, FlatBuffers

Tools

Git, MATLAB, Iptables, Grafana, Jupyter, Helm, Jenkins, Visual Studio, Subversion (SVN), IBM Rational ClearCase

Languages

C, C++, Go, C++11, Assembly, VHDL, Python, C++14, YAML

Paradigms

Parallel Programming, Unit Testing, Asynchronous Programming, Test Automation

Platforms

Linux, Visual Studio Code (VS Code), Windows, Apache Kafka, Docker, Kubernetes

Industry Expertise

Teaching

Frameworks

Google Test, Boost, gRPC

Storage

Databases, Redis, MySQL, MongoDB

Other

Multithreading, Software Design, Mathematics, University Teaching, Research, Networking, IP Networks, Microcontrollers, DSP, Audio Processing, DDS, Middleware, Linux Kernel, Boost.Asio, HTTP, Safety-critical, Algorithms, Leadership, Real-time Data, Machine Learning, Prometheus, Blackfin Microprocessors, System Testing, Back-end

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring