Przemek Urbanski
Verified Expert in Engineering
Software Developer
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
Experience
- Linux - 20 years
- C++ - 20 years
- C - 15 years
- Python - 12 years
- Back-end Development - 12 years
- Embedded Development - 10 years
- PCB Design - 5 years
- FreeRTOS - 3 years
Availability
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
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.
Technical Leader
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.
Senior Software Engineer
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.
Senior Full-stack Developer
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.
Python Developer
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.
Senior Software Developer
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.
Senior Software Developer
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.
Senior Software Developer
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.
Software and Web Developer
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 app development on Windows.
- Used WebRTC to develop 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.
Java Application Architect
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.
Linux C++ Developer
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.
Unix Integration Engineer
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.
System Developer
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.
System Developer
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).
Build and Linux Engineer
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.
ISP Technical Manager
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.
Network Architect and Administrator
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).
Unix Systems Administrator
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.
Experience
Portfolio Asset Manager
Aircraft Cockpit in Flight Instrument
Codility Golden Award for the Technetium 2019 Challenge
https://app.codility.com/cert/view/certDVRPTJ-4K28DFCUS33Y6FX7/Logical Puzzle Mobile Game - Piggy Biggy
Code is publicly available at: https://bitbucket.org/purbanski/piggybiggy/src/release-2.5/
Website to Analyze Glider (Plane) Flights
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_TYJ7WhAEducation
Master's Degree in Computer Science
Technical University of Szczecin - Szczecin, Poland
Skills
Libraries/APIs
React, REST APIs, CppUnit, D3.js, 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
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
Frameworks
Django, Google Test, Cocos2d-x, Box2D, Recoil, Django REST Framework, Flask, Qt, Mockito, AngularJS, Android SDK, JUnit, Realtime, Bootstrap, Qt 5, Cocos2d, Boost, Spring Boot, Angular
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, Styled-components, 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
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