Adrian Guzowski

I'm a years old C/C++ developer - both as a hobbyist and a professional. I started coding in C++ at age 15 and since then I've been working mainly on low-level component development like network stack implementations, APIs design and implementations, embedding scripting languages in various projects etc. For a while I also worked in web development, mainly utilizing PHP, JavaScript, HTML & CSS languages.

Getting in touch / social media / code repositories:

Experience

Commercial

Senior C/C++ Developer

Inspeerity Sp. z o.o.
Remote

Main area of the project is the next generation of IoT devices utilizing Bluetooth Mesh technology. I maintain the following projects:

C++ library that is a part of a system service which runs on embedded "box" (with Linux on board) and provides a bridge between Bluetooth proxy device and a REST API provided by the service. Library handles UART operations, communication protocol and binding between UART packets and service via its C-compatible API. Library is written mostly in C++11 with CMake and according to lcov has a 85%+ coverage in functional and unit tests.

Android 6.0+ application that is responsible for provisioning Mesh devices. App is written purely in Kotlin, for Bluetooth Mesh backend uses Silicon Labs' library. Application sends devices' information to REST API which is later consumed by a Web Service frontend used by end user. Besides Bluetooth module, it also utilizes Camera module for capturing QR codes with device info.

April 2019 - current

Senior C++ Developer

Grape Up Sp. z o.o.
Białystok

I was part of a 50+ development team that was working on a library called Avaya Breeze™ Client SDK (product page), which encapsulates business logic for all major platforms - Windows, Android, iOS, macOS & GNU/Linux (I was responsible for Windows and GNU/Linux). My role in the team was to develop low-level components, like network stack (HTTP, HTTPS, WebSocket) with tying it to target function providers, like screen sharing, contact management, text messaging). I also helped with project migration to CMake in order to simplify build procedure, pushed with C++ upgrade to C++11, maintained a third-party libraries, along with rebuilding, updating and patching (notable examples: Android SDK, Poco with patches, OpenSSL). In addition, we have covered significant part of owned features with unit tests which were done using Google's Test C++ framework.

March 2015 - September 2018

Junior Web Developer

NET Innovation Software Sp. z o.o.
Białystok

My main responsibility was development of loan management web application (product page), written in PHP & Yii and PostgreSQL. Core features of this application were loan management, statistics calculation basing on current data, administration of employees and clients, automatic accounting of bank transfers from clients (MT940 format), generating reminders by mail / SMS about overdue payments, exporting bank dispositions in a format compatible with Elixir sessions, Quality Assurance of contracts. Besides that I was doing minor fixes and improvements to Piotr i Paweł on-line shop application.

October 2013 - January 2015

Regular C++ Developer

WTW.im Sp. z o.o.
Remote

I was responsible for implementation of Squirrel scripting engine, which was used to implement various instances of Internet SMS gateways. This feature added ability to send SMS messages to mobile phones directly from application. Another feature that I was responsible was reverse-engineering binary protocol of Gadu-Gadu (which turned out to be based on Google's Protocol Buffers) and implement found changes in protoGG plugin.

April 2012 - June 2012

Independent projects

Surveillance camera

C++ / Makefile / Bash / PHP / HTML / Buildroot

Fully functional surveillance camera based on Raspberry Pi 2 Model B SBC, Wi-Fi card and Waveshare Night Vision camera module. The device is fully automated, requires 230V AC and is equipped with backup battery that allows constant video feed during power outages. Software is based on GNU/Linux custom distribution created using Buildroot scripts. Capture software is a combination of Bash scripts, FFmpeg binary, Raspberry Pi Userland application (raspivid) and a custom made Camera Streamer application responsible for sending video over the network and managing video backlog. Server-side scripts that handle playlist generation are written in PHP.

Project description
2018 - 2019

Education

Białystok Technical University

Master of Computer Science
MSc thesis: Testing server application's performance in embedded systems

Tests were done using Raspberry Pi Model B as a base platform. Testing covered Apache httpd 2.4 in various configurations (worker / prefork) and a lighttpd server. Most common use-cases were tested: static small and large file download, sending data through PHP scripts and long-running computations in PHP scripts.

March 2012 - July 2013

Skills

Programming Languages & Tools
  • C/C++ (11+)
  • Kotlin
  • PHP 5.x
  • HTML5 & CSS3
  • JavaScript
  • Visual Studio
  • CLion
  • Git
  • Subversion
  • Bash
  • Google Test
  • WinAPI
  • Boost
  • OpenSSL
  • Poco
  • Windows
  • Linux
  • Buildroot / Embedded Linux
  • Android

Workflow
  • Agile Development
  • Test Driven Development

Interests

Watching TV series in awful amount.
Riding on a bike.
Trying to be an electronic engineer by playing around with ATMega, Espressif ESP8266 or Raspberry Pi microcontrollers.
Playing mechanic with my car.
Impersonating Bob the Builder on my construction site.
Managing a herd of cats.