Thomas Soenen, Developer in Ghent, Belgium
Thomas is available for hire
Hire Thomas

Thomas Soenen

Verified Expert  in Engineering

Bio

Thomas is a Python developer and also acted as a cloud architect, DevOps specialist, and network engineer in recent years. His latest projects include collaborations with major telecom players such as Telefonica and British Telecom, in order to reduce their Capex and Opex through virtualizing network functionality and 5G. Thomas is a problem solver and a lifelong learner, has excellent communication skills, and is used to wearing multiple hats throughout the entire software development process.

Portfolio

BASF
Python, REST, APIs, Atlassian
TickUp
Python, REST, Scraping, ETL, Docker, Jenkins
imec
Jenkins, Ansible, Kubernetes, OpenStack, Docker, Linux, Python...

Experience

  • Python - 8 years
  • Linux - 5 years
  • Docker - 5 years
  • DevOps - 5 years
  • Network Function Virtualization (NFV) - 5 years
  • IP Networks - 5 years
  • Cloud Architecture - 4 years
  • Amazon Web Services (AWS) - 1 year

Availability

Part-time

Preferred Environment

Bash, HEAT, OpenStack, Kubernetes, Git, Jenkins, Ansible, Docker, Linux, Python

The most amazing...

...thing I contributed to was the design and implementation of SONATA-NFV, a key enabler for the promise of 5G through virtualization of network services.

Work Experience

Senior Python Developer

2020 - PRESENT
BASF
  • Designed and developed an in-house Python library that wraps around a wide range of REST endpoints to support our Python-oriented researchers.
  • Planned and created a Python application that integrates with proprietary software to bridge the gap between that software and our high processing compute infrastructure.
  • Refactored old Perl and Python applications into Python 3 applications.
  • Designed and developed a Python application that converts swagger files in Python libraries.
  • Refactored and optimized legacy Python scripts handling big data to use available HPC resources better, reducing runtime by more than 90%.
Technologies: Python, REST, APIs, Atlassian

Senior Data Engineer

2021 - 2021
TickUp
  • Designed and implemented an ETL pipeline that scraped a REST API every 10 minutes and populated a PostgreSQL database.
  • Integrated the ETL pipeline with our technology stack, leveraging Docker and Jenkins.
  • Built automated test procedures that periodically test the integrity of the database.
Technologies: Python, REST, Scraping, ETL, Docker, Jenkins

Cloud Solution Architect | DevOps Specialist | Network Engineer

2015 - 2020
imec
  • Created a scalable microservice-based cloud architecture consisting out of 30+ Docker containers. The application manages the lifecycle of virtual network functionality such as VM-based or containerized VPNs and media networks on cloud resources.
  • Implemented the core components, six Docker containers, of the application in Python.
  • Designed and implemented multiple CI/CD pipelines using Jenkins to automatically execute unit and integration tests, update running environments, and provide feedback to developers.
  • Developed a CLI tool and a Python library that consumes the REST API of the application after noticing that users were losing a lot of time trying to use it. This tool and library simplified the use of the application significantly.
  • Published the scientific results of these efforts in multiple high-level scientific journals and conferences.
Technologies: Jenkins, Ansible, Kubernetes, OpenStack, Docker, Linux, Python, Network Function Virtualization (NFV)

Quality Assurance Manager

2012 - 2015
(UN)MANNED
  • Created and monitored workflows for the entire software development process to ensure compliance with EASA and FAA rules (DO-178B) to create certified and air-worthy software.
  • Negotiated the set of high-level requirements for an avionics software application with customers.
  • Developed a certified test framework to test high-level software requirements for avionic software applications. Used this framework to create certified test suites.
  • Provided support for the customers after delivery of the software application.
Technologies: SOL, Python

Experience

Design, Implementation and Maintenance of A Management and Orchestration Framework for IMEC

http://github.com/tsoenen/son-mano-framework
Designed and developed a user-customizable, distributed management, and orchestration (MANO) framework as the core element of the SONATA NFV (Network Function Virtualization) platform. The framework manages and controls the end-to-end lifecycle of virtual network functionality embedded in VMs and containers on top of cloud resources managed through Openstack and Kubernetes.
The MANO Framework consists of eight microservices, each embedded in a Docker container, which communicate using a RabbitMQ message bus; all microservices functionalities were written in Python. The application handles requests from customers to deploy and maintain their virtual network functionality. The MANO framework calculates the optimal host for this network functionality out of the available cloud resources and interacts with the appropriate cloud manager to establish deployment. The MANO framework interacts with software-defined networking managers to steer traffic from customers through their VMs or containers.
After the virtual network functionality is operational, the MANO framework monitors its quality of service and scales, migrates, reconfigures, or terminates the VMs and containers if required.

Creation of A Python Package With REST API Wrappers for IMEC

http://www.github.com/tsoenen/tng-cli
A Python library and CLI tool that consumes the REST API of an NFV Platform (SONATA NFV) and provides an easy-to-use CLI interface. The CLI tool builds on top of a python library to be used within Python as well. The tool significantly simplifies interfacing with the platform.

Design, Implementation, and Maintenance of An ETL Pipeline for TickUp AB

Designed and implemented an ETL pipeline To support the data scientists at TickUp AB that scrapes a third-party REST API every 10 minutes, keeping a PostgreSQL database up to date with the latest ticker information, which serves as input data for ML evaluations.

I had ownership throughout the entire process: designing the ETL, implementing it as a Python process, packaging it as a Docker container, creating a CI/CD workflow using Jenkins to test and deploy the container, and executing the process every 10 minutes through a Jenkins job.

Creation and Maintenance of a Python Package that Wraps REST APIs for BASF

Created a Python package for a BASF research group to facilitate the interaction of our data scientists with our software solutions built to support them. The Python package provides wrappers for the REST APIs of our various applications, making interacting with them easier for data scientists with a limited programming understanding. Among other features, using this package abstracted the authentication process for users, provided payload validation, and made for easy environment selection.

Education

2006 - 2012

Master's Degree in Physics and Astronomy

Ghent University - Ghent, Belgium

Certifications

MARCH 2014 - PRESENT

D0178-B

Radio Technical Commission for Aeronautics (RTCA)

Skills

Libraries/APIs

OpenAPI, REST APIs, Jenkins Pipeline

Tools

Git, Jenkins, Atlassian, Ansible, RabbitMQ, Bamboo

Languages

Python, SOL, Bash, Python 3

Paradigms

Network Function Virtualization (NFV), Microservices Architecture, DevOps, Continuous Integration (CI), Continuous Delivery (CD), Software-defined Networking (SDN), REST, ETL, Microservices

Frameworks

OAuth 2, Flask

Platforms

Linux, Docker, Amazon Web Services (AWS), OpenStack, Kubernetes

Storage

MongoDB, PostgreSQL

Other

Back-end, Cloud Architecture, CI/CD Pipelines, Software Development Lifecycle (SDLC), Architecture, HEAT, APIs, IPv4, IP Networks, Statistics, Scraping, Pub/Sub, Research, Distributed Systems

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