Recommended expert

Matthias Spiller

Software developer and consultant

Matthias Spiller
Böblingen, Germany

Experience

Apr 2025 - Jun 2025
3 months
Esslingen, Germany

Software developer and consultant

CLADE GmbH

  • Analyzed the existing CAN communication between microcontrollers
  • Examined the sensors used and the collected measurements
  • Planned the CAN messages to transmit the measurements
  • Iteratively adapted the microcontroller code to the new CAN messages
  • Cross-compiled from x64 to arm64
Jan 2025 - Mar 2025
3 months
London, United Kingdom

Software developer and consultant

confidential

  • Parsed C# code with Roslyn
  • Dynamically extended C# code with new methods, classes, properties and fields
  • Generated C# code as mocks
  • In-memory compilation of C# projects with error analysis
  • Delivered functionality via Web API (REST)
  • Revised a prototype to make it production-ready
  • Reduced technical debt through architectural refactoring and creating unit tests
Sep 2024 - Dec 2024
4 months
Esslingen, Germany

Software developer and consultant

CLADE GmbH

  • Code and architecture reviews
  • Acted as a sparring partner for software development and architecture questions
  • Analyzed bus system communication
  • Automated testing of embedded code
Mar 2024 - Apr 2024
2 months
Esslingen, Germany

Software analyst and developer

CLADE GmbH

  • Analyzed crash dumps and memory leaks on embedded Linux, memory profiling
  • Performed runtime analysis with debugger, valgrind and ThreadSanitizer on a single-board computer running embedded Linux
  • Analyzed bus system communication
  • Debugged embedded code, sensor and actuator logic of a microprocessor
  • Fixed issues in memory management and multithreading in C++ and C#
  • Documented findings, solutions and best practices to prevent issues
Jan 2024 - Mar 2024
3 months
Stuttgart, Germany

Software developer, test developer

Vector Informatik GmbH

  • Analyzed the ASAM interface definition and existing code
  • Implemented the ASAM XIL interface in C#
  • Connected existing C++ code via an RPC interface
  • Implemented functionality in C++
  • Mapped ASAM commands at the bus system level
  • Created development-supporting and automated tests with CAPL and NUnit
Dec 2023 - Jun 2024
7 months
Böblingen, Germany

Software Developer, Hardware Developer

Fari Software GmbH

  • Circuit design
  • Developing embedded software
  • Connecting to an electronic piano via USB to receive and send MIDI messages
  • Mirroring the electronic piano keys for left-handed players
Mar 2023 - Dec 2023
10 months
Stuttgart, Germany

Software Developer, Test Developer

Vector Informatik GmbH

  • Analyzing existing code
  • Drafting a concept to convert the existing generator
  • Creating test units with vTESTstudio and CAPL at the bus system level
  • Simulating LIN control units with CANoe
  • Developing the new generator in C++ and C#
  • Performing development tests
Nov 2022 - Feb 2023
4 months
Böblingen, Germany

Software Developer, Hardware Developer

Fari Software GmbH

  • Developing a prototype for a wireless color sensor
  • Circuit design
  • Creating the embedded software
  • Polling the sensors and sending data via Bluetooth Low Energy (BLE)
  • Building a desktop application to communicate with the module
Nov 2021 - Jun 2022
8 months
Stuttgart, Germany

Software Developer, DevOps Developer

Vector Informatik GmbH

  • Configuring Conan as a package manager
  • Creating Conan packages for tools and libraries
  • Integrating Conan into CMake and Visual Studio projects
  • Converting Visual Studio projects from MSBuild to CMake
  • Building CI/CD pipelines in GitHub Actions for Conan packages and uploading to Artifactory
  • Creating base images for CI/CD pipelines
Nov 2020 - Dec 2024
4 years 2 months
Stuttgart, Germany

Software Developer, Language Developer

Vector Informatik GmbH

  • Specifying the DSL
  • Designing and implementing the DSL with Xtext and Xtend
  • Creating a VSCode extension via the Language Server Protocol
  • Generating C#, C++ and C code from the DSL for control software
  • Generating HTML documentation from the DSL
  • Setting up a CI/CD pipeline to automate generation from the DSL
  • Live querying JIRA via REST to validate the DSL against requirements
  • Extending the DSL data model with information from protobuf files
Oct 2020 - Mar 2024
3 years 6 months
Böblingen, Germany

Software Developer

Advantest Europe GmbH

  • Automatic generation of a Python wrapper for existing C++ code
  • Embedding the Python interpreter using pybind11
  • Performance analysis and improvement by avoiding too many IPC calls
  • Uploading and executing a Python script on the server
  • Connecting a Java API to the Python interpreter
May 2019 - Aug 2019
4 months
Stuttgart, Germany

Software Developer, DevOps Developer

Vector Informatik GmbH

  • Creating a tool with C# and WPF for test configuration of smart charging protocols
  • Building an installer for the tool
  • Setting up an automated build and deployment pipeline
  • Simulating a charging station and the vehicle with CANoe
Oct 2018 - Feb 2019
5 months
Lahr, Germany

Software Developer

NELA Brüder Neumeister GmbH

  • Designing, developing, and verifying algorithms for visual analysis of test objects
  • Image processing and feature extraction in 2D and 3D images
  • Pattern recognition
  • Creating test programs to assess the quality of specimens
  • Commissioning the test programs at the customer's site
  • Integrating OPC UA for communication with machine controllers
Apr 2018 - Dec 2021
3 years 9 months
Stuttgart, Germany

Software Developer, DevOps Developer

flexis AG

  • Creating and maintaining Python libraries for data analysis
  • Porting C++ code to Python
  • Migrating from Python 2 to Python 3
  • Architecting and developing a data processing pipeline using PostgreSQL with microservices
  • Deploying and operating in a managed cloud environment
  • Integrating data sources via REST, MQTT, OPC UA, and ZeroMQ
  • Integrating data sources and sinks via SQL
  • Creating a Python library for communication with a proprietary relational database
  • Converting Visual Studio projects to CMake
  • Integrating vcpkg as a package manager
Jan 2018 - Sep 2018
9 months
Steinenbronn, Germany

Software Developer

TetraTec Instruments GmbH

  • Adopting data models from an existing MSSQL database
  • Automatically generating the API from the existing data model
  • Creating reports from the database using LaTeX
Sep 2017 - Feb 2018
6 months
Stuttgart, Germany

Software Developer, Test Developer

Vector Informatik GmbH

  • Analyze customer requirements for the Diagnostic-over-IP framework
  • Implement the framework using CAPL in vTESTstudio
  • Create a panel to parameterize the framework
  • Create tests based on customer specifications
  • Simulate ECU, gateway, and tester with CANoe
Aug 2017 - Aug 2018
1 year 1 month
Böblingen, Germany

Software Developer

Aquilius Research GmbH

  • Analyze customer requirements and bug reports
  • Implement features and bug fixes
  • Automated unit tests
  • Analyze crash dumps and memory leaks
  • Performance measurements and improvements
Aug 2017 - Jan 2018
6 months
Steinenbronn, Germany

Software Developer

TetraTec Instruments GmbH

  • Specification, design, implementation, and testing of control software for a compressed air test bench
  • Control external hardware
  • Implement test sequences
  • Create a UI with WinForms
  • Commission the software on the test bench
Jul 2014 - Jul 2017
3 years 1 month
Stuttgart, Germany

Software Developer

Vector Informatik GmbH

  • Specification, design, implementation, and testing of software projects for vehicle simulation and testing as part of the CANoe, CANalyzer, TAE, and vTESTstudio products
  • Software development and architecture with C++ and C# on Windows
  • Migration from 32-bit to 64-bit and from Windows to Linux
  • Focus on vehicle diagnostics and bus-level testing
  • Simulation and testing of ECUs at the bus system level
  • Analyze crash dumps and memory leaks
  • Evaluate and introduce JIRA as a company-wide issue-tracking system
  • Develop an add-on for JIRA to support internal processes
Apr 2006 - Jun 2014
8 years 3 months
Böblingen, Germany

Software Developer

Advantest Europe GmbH

  • Responsible for the central control flow of the IC tester software, the customer-facing APIs, and their data generation
  • Software development and architecture with C++ on Linux
  • Model-driven development and documentation with UML
  • Development of a (D)COM-like component framework
  • Technical lead for a team of up to 7 engineers
  • Evaluate and introduce new tools and technologies
  • Provide technical guidance and coaching to engineers
  • Project planning and execution, including creating schedules
  • Close collaboration with R&D teams in China and the USA
  • Design and implementation of an executable and debuggable domain-specific language
  • Crash analysis and performance optimization
  • Static code analysis

Summary

Matthias Spiller is a senior software developer with over 19 years of experience in developing, maintaining and modernizing technical software systems – mainly in embedded, automotive and industrial environments. He helps companies get unstable or outdated systems back under control: through thorough debugging, targeted performance optimization, legacy code modernization and setting up test and CI/CD infrastructures.

His technical strength lies in analyzing complex C++, C# and Python codebases, often on Linux or Windows with CAN, LIN, Ethernet or other bus systems. In addition to implementing new features, he also takes on cross-cutting tasks: architecture consulting, interface design, DSL development (Xtext) or refactoring to reduce technical debt.

Typical fields of application are embedded devices, controllers, diagnostic tools, data pipelines or simulation environments – even where documentation is missing or systems have passed through many hands. He operates through his GmbH, prefers to work remotely and is available on-site for project phases.

Skills

Programming Languages And Databases

  • Postgresql
  • Mysql
  • Mssql
  • Sqlite
  • C++
  • C
  • Python
  • C#
  • .Net
  • Cli
  • Redis
  • Sqlalchemy
  • Entity Framework
  • Capl
  • Xtend
  • Java
  • Vb.net
  • Bash
  • Batch
  • Groovy

Products, Standards, Libraries

  • Xtext
  • Git
  • Github
  • Gitlab
  • Bitbucket
  • Canoe
  • Canalyzer
  • Vteststudio
  • Vcdl
  • Cdd
  • Odx
  • Uds
  • Diagnostics
  • Can
  • Lin
  • Ethernet
  • Ipv4
  • Tcp
  • Udp
  • Wireshark
  • Mqtt
  • Opc Ua
  • Rest
  • Swagger
  • Postman
  • Csv
  • Json
  • Xml
  • Protobuf
  • Unit Testing
  • Roslyn
  • Dependency Injection
  • Valgrind
  • Vtune
  • Threadsanitizer
  • I2c
  • Spi
  • Jenkins
  • Github Actions
  • Bamboo
  • Devops
  • Opencv
  • Boost
  • Pandas
  • Numpy
  • Msbuild
  • Cmake
  • Wpf
  • Qt
  • Winforms
  • Mfc
  • Jira
  • Confluence
  • Conan
  • Vcpkg
  • Nuget
  • Maven
  • Gradle
  • Docker
  • Kubernetes
  • Openshift
  • Terraform
  • Azure

Languages

German
Native
English
Advanced

Education

Oct 2000 - Jun 2006

University of Freiburg

Diploma in Computer Science, focus: pattern recognition, image processing, computer vision; minor: Physics · Computer Science · Freiburg im Breisgau, Germany

Wendalinum Grammar School

High School Diploma · Sankt Wendel, Germany

Certifications & licenses

AUTOSAR Workshop

Blockchain - security without a trust center

CAN bus basics

Introduction to quantum computing

Quantum information and cryptography

Quantum Computing with Qiskit

ECU testing with CANoe and vTESTstudio

Profile

Created
Last Update
Need a freelancer? Find your match in seconds.
Try FRATCH GPT
More actions

Frequently asked questions

Do you have questions? Here you can find further information.

Where is Matthias based?

Matthias is based in Böblingen, Germany and prefers 100% remote projects.

What languages does Matthias speak?

Matthias speaks the following languages: German (Native), English (Advanced).

How many years of experience does Matthias have?

Matthias has at least 19 years of experience. During this time, Matthias has worked in at least 8 different roles and for 9 different companies. The average length of individual experience is 11 months. Note that Matthias may not have shared all experience and actually has more experience.

What roles would Matthias be best suited for?

Based on recent experience, Matthias would be well-suited for roles such as: Software developer and consultant, Software analyst and developer, Software developer, test developer.

What is Matthias's latest experience?

Matthias's most recent position is Software developer and consultant at CLADE GmbH.

What companies has Matthias worked for in recent years?

In recent years, Matthias has worked for CLADE GmbH, confidential, Vector Informatik GmbH, Fari Software GmbH, and Advantest Europe GmbH.

Which industries is Matthias most experienced in?

Matthias is most experienced in industries like Manufacturing, Automotive, and Information Technology (IT).

Which business areas is Matthias most experienced in?

Matthias is most experienced in business areas like Information Technology (IT), Product Development, and Project Management. Matthias also has some experience in Quality Assurance (QA), Operations, and Business Intelligence.

Which industries has Matthias worked in recently?

Matthias has recently worked in industries like Information Technology (IT), Automotive, and Manufacturing.

Which business areas has Matthias worked in recently?

Matthias has recently worked in business areas like Information Technology (IT), Product Development, and Operations.

What is Matthias's education?

Matthias holds a Master in Computer Science from University of Freiburg.

Does Matthias have any certificates?

Matthias has 7 certificates. Among them, these include: AUTOSAR Workshop, Blockchain - security without a trust center, and CAN bus basics.

What is the availability of Matthias?

Matthias is immediately available full-time for suitable projects.

What is the rate of Matthias?

Matthias's rate depends on the specific project requirements. Please use the Meet button on the profile to schedule a meeting and discuss the details.

How to hire Matthias?

To hire Matthias, click the Meet button on the profile to request a meeting and discuss your project needs.

Average rates for similar positions

Rates are based on recent contracts and do not include FRATCH margin.

1000
750
500
250
Market avg: 820-980 €
The rates shown represent the typical market range for freelancers in this position based on recent contracts on our platform.
Actual rates may vary depending on seniority level, experience, skill specialization, project complexity, and engagement length.