Senior Software Engineer
2019 - 2021Leybold 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, 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 ScriptC++ Engineer (Embedded Linux)
2019 - 2021Chubb 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 ScriptSenior Software Engineer
2011 - 2018Self-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, Arduino, C++11, C++14, Computer Engineering, Debian, Linux IPC, Networking, Automated Testing, Python 3, Bash, Bash ScriptSenior Software Development Engineer
2004 - 2010Swarco- 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, 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, Computer Engineering, Debian, Embedded C, Linux IPC, Networking, Remote Team Leadership, RTOS, Software Architecture, Automated Testing, Python 3, Bash, Bash ScriptSoftware Developer
2002 - 2004ProFile 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++, CORBA, C, Perl, XSL, XML, Qt, Software Engineering, TCP/IP, Shell Scripting, Makefile, Bash, Bash ScriptSenior Software Developer | Network Administrator
2000 - 2002Fibernet- 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, DNS, Qmail, LDAP, Apache, MySQL, Perl, PHP, TCP/IP, Makefile, Bash, Bash Script