Mirosław Opoka, Software Developer in Innsbruck, Austria
Mirosław Opoka

Software Developer in Innsbruck, Austria

Member since May 5, 2015
Miroslaw holds a master's degree in computer science and has spent the past 2 decades designing and developing software for embedded Linux systems (also real-time), where reliability and efficiency is vital. His focus lies with object-oriented networking applications which also include web back-end solutions written with C/C++ or Python.
Mirosław is now available for hire

Portfolio

  • Chubb Fire and Security
    Embedded C, Software Architecture, Object-oriented Programming (OOP)...
  • Self-employed
    Embedded C, Software Architecture, Object-oriented Programming (OOP)...
  • Leybold GmbH
    Object-oriented Programming (OOP), Embedded Systems, Code Architecture...

Experience

Location

Innsbruck, Austria

Availability

Part-time

Preferred Environment

Python, C++17, Embedded C++, CMake, Git, Vim Text Editor, Debian, Linux

The most amazing...

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

Employment

  • C++ Engineer (Embedded Linux)

    2019 - PRESENT
    Chubb Fire and Security
    • Redesigned an old mission-critical C application to a distributed C++17 networking application(s) on new embedded Linux running on Mangoh hardware.
    • Introduced TDD development for brand new vesion of the system.
    • Modularized the software which together with tests (TDD) lead to much faster development since it shortened the feedback loop significantly (target was 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
  • Software Engineer

    2011 - PRESENT
    Self-employed
    • Created an FCGI and WebSockets multi-process back end in C++11 for a web interface for a traffic light controller. The back end was able to run efficiently on a very resource-limited embedded device.
    • Created a Docker-based system for simulating different types of embedded Linux devices connected to a web-based central system. Thanks to that, testing the central system and developing new features did not require having many real hardware devices.
    • Sped up/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, Arduino
  • Senior Software Engineer

    2019 - 2021
    Leybold GmbH
    • Designed robust embedded software architecture allowing non-technical users build embedded systems. In that way a new products do not have to be coded in C/C++ at all.
    • Contributed to establish state-of-the-art coding practices ensuring quality of the code.
    • Consulted and served as a tech lead for (some) subcontractors working on the project.
    • Wrote the initial POC code which included embedding a system consisting 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, RTOS, TCP/IP, Standard Template Library (STL), Makefile
  • 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 inter-process 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 (backend in C, frontend in ExtJS).
    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, Ext JS, JavaScript, C++, C, Code Generators, IP Networks, Software Engineering, CAN Bus, Embedded Development, TCP/IP, Shell Scripting, Standard Template Library (STL), Google Test, Makefile
  • Software Developer

    2002 - 2004
    ProFile Computersysteme GmbH
    • Built OOP networking applications in C++ and Perl.
    Technologies: Object-oriented Programming (OOP), Unix Shell Scripting, MySQL, Code Architecture, Linux, C++, CORBA, C, Perl, XSL, XML, Qt, Software Engineering, TCP/IP, Shell Scripting, Makefile
  • Senior Software Developer | Network Administrator

    2000 - 2002
    Fibernet
    • Co-authored a fully automated web-hosting system.
    • Designed and coded web-based portals (LAMP).
    • Provided network administration.
    Technologies: Unix Shell Scripting, C, Linux, C++, Shell Scripting, DNS, Qmail, LDAP, Apache, MySQL, Perl, PHP, TCP/IP, Makefile

Experience

  • Fast Message Bus

    Created a fast data bus for exchanging messages between connected processes on an embedded platform. It supported direct and broadcast messages and subscription mechanism. The focus was on performance and low memory and CPU footprint since this had to process up to 1000 messages per second on a piece of hardware with just a few MB of RAM and a CPU with a 180MHz clock which was already very busy with several other processes.

  • Starzonia

    Wrote a Python back-end for checking the price of identical products across several Amazon stores. It calculates price including shipping to the given destination country (by default the place where the viewer was). It can also calculate the overall rating of a product taking into account all reviews (stars) from several Amazon stores.

Skills

  • Languages

    C++17, Embedded C, C, C++, Python, Embedded C++, JavaScript
  • Libraries/APIs

    Standard Template Library (STL)
  • Tools

    Makefile, Git, CMake
  • Paradigms

    Object-oriented Programming (OOP), Test-driven Development (TDD)
  • Platforms

    Debian, Embedded Linux, Linux, Arduino, STM32
  • 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, IP Networks, Code Generators, Embedded Software, CAN Bus, CANopen, RTOS
  • Frameworks

    Google Test
  • Storage

    MySQL

Education

  • Master's degree in Computer Engineering
    1996 - 2001
    West Pomeranian University of Technology - Szczecin, Poland

To view more profiles

Join Toptal
Share it with others