Matthias Spiller-Software Developer and Consultant
Check rate
Experience
Software Developer and Consultant
CLADE GmbH
- Analysis of the existing CAN communication between microcontrollers
- Analysis of the sensors used and the measured values collected
- Planning the CAN messages for transmitting the measured values
- Iterative adjustment of the microcontroller code to the new CAN messages
- Cross-compilation from x64 to arm64
Software Developer and Consultant
confidential
- Parsing C# code with Roslyn
- Dynamically extending C# code with new methods, classes, properties, and fields
- Generating C# code as mocks
- In-memory compilation of C# projects with error analysis
- Providing the functionality through a Web API (REST)
- Reworking a prototype into a production-ready solution
- Reducing technical debt through architectural rework and creating unit tests
Software Developer and Consultant
CLADE GmbH
- Code and architecture review
- Sparring partner for questions about software development and architecture
- Analysis of bus system communication
- Automated testing of embedded code
Software Analyst and Developer
CLADE GmbH
- Analysis of crash dumps and memory leaks on Embedded Linux, memory profiling
- Runtime analysis with debugger, valgrind, and ThreadSanitizer on a single-board computer with Embedded Linux
- Analysis of bus system communication
- Debugging embedded code, sensors, and actuators of a microprocessor
- Fixing memory management and multithreading issues in C++ and C#
- Documenting the findings, solutions, and best practices to avoid the problems
Software Developer, Test Developer
Vector Informatik GmbH
- Analysis of the ASAM interface definition and the existing code
- Implementing the ASAM XIL interface in C#
- Connecting the existing C++ code through an RPC interface
- Implementing the functionality in C++
- Mapping ASAM commands to the bus system level
- Creating development-accompanying and automated tests with CAPL and NUnit
Software Developer, Hardware Developer
Fari Software GmbH
- Circuit design
- Development of embedded software
- Connection to an electronic piano via USB and receiving and sending MIDI messages
- Mirroring the keys of the electronic piano for left-handed users
Software Developer, Test Developer
Vector Informatik GmbH
- Analysis of the existing code
- Creation of a concept for converting the existing generator
- Creating test units with vTESTstudio and CAPL at bus system level
- Simulation of LIN control units with CANoe
- Development of the new generator in C++ and C#
- Development-accompanying tests
Software Developer, Hardware Developer
Fari Software GmbH
- Development of a prototype for a wireless color sensor
- Circuit design
- Creating the embedded software
- Reading the sensors and sending the data via Bluetooth Low Energy (BLE)
- Creating desktop software for communication with the module
Software Developer, DevOps Developer
Vector Informatik GmbH
- Configuration of conan as 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
- Creating CI/CD pipelines in GitHub Actions for conan packages and upload to Artifactory
- Creating base images for CI/CD pipelines
Software Developer, Language Developer
Vector Informatik GmbH
- Specification of the DSL
- Architecture and implementation of the DSL with Xtext and Xtend
- Creating an extension for VSCode via the Language Server Protocol
- Generator for C#, C++ and C code from the DSL for control software
- Generator for HTML documentation from the DSL
- Creating a CI/CD pipeline for automated generation from the DSL
- Live query of JIRA via REST for validation of the DSL against requirements
- Extending the DSL data model with information from protobuf files
Software Developer
Advantest Europe GmbH
- Automatic generation of Python wrappers around existing C++ code
- Embedding the Python interpreter using pybind11
- Performance analysis and improvement by avoiding too many IPC calls
- Uploading and running a Python script on the server
- Connecting a Java API to the Python interpreter
Software Developer, DevOps Developer
Vector Informatik GmbH
- Creating a tool with C# and WPF for test configuration for smart charging protocols
- Creating an installer for the tool
- Setting up an automated build and deployment pipeline
- Simulating a charging station and the vehicle with CANoe
Software Developer
NELA Brüder Neumeister GmbH
- Design, development, and verification of 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 test specimens
- Commissioning the test programs at the customer's site
- Integrating OPC UA for communication with machine controllers
Software Developer, DevOps Developer
flexis AG
- Creating and maintaining Python libraries for data analysis
- Porting C++ code to Python
- Migration from Python 2 to Python 3
- Architecture and development of a data processing pipeline using PostgreSQL with microservices
- Deployment and operation 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
Software Developer
TetraTec Instruments GmbH
- Adopting the data models from an existing MSSQL database
- Automatic generation of the API from the existing data model
- Creating reports from the database using LaTeX
Software Developer, Test Developer
Vector Informatik GmbH
- Analysis of customer requirements for a diagnostics-over-IP framework
- Implementation of the framework with CAPL in vTESTstudio
- Creating a panel for parameterizing the framework
- Creating tests according to customer specifications
- Simulation of control unit, gateway, and tester with CANoe
Software Developer
Aquilius Research GmbH
- Analysis of customer requirements and bug reports
- Implementation of features and bug fixes
- Automated unit tests
- Analysis of crash dumps and memory leaks
- Performance measurements and improvements
Software Developer
TetraTec Instruments GmbH
- Specification, design, implementation, and testing of control software for a compressed air test bench
- Control of external hardware
- Implementation of test sequences
- Creating a UI with WinForms
- Commissioning of the software at the test bench
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 testing at bus system level
- Simulation and testing of control units at bus system level
- Analysis of crash dumps and memory leaks
- Evaluation and introduction of JIRA as a company-wide issue tracking system
- Development of an add-on for JIRA to support company-specific processes
Software Developer
Advantest Europe GmbH
- Responsibility for the central sequence control of the IC tester software, the customer-relevant 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 of a team with up to 7 engineers
- Evaluation and introduction of new tools and technologies
- Professional guidance and coaching of 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
Industry Experience
See where this freelancer has spent most of their professional time.
Experienced in Manufacturing, Automotive, and Information Technology.
Business Area Experience
See which departments and functions this freelancer has contributed to most.
Experienced in Information Technology, Product Development, Project Management, Quality Assurance, Operations, and Research and Development.
Summary
Matthias Spiller is a senior software developer with over 19 years of experience in the development, maintenance, and modernization of technical software systems — especially in embedded, automotive, and industrial environments. He helps companies get unstable or outdated systems back under control: through solid debugging, targeted performance optimization, modernization of legacy code, and building 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-functional tasks: architecture consulting, interface design, DSL development (Xtext), or refactoring work when there is technical debt.
Typical areas of use are embedded devices, controllers, diagnostic tools, data pipelines, or simulation environments — also where documentation is missing or systems have passed through many hands. He works through his GmbH, prefers remote work, and is also 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
Education
University of Freiburg
Diploma in Computer Science, focus: pattern recognition, image processing, computer vision; minor: physics · Computer Science · Freiburg im Breisgau, Germany
Gymnasium Wendalinum
Abitur · 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
Statistics
Experience
Global Experience
Expertise
Qualifications
Profile
Frequently asked questions
Have questions? Find more information here.
Average rates for similar positions
Rates are based on recent contracts and do not include FRATCH margin.
Similar Freelancers
Discover other experts with similar qualifications and experience
Experts recently working on similar projects
Freelancers with hands-on experience in comparable project as a Software Developer and Consultant
Nearby freelancers
Professionals working in or nearby Böblingen, Germany
