Senior Full-stack Developer
2022 - PRESENTPureCode.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, PythonTechnical Leader
2020 - PRESENTPureCode.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 LambdaSenior Software Engineer
2020 - 2021Toyota 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 ConsultingSenior Full-stack Developer
2020 - 2020Toyota- 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 ConsultingPython Developer
2020 - 2020Acer- 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 ConsultingSenior Software Developer
2018 - 2019Bank 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 ConsultingSenior Software Developer
2016 - 2017Bloomberg- 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 ConsultingSenior Software Developer
2015 - 2016Telespazio 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, NetworkingSoftware and Web Developer
2011 - 2014Freelance- 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, KotlinJava Application Architect
2009 - 2010Freelance- 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 BootLinux C++ Developer
2008 - 2009Deutsche 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, NetworkingUnix Integration Engineer
2008 - 2008Teligent- 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 ConsultingSystem Developer
2006 - 2007Symbian (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, EncryptionSystem Developer
2005 - 2006Symbian (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, EncryptionBuild and Linux Engineer
2003 - 2005Quadriga 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, NetworkingISP Technical Manager
2001 - 2002Telesonique 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 ConsultingNetwork Architect and Administrator
1999 - 2001Zachodniopomorska 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, NetworkingUnix Systems Administrator
1998 - 2000Self-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