Mirosław Opoka, Developer in Innsbruck, Austria
Mirosław is available for hire
Hire Mirosław

Mirosław Opoka

Verified Expert  in Engineering

Software Developer

Location
Innsbruck, Austria
Toptal Member Since
November 11, 2015

Miroslaw is a software engineer with 20+ years of experience, translating business dreams into actionable plans, robust architectures, and maintainable products. He specializes in object-oriented solutions for Linux and embedded systems with C, C++, and Python for industrial applications where reliability and safety are critical. Miroslaw fosters open communication to ensure that the business logic is well understood, the code is clean and readable, and the final product is future-proof.

Portfolio

<not provided>
Bash, C++, Automated Testing, C++17, CMake, Refactoring, Software Architecture...
Miele
Automated Testing, C++, CMake, Visual Studio Code (VS Code), Google Test...
Leybold GmbH
Object-oriented Programming (OOP), Embedded Systems, Code Architecture...

Experience

Availability

Part-time

Preferred Environment

Python, C++17, Embedded C++, CMake, Git, Debian, Linux, Automated Testing, C++

The most amazing...

...project I've coded was a fast data bus for exchanging messages between connected processes on an embedded platform.

Work Experience

Senior Software Engineer

2023 - 2024
<not provided>
  • Analyzed old software and customer's requirements for proposing a complete refactoring which ended up in rewriting over 90% of the code base and adding several new business features.
  • Improved system stability and reliability from the customer's point of view.
  • Worked closely with the customer to discover the most critical part of the system that needed to be delivered first.
Technologies: Bash, C++, Automated Testing, C++17, CMake, Refactoring, Software Architecture, Git

Senior Software Engineer

2022 - 2023
Miele
  • Developed code in highly regulated environments, aiming to reach over 90% code coverage.
  • Contributed to the code of conduct by proposing modernization of coding standards.
  • Developed code focusing on multiplatform operability (target: embedded Linux, tests: Windows).
Technologies: Automated Testing, C++, CMake, Visual Studio Code (VS Code), Google Test, Python, Jira, Git

Senior Software Engineer

2019 - 2021
Leybold GmbH
  • Designed a robust embedded-software architecture that allows non-technical users to build embedded systems. In that way, new products don't have to be coded in C/C++ at all.
  • Contributed to establishing state-of-the-art coding practices to ensure code quality.
  • Consulted and served as a tech lead for several subcontractors working on the project.
  • Wrote the initial POC code, which included embedding a system of easily-selectable and domain-specific components, a code generator "gluing" the common part with a project-specific one, and building a system for full automation.
Technologies: Object-oriented Programming (OOP), Embedded Systems, Code Architecture, Unix Shell Scripting, Git, C, Code Generators, Shell Scripting, Python, Remote Team Leadership, Software Architecture, STM32, Embedded C, Embedded Linux, Embedded C++, CMake, C++17, C++, Test-driven Development (TDD), Embedded Software, Embedded Development, IP Networks, Software Engineering, CAN Bus, CANopen, Real-time Operating System (RTOS), TCP/IP, Standard Template Library (STL), Makefile, CI/CD Pipelines, Computer Engineering, Debian, Linux, Linux IPC, C++11, C++14, Team Leadership, Networking, Automated Testing, Python 3, Bash, Bash Script

C++ Engineer (Embedded Linux)

2019 - 2021
Chubb Fire and Security
  • Redesigned an old, mission-critical C application into distributed, C++17 networking applications on the newly embedded Linux, running on mangOH hardware.
  • Introduced TDD for a brand new version of the system.
  • Modularized the software and tests (TDD), which led to much faster development because it shortened the feedback loop significantly. The target was an embedded Linux system.
Technologies: Embedded C, Software Architecture, Object-oriented Programming (OOP), Unix Shell Scripting, Embedded Systems, C, Code Architecture, Python, Embedded C++, Git, Linux, C++, Embedded Software, TCP/IP, Embedded Linux, CMake, C++17, Test-driven Development (TDD), Embedded Development, Software Engineering, IP Networks, Shell Scripting, Standard Template Library (STL), Makefile, GSM, Networking, CI/CD Pipelines, C++11, C++14, Automated Testing, Python 3, Bash, Bash Script

Senior Software Engineer

2011 - 2018
Self-employed
  • Created a FastCGI and WebSockets multiprocess back end in C++11 for a web interface for a traffic light controller. The back end ran efficiently on a very resource-limited embedded device.
  • Created a Docker-based system to simulate different types of embedded Linux devices connected to a web-based central system. As a result, testing the central system and developing new features did not require many real hardware devices.
  • Sped up and optimized a web platform for a traffic light controller, delivering it on time for the client's trade show.
  • Coded a portal for price and review comparisons of Amazon products.
Technologies: Embedded C, Software Architecture, Object-oriented Programming (OOP), Unix Shell Scripting, Embedded Systems, CMake, Traffic Engineering, MySQL, Code Architecture, Embedded C++, Team Leadership, Git, Linux, Embedded Software, STM32, Python, Embedded Linux, Standard Template Library (STL), C++17, C++, C, IP Networks, Software Engineering, Test-driven Development (TDD), Embedded Development, Code Generators, TCP/IP, Shell Scripting, Google Test, Makefile, C++11, C++14, Computer Engineering, Debian, Linux IPC, Networking, Automated Testing, Python 3, Bash, Bash Script

Senior Software Development Engineer

2004 - 2010
Swarco
  • Ported a traffic light controller from 386 to ARM on embedded Linux.
  • Built Linux kernel modules to support a traffic light controller.
  • Created an interprocess-communication daemon (data bus) optimized for embedded Linux.
  • Wrote a high-performance wrapper library for communicating with the traffic light controller used in Holland.
  • Developed a web administration platform with the back end in C and the front end in Ext JS.
Technologies: Object-oriented Programming (OOP), Unix Shell Scripting, Embedded Systems, CMake, Traffic Engineering, MySQL, Code Architecture, Python, Embedded C++, Git, Embedded Linux, Linux, Embedded Software, C++, C, Code Generators, IP Networks, Software Engineering, CAN Bus, Embedded Development, TCP/IP, Shell Scripting, Standard Template Library (STL), Google Test, Makefile, Computer Engineering, Debian, Embedded C, Linux IPC, Networking, Remote Team Leadership, Real-time Operating System (RTOS), Software Architecture, Automated Testing, Python 3, Bash, Bash Script

Software Developer

2002 - 2004
ProFile Computersysteme GmbH
  • Created a simulator of sports events so the system could be tested with past data. Examples of events in a soccer match include passing a ball from one player to another or scoring a goal.
  • Used Perl and XSLT for processing data between collection and metrics calculation.
  • Created code for controlling a video mixer. It was a shared library, and the code was written so that it could be compiled for both Windows and Linux without any changes.
Technologies: Object-oriented Programming (OOP), Unix Shell Scripting, MySQL, Code Architecture, Linux, C++, C, Software Engineering, TCP/IP, Shell Scripting, Makefile, Bash, Bash Script

Senior Software Developer | Network Administrator

2000 - 2002
Fibernet
  • Co-authored a fully automated web-hosting system—one of the first in Poland.
  • Designed and coded web-based portals (LAMP) for different customers.
  • Provided network administration for company servers: Linux, FreeBSD, OpenBSD, and Solaris.
Technologies: Unix Shell Scripting, C, Linux, C++, Shell Scripting, MySQL, TCP/IP, Makefile, Bash, Bash Script

Robust Software Architecture for a Family of Embedded Systems

Designed software architecture for the STM32-based system with clear separation of low-level code and business logic, developed a set of tests for the latter, and automated execution (CI). With this approach, the product was ready for final release much faster than it would have been with traditional embedded development.

C++ Code Generators

Designed and implemented C++ code generators in Python to create user-specific parts of the whole system. These allowed for the creation of highly customized embedded products and significantly cut new product development costs by reducing the risk of low-level programming.

Fast Interprocess Communication Mechanism

Created a fast data bus for exchanging messages between connected processes for an embedded Linux platform. It supported direct and broadcast messages and a subscription mechanism. The focus was on performance, low memory and CPU footprint, and, most of all, ease of use. The final product was able to process thousands of messages per second on a piece of hardware with just a few MB of RAM and a CPU that was a few times slower than those currently used low-end mobile phones.
1996 - 2001

Master's Degree in Computer Engineering

West Pomeranian University of Technology - Szczecin, Poland

Libraries/APIs

Standard Template Library (STL)

Tools

Makefile, Git, CMake, Jira

Languages

C++17, Embedded C, C, C++, Python, Embedded C++, C++11, C++14, Python 3, Bash, Bash Script

Paradigms

Object-oriented Programming (OOP), Test-driven Development (TDD), Automated Testing, Refactoring

Platforms

Debian, Embedded Linux, Linux, STM32, Visual Studio Code (VS Code)

Storage

MySQL

Frameworks

Google Test

Other

Code Architecture, Shell Scripting, TCP/IP, Team Leadership, Software Architecture, Remote Team Leadership, Embedded Development, Traffic Engineering, Embedded Systems, Unix Shell Scripting, Software Engineering, Computer Engineering, Linux IPC, Networking, IP Networks, Code Generators, Embedded Software, GSM, CAN Bus, CANopen, Real-time Operating System (RTOS), CI/CD Pipelines

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