Mirosław Opoka
Verified Expert in Engineering
Software Developer
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 the business logic is well understood, the code is clean and readable, and the final product is future-proof.
Portfolio
Experience
- Linux - 20 years
- C++ - 20 years
- Code Architecture - 17 years
- Embedded Linux - 16 years
- Embedded Systems - 16 years
- Embedded C++ - 10 years
- Python - 10 years
- Git - 10 years
Availability
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
Industrial Equipment Manufacturer
- Analyzed the old software and the customer's requirements for proposing a complete refactoring, which resulted in rewriting over 90% of the codebase 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.
Senior Software Engineer
Miele
- Developed code in highly regulated environments, aiming to reach over 90% code coverage.
- Contributed to the code of conduct by proposing the modernization of coding standards.
- Developed code focusing on multiplatform operability (target: embedded Linux, tests: Windows).
Senior Software Engineer
Atlas Copco U.K.
- Designed a robust embedded-software architecture that allows non-technical users to build embedded systems. That way, new products don't have to be coded in C/C++.
- 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.
C++ Engineer (Embedded Linux)
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.
Senior Software Engineer
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.
Senior Software Development Engineer
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.
Software Developer
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.
Senior Software Developer | Network Administrator
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.
Experience
Robust Software Architecture for a Family of Embedded Systems
C++ Code Generators
Fast Interprocess Communication Mechanism
Education
Master's Degree in Computer Engineering
West Pomeranian University of Technology - Szczecin, Poland
Skills
Libraries/APIs
Standard Template Library (STL), POSIX
Tools
Makefile, Git, CMake, MQTT, Jira
Languages
C++17, Embedded C, C, C++, Python, Embedded C++, C++11, C++14, Python 3, Bash, Bash Script, XML, JavaScript
Paradigms
Object-oriented Programming (OOP), Test-driven Development (TDD), Automated Testing, Refactoring
Platforms
Debian, Embedded Linux, Linux, STM32, Visual Studio Code (VS Code)
Frameworks
Google Test
Storage
MySQL
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, Optimization, Performance, Memory Management, Legacy Code, Memory Leaks, Legacy Software, IP Networks, Code Generators, Embedded Software, CAN Bus, GSM, Multithreading, Firmware, RS-232, Electronics, Serial Communication, CANopen, Real-time Operating System (RTOS), CI/CD Pipelines
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring