Przemek Urbanski, Developer in Szczecin, Poland
Przemek is available for hire
Hire Przemek

Przemek Urbanski

Verified Expert  in Engineering

Software Developer

Location
Szczecin, Poland
Toptal Member Since
January 19, 2020

Przemek is an exceptionally skilled engineer with a master's degree in computer science. With over 25 years of hands-on experience, Przemek is equipped with a wide range of technical skills and technologies. He has built and led successful projects for complex multi-tier systems and early-stage startups. Przemek worked for the public sector, finances, aerospace agencies, media, ISP, and car manufacturers. His most vital saying is that he is not running away from problems but solving them.

Portfolio

PureCode.IT
Angular, TypeScript, Amazon Web Services (AWS), Authentication, GraphQL, REST...
PureCode.IT
C, C++, Embedded C, Embedded C++, LoRa, GPS, Bluetooth, ESP32, FreeRTOS, Python...
Toyota Research Institute – Advanced Development
Python, C++, Data Engineering, Scrum, Docker, Data Pipelines...

Experience

Availability

Part-time

Preferred Environment

Linux, C++, Python, Django, Angular, TypeScript

The most amazing...

...thing I've experienced is winning an internal competition for the most performant prototype of a trade exchange system.

Work Experience

Senior Full-stack Developer

2022 - PRESENT
PureCode.IT
  • Developed a front end and back end to allow customers to track their wealth and calculate the rate of return on their savings and assets.
  • Researched, designed, and then interconnected back end to remote financial API, which allows gathering historical data of financial assets.
  • Analyzed and implemented various financial calculations which allow calculating the rate of return and other markers on user savings.
Technologies: Angular, TypeScript, Amazon Web Services (AWS), Authentication, GraphQL, REST, Django, Python

Technical Leader

2020 - PRESENT
PureCode.IT
  • Created a fully functional aircraft cockpit in-flight instrument. The instrument has onboard: pressure sensors, an accelerometer, a gyroscope, a magnetometer, GPS, LoRa, BT, wifi, I2S, and LCD.
  • Designed, soldered, tested, and manufactured multiple printed circuit board (PCB) revisions.
  • Designed and implemented multithreaded, embedded firmware for ESP32 based on FreeRTOS.
  • Developed a Java/Kotlin Android flight navigation application to interface with plane instruments via Bluetooth.
  • Designed automated over-the-air remote firmware updates.
  • Implemented a REST API on the firmware side to control devices via wifi.
  • Coordinated integration of software used for data processing for websites like Flightradar.
  • Designed and developed sensor data gathering and processing, including pressure sensors, an accelerometer, a magnetometer, a gyroscope, GPS, and LoRa.
  • Coordinated hardware box design and manufacturing.
  • Equipped it with a soldering station, hot air station, microscope, soldering reflow oven, 3D printers, and many others.
Technologies: C, C++, Embedded C, Embedded C++, LoRa, GPS, Bluetooth, ESP32, FreeRTOS, Python, Firmware, Sensor Data, KiCad, HTTP, REST, Accelerometers, I2C, Soldering, Embedded Software, Firmware over the Air (FOTA), Raspberry Pi, OOP Designs, Software Engineering, Algorithms, Linux Administration, Linux Server Administration, Agile Software Development, IP Networks, Device Drivers, Amazon Web Services (AWS), Embedded Systems, Low-level Programming, Android, Embedded Development, Django, Architecture, Hardware, Arduino IDE, Team Leadership, REST APIs, Leadership, Full-stack, Node.js, GraphQL, React, DevOps, Circuit Design, Electrical Engineering, APIs, Mobile, PCB Layout, PCB Design, PCB, Java, PlatformIO, C++17, Robotics, Embedded Hardware, Kotlin, AWS Lambda

Senior Software Engineer

2020 - 2021
Toyota Research Institute – Advanced Development
  • Designed and developed an automated ETL pipeline to process car road map data.
  • Designed and implemented algorithms for analysis of car road map data, such as lane counts and detection of lane joints/branches and tunnels.
  • Created a Java/Kotlin-based REST API for AWS Lambda execution with automatic Terraform-based deployment.
  • Set up and administered a PostgreSQL database with PostGIS extensions.
  • Introduced significant optimization of database queries and code execution to meet tight REST API timeout limits.
  • Implemented a QGIS plugin to manually test the results of car road map algorithms and the correctness of ETL processing.
Technologies: Python, C++, Data Engineering, Scrum, Docker, Data Pipelines, Amazon Web Services (AWS), Computer Vision, Image Processing, Terraform, PostgreSQL, REST APIs, ETL, QGIS, C, OOP Designs, Software Engineering, Algorithms, Linux Administration, Linux Server Administration, Back-end Development, MySQL, SQLite, Agile Software Development, IP Networks, Java, Android, Architecture, Leadership, DevOps, APIs, PostGIS, GIS, Mobile, C++17, Kotlin, AWS Lambda, Technical Consulting

Senior Full-stack Developer

2020 - 2020
Toyota
  • Researched and tested many e-learning solutions in order to find a system that could be adjusted to the client's needs.
  • Deployed, customized, and further developed a web-based e-learning platform.
  • Deployed and administrated an online video streaming solution to allow the company employees to participate in remote classes and meetings during lockdown due to the pandemic.
  • Created an AWS-based infrastructure to host all systems and databases needed for the e-learning and video streaming platform.
  • Supervised and improved security on Linux-based servers.
  • Integrated the web e-learning system with a Google authentication API.
  • Wrote extensive documentation for deployed systems administrators and future maintainers.
Technologies: Amazon Web Services (AWS), CSS, HTML, Bash, Git, TCP/IP, Networking, VoIP, PostgreSQL, Google API, Linux, JavaScript, PHP, Python, Software Engineering, Linux Administration, Linux Server Administration, Back-end Development, Web Development, MySQL, Agile Software Development, Terraform, Django, PostGIS, REST APIs, Full-stack, Node.js, GraphQL, React, DevOps, APIs, GIS, QGIS, Spring Boot, Technical Consulting

Python Developer

2020 - 2020
Acer
  • Designed and implemented a highly configurable and extensible Python application which maps data coming from a database, Excel spreadsheet, and INI files into a preset XML template.
  • Developed many unit tests and system tests—code coverage around 90%.
  • Created a Linux-based Docker container with all application software and dependencies.
  • Wrote basic shell scripts to simplify application usage.
  • Wrote extensive documentation and prepared many examples for future users and developers.
Technologies: Git, Bash, Linux, Oracle, PostgreSQL, ODBC, SQL, Docker, Python, Software Engineering, MySQL, SQLite, Agile Software Development, Amazon Web Services (AWS), Java, Architecture, Unit Testing, DevOps, Technical Consulting

Senior Software Developer

2018 - 2019
Bank of America
  • Upgraded the complex equity trades valuation system to use the latest derivatives analytics library.
  • Implemented software for the valuation and pricing of new types of equity trades.
  • Developed Python scripts to administrate, diagnose, and troubleshoot the trades risk assessment platform.
  • Debugged and fixed bugs exposed in equities and data reference systems.
  • Mentored and supervised less experienced team members in Java and Python development and Linux engineering.
  • Introduced and deployed new test and mocking frameworks for C++ and Java system components.
  • Migrated equities and data reference systems tools and components from Python 2 to Python 3.
Technologies: Makefile, Git, Oracle, SQL, Bash, Linux, Google Test, Boost, C++, Mockito, Java, Python, C, OOP Designs, Software Engineering, Algorithms, Linux Administration, Linux Server Administration, Back-end Development, MySQL, PostgreSQL, Agile Software Development, Unit Testing, Leadership, DevOps, APIs, Microsoft Excel, C++17, Spring Boot, Technical Consulting

Senior Software Developer

2016 - 2017
Bloomberg
  • Implemented lock-free, multithreaded real-time processing of exchange data.
  • Redesigned the C++ library used for redundancy based on the master-slave approach.
  • Ported live services implemented in C++98 on AIX/Solaris to C++11 on Linux. Cleaned up and refactored code according to modern code practices.
  • Established and configured (routing and permissions) a new Linux cluster. Deployed ported services onto the new cluster and gradually migrated traffic. Eventually decommissioned all AIX/Solaris-based services.
  • Developed various unit and system tests to ensure correct service migration to Linux.
  • Incorporated static code analysis into the build system.
Technologies: Makefile, Git, Bash, Linux, SQL, JavaScript, Python, Boost, Google, C++, C, OOP Designs, Software Engineering, Algorithms, Linux Administration, Linux Server Administration, Back-end Development, MySQL, PostgreSQL, SQLite, Agile Software Development, IP Networks, Architecture, REST APIs, Unit Testing, CppUnit, Node.js, GraphQL, React, DevOps, APIs, Microsoft Excel, C++17, Networking, Technical Consulting

Senior Software Developer

2015 - 2016
Telespazio Vega
  • Implemented the core and the user front end of the satellite launching system.
  • Designed and implemented a Django-based configuration and provision tool for the satellite launching system.
  • Created the boilerplate code for applications, servers, and front ends, which was used by all the remaining developers.
  • Mentored and supervised the less experienced team members in C++ and JavaScript development, and Linux engineering.
  • Created the specification and implemented the security guidelines for system provision, deployment, upgrades, and day to day operations.
  • Advised and helped to implement network security policies to allow remote developers to securely access the company code repository.
  • Created the automated build system with unit tests and static code analysis support.
Technologies: Git, Bash, Jenkins, Linux, SQL, CSS, HTML, jQuery, JavaScript, Django, Python, C++, C, OOP Designs, Software Engineering, Algorithms, Linux Administration, Linux Server Administration, Back-end Development, Web Development, PostgreSQL, SQLite, Agile Software Development, Firmware, IP Networks, Embedded C, Embedded Systems, Low-level Programming, Embedded Development, Architecture, Qt, Raspberry Pi, Hardware, REST APIs, Unit Testing, Amazon Web Services (AWS), Leadership, Full-stack, Node.js, GraphQL, React, DevOps, Embedded Software, Circuit Design, Electrical Engineering, APIs, Technical Consulting, Networking

Software and Web Developer

2011 - 2014
Freelance
  • Designed and implemented a logic puzzle mobile game. The game was described in "The Sun" UK newspaper and it was available on iOS, Android, and BlackBerry.
  • Implemented Android applications based on customers' specifications (Healthy Diet app and Mindfulness Community app).
  • Migrated an existing Linux based Saas to a bandwidth balanced, high availability AWS cluster.
  • Reverse engineered and recompiled an iOS toolchain to allow iOS apps development on Windows.
  • Using WebRTC developed a website for video conferencing between remote office locations.
  • Developed a web front end and back end to track city hall public expenses.
  • Built a web front end and back end to track promises given by local elections candidates.
Technologies: Linux, Android, iOS, Objective-C, C++, CSS, HTML, Angular, jQuery, JavaScript, Java, Django, Python, Software Engineering, Linux Administration, Linux Server Administration, Back-end Development, Web Development, MySQL, PostgreSQL, SQLite, Agile Software Development, PHP, Architecture, Team Leadership, REST APIs, Amazon Web Services (AWS), Full-stack, Node.js, React, Mobile, Spring Boot, Kotlin

Java Application Architect

2009 - 2010
Freelance
  • Designed and implemented a Java web-based application for custom photography processing.
  • Designed and implemented a Java back end for customers' orders processing.
  • Set up a Linux based infrastructure for application deployment.
Technologies: CSS, HTML, jQuery, JavaScript, Django, Python, Java, Software Engineering, Back-end Development, Agile Software Development, PHP, Android, Architecture, Team Leadership, REST APIs, Leadership, Spring Boot

Linux C++ Developer

2008 - 2009
Deutsche Boerse
  • Designed and implemented the framework used for performance testing of messaging bus libraries supplied by third parties.
  • Won an internal competition for the most performant prototype of a stock exchange system.
  • Designed and implemented an asynchronous, multi-threaded, lock-free auditing server.
  • Created a tailored Linux distribution kickstart to unify and simplify developers' environment setup.
Technologies: Git, Bash, Linux, Python, Boost, C++, Software Engineering, Algorithms, Linux Administration, Linux Server Administration, SQLite, Agile Software Development, Firmware, IP Networks, Device Drivers, Low-level Programming, Architecture, Qt, Unit Testing, CppUnit, DevOps, Technical Consulting, Networking

Unix Integration Engineer

2008 - 2008
Teligent
  • Improved tools used for configuration and provision of the telecommunication system.
  • Automated a build system and process of software versioning, packaging, and deployment.
  • Performed security checks on the company VoIP network infrastructure.
Technologies: Git, RPM, XSLT, XSD, XML, Python, Bash, Linux, Software Engineering, Linux Administration, Linux Server Administration, Agile Software Development, Embedded Systems, Embedded C++, Qt, Raspberry Pi, CppUnit, Encryption, Technical Consulting

System Developer

2006 - 2007
Symbian (Cambridge, UK)
  • Designed and implemented a Bluetooth networking stack in line with new Bluetooth specifications.
  • Designed and implemented a mobile internet connection sharing over Bluetooth.
  • Troubleshot and fixed bugs in existing network protocol stacks (IP, InfraRed, Bluetooth, and SMS).
  • Developed a new functional test framework and an automated process for running tests on hardware.
Technologies: Bash, Linux, Bluetooth, TCP/IP, Python, C++, Software Engineering, Algorithms, SQLite, Agile Software Development, Firmware, Device Drivers, Embedded C, Embedded Systems, Low-level Programming, Embedded C++, Embedded Development, Architecture, Hardware, Unit Testing, Embedded Software, Circuit Design, Electrical Engineering, APIs, PCB Layout, PCB Design, PCB, Embedded Hardware, Cryptography, Encryption

System Developer

2005 - 2006
Symbian (London, UK)
  • Developed cryptographic components for mobile operating systems, used to encrypt network data transmission (SSL and TLS protocols).
  • Developed an extensible authentication protocol (EAP) used on mobiles for wifi and PPP authentication.
  • Implemented a highly flexible and modular networking stack. It allowed creating TCP/IP connections over any transmission layer (ex. TCP/IP over Bluetooth, InfraRed, and GSM).
Technologies: Bash, Linux, SSL, Transport Layer Security (TLS), TCP/IP, Python, C++, Software Engineering, Algorithms, SQLite, Agile Software Development, Firmware, Device Drivers, Embedded C, Embedded Systems, Bluetooth, Low-level Programming, Embedded C++, Embedded Development, Architecture, Hardware, Embedded Software, Circuit Design, Electrical Engineering, APIs, PCB Layout, PCB Design, PCB, Embedded Hardware, Cryptography, Encryption

Build and Linux Engineer

2003 - 2005
Quadriga Worldwide
  • Designed, implemented, and maintained a fully automated build system with a web interface. The system allowed developers to schedule a build, and have it deployed to an alpha site for further testing.
  • Developed the change software deployment process, from classic manual CD installation to provision hardware via network using the PXE boot technique.
  • Ported a satellite networking card device driver from Linux kernel 2.4.x to kernel 2.6.x.
  • Took part in the development of an MPG streaming application running on an embedded VxWorks system.
  • Introduced a version controlling system for software components packaging and deployment.
Technologies: Java, C, SQL, CSS, HTML, jQuery, JavaScript, CVS, Bash, Python, Perl, Linux, Software Engineering, Linux Administration, Linux Server Administration, Web Development, MySQL, PostgreSQL, SQLite, Firmware, PHP, IP Networks, Embedded C, Embedded Systems, Smart TV, Bluetooth, Low-level Programming, Embedded C++, Embedded Development, Architecture, Hardware, Leadership, DevOps, Embedded Software, Circuit Design, Electrical Engineering, PCB Layout, PCB Design, PCB, Embedded Hardware, Networking

ISP Technical Manager

2001 - 2002
Telesonique SA
  • Increased performance of the telecommunication billing calculation process significantly: Cut down processing time from around three days to less than 20 hours.
  • Designed and implemented a website facing telecommunication billing systems for private and corporate customers.
  • Designed, deployed, and administrated the whole ISP infrastructure (dialup access points, authentication servers, web servers, mail servers, DNS servers, and DHCP servers).
  • Bridged data and voice networks via WAN interconnections using pioneer Linux solutions and Cisco hardware.
Technologies: SQL, JavaScript, HTML, PHP, Perl, Bash, Cisco, TCP/IP, Linux, Software Engineering, Linux Administration, Linux Server Administration, Back-end Development, Web Development, MySQL, PostgreSQL, SQLite, IP Networks, Embedded C, Java, Embedded Systems, Bluetooth, Low-level Programming, Embedded C++, Embedded Development, Architecture, Hardware, Team Leadership, Leadership, Full-stack, Networking, Technical Consulting

Network Architect and Administrator

1999 - 2001
Zachodniopomorska Siec Internetowa
  • Designed and administrated a data transmission hybrid network, which allowed to connect private and corporate customers over pioneer radio links.
  • Administrated Solaris and Linux ISP servers and Cisco active network devices.
  • Created a dynamic website that allowed customers to configure and access their IP network-based services (customers email, website, FTP, and DNS aliases).
Technologies: Java, PHP, Bash, Perl, TCP/IP, Cisco, Linux, Software Engineering, Linux Administration, Linux Server Administration, Back-end Development, Web Development, MySQL, PostgreSQL, Agile Software Development, IP Networks, Device Drivers, Embedded C, Bluetooth, Low-level Programming, Embedded C++, Embedded Development, Architecture, Hardware, Team Leadership, Leadership, Full-stack, Encryption, Networking

Unix Systems Administrator

1998 - 2000
Self-employed
  • Configured, deployed, and administrated a Linux hosting server.
  • Created a dynamic website to automate new customer registration and billing process.
  • Created a Java web application for a Denmark-based toy manufacturer.
  • Created static and dynamic websites based on customers' specifications.
Technologies: C++, Java, CGI, HTML, PHP, Perl, Bash, Linux, Software Engineering, Linux Administration, Linux Server Administration, Back-end Development, Web Development, MySQL, PostgreSQL, Agile Software Development, IP Networks, Device Drivers, Embedded C, Embedded Development, Architecture, Hardware, Team Leadership, Full-stack, Networking

Portfolio Asset Manager

I created an MVP website to manage users' asset portfolios. The website daily collects end-of-day prices of various assets like crypto, currencies, stock, etc. Based on automated collection, it calculates the current value of users' predefined asset portfolios.

Aircraft Cockpit in Flight Instrument

I designed and created a fully functional aircraft cockpit panel mount in flight instrument. This instrument is called a variometer and is mainly used in gliders. Besides variometer functionality, it also works as an aircraft real-time GPS tracker, artificial horizon, electronic compass, flight logger, and a few others. The variometer has already been installed and tested in ten gliders. Our gliders, when in flight, are visible on websites like FlightRadar.

Codility Golden Award for the Technetium 2019 Challenge

https://app.codility.com/cert/view/certDVRPTJ-4K28DFCUS33Y6FX7/
In my spare time, I try to improve and keep up to date my algorithmic and problem-solving skills. Therefore, whenever possible, I practice on Codility, HakerRank, LeetCode, etc. Technetium Codility challenge is from October 2019

Logical Puzzle Mobile Game - Piggy Biggy

The game development lasted around two years (among other freelance assignments). The whole project is my idea. Except for music and graphics, which were done according to my guidance, I completed all work by myself: development, levels ideas, level editor, story, releases, website, Facebook integration, even promotional trailer. Even though it is 'just' a mobile game, this project shows my long-lasting persistence and dedication. While struggling with many problems on my own, without anyone's support - eventually the game made it to the UK "The Sun" newspaper. PiggyBiggy was available on iOS, Android, and BlackBerry, in six different languages: English, Chinese, German, Spanish, Italian, and French.

Code is publicly available at: https://bitbucket.org/purbanski/piggybiggy/src/release-2.5/

Website to Analyze Glider (Plane) Flights

Besides being an engineer, I'm a glider pilot. Currently, I'm developing for myself and my pilot friends, a website that will analyze our glider flights. The analysis covers pilot gliding skills and performance. This is a work in progress.

Technologies used: Python, Django, ReactJS, and GraphQL.

The code is available at https://github.com/pu-dev/igc-complete

FotoShot - Mobile Application

https://www.youtube.com/watch?v=1T0_TYJ7WhA
The application I managed to develop in my spare time. I needed to create for a customer another mobile application that required a 2D physic engine. I have used the FotoShot app to check capabilities of very popular at that time 2D physic library - Box2D.
1996 - 2001

Master's Degree in Computer Science

Technical University of Szczecin - Szczecin, Poland

Libraries/APIs

REST APIs, CppUnit, D3.js, React, Node.js, jQuery, Sockets, Google API, WebRTC, ODBC, Accelerometers, Amazon EC2 API

Tools

Git, GNU Debugger (GDB), Makefile, KiCad, Apache, Jenkins, CVS, Bloomberg, GIS, PCB Layout, RPM, Apache Maven, Postfix, Terraform, Graphene, Microsoft Excel

Frameworks

Django, Google Test, Cocos2d-x, Box2D, Django REST Framework, Flask, Qt, Mockito, AngularJS, Android SDK, JUnit, Realtime, Bootstrap, Qt 5, Cocos2d, Boost, Spring Boot, Angular

Languages

C, Python, C++, JavaScript, Java, Bash, Embedded C, PHP, Bash Script, C++17, CSS, HTML, SQL, Embedded C++, XML, XLST, Perl, Objective-C, QML, GraphQL, Kotlin, XSD, XSLT, TypeScript

Paradigms

Test-driven Development (TDD), Object-oriented Programming (OOP), Agile Software Development, Unit Testing, REST, Refactoring, DevOps, RESTful Development, Continuous Delivery (CD), Continuous Integration (CI), Microservices, Microservices Architecture, Scrum, ETL

Platforms

Linux, CentOS, Ubuntu, Fedora, Unix, Arduino, Raspberry Pi, Amazon EC2, Amazon Web Services (AWS), Docker, iOS, Android, Cocos2d-JS, Embedded Linux, MacOS, Bloomberg Terminal, Mobile, AWS Lambda, Oracle, Azure, LeetCode

Storage

MySQL, PostgreSQL, SQLite, Databases, JSON, Amazon S3 (AWS S3), Data Pipelines, PostGIS, MongoDB, Cassandra, Google Cloud

Other

Networking, Embedded Systems, Embedded Development, Software Architecture, System Architecture, Back-end Development, Multithreading, Algorithms, Data Structures, OOP Designs, System Testing, Linux Administration, IP Networks, TCP/IP, System Design, Version Control, Linux Server Administration, Linux Server Configuration, Software Development, Software Engineering, Debugging, Debugging Tools, Software Integration, Software Interfaces, Software Implementation, Embedded Software, Web Development, APIs, QGIS, ESP32, FreeRTOS, Firmware, Firmware over the Air (FOTA), System-on-a-Chip (SoC), Full-stack, Legacy Code, Legacy Software, Networks, Architecture, Low-level Programming, Hardware, Arduino IDE, Team Leadership, Embedded Hardware, Technical Consulting, VoIP, Leadership, Stream Processing, Bluetooth, Transport Layer Security (TLS), CORBA, Security Analysis, Code Review, DHCP, DNS, SMTP, Reverse Engineering, Game Programming, Game Engine Programming, Futures & Options, Stock Trading, Trading, Fintech, Options Trading, Finance, Concurrency, HTTP Request Methods, Data Visualization, PCB, PCB Design, Sensor Data, Sensor Fusion, Hardware Design, LoRa, I2C, Serial Peripheral Interface (SPI), Device Drivers, Smart TV, Circuit Design, Electrical Engineering, PlatformIO, Robotics, Encryption, Google, SSL, Cisco, CGI, Linux Kernel, Data Engineering, Computer Vision, Image Processing, GPS, HTTP, Soldering, WiFi, Internet of Things (IoT), Authentication, Cryptography

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