External Consultant | Firmware Developer
2021 - PRESENTPrusa- Provided consultancy regarding development standards, workflow, and processes in order to provide high-quality and maintainable solutions.
- Designed, documented, and implemented platform-specific safe ways to update the bootloader.
- Implemented POSIX filesystem calls for small ARM Embedded platform, including FAT and LittleFS filesystem mounting.
- Prepared Python framework for automatic tests of the firmware using QEMU emulator.
Technologies: C, C++, ARM Embedded, FreeRTOS, Bootloaders, Embedded Development, Software Design, Embedded C++, Embedded Systems, Low-level ProgrammingExternal Consultant | System Developer
2020 - PRESENT2N- Identified and fixed critical bugs of Android devices (Kernel, Linux binaries, system services), preparing tools and custom builds for monitoring specific issues.
- Cooperated on the development of a new Android device (OS development, architecture, security).
- Consulted regarding Android API, system services, and optimizations.
Technologies: Jenkins, Jira, Gerrit, Git, Linux Kernel, Java, C++, C, Android SDK, Android NDK, Embedded Development, Software Design, Embedded C++, Embedded Systems, Low-level ProgrammingHead of Mobile Platforms
2018 - 20202N- Helped prepare Android device for release by fixing several critical bugs in the Bootloaders, Kernel, Android recovery, and framework.
- Introduced quality standards on coding style, commit style, and workflow.
- Refactored legacy solutions to use Android and Linux standards, improving stability and maintainability.
- Fixed long-term issues of older Android devices. Used Android framework and apps, Kernel drivers, and Native Daemon.
- Closely cooperated on designing a new product for both software and hardware.
- Cooperated with multiple departments and suppliers on software, hardware, manufacturing, and quality control.
- Identified security issues before implementation and designed solution improvements to prevent risks.
- Led a team of five developers working on the system and Android apps.
Technologies: GitLab CI/CD, GitLab, Jenkins, Gerrit, Confluence, Jira, Git, C++, C, Java, Android API, Android NDK, Android SDK, Embedded Development, Software Design, Embedded C++, Embedded Systems, Low-level ProgrammingDeveloper | Owner | CEO
2009 - 2018Limeas- Designed and developed J2ME applications according to the client's specifications.
- Consulted companies that were creating Android multimedia applications (using DRM).
- Developed Android apps that implement ad services, Google Analytics, and Play Store In-app billing.
- Developed an Android service running in a separate process for a large bitmap manipulation (preventing memory fragmentation in the app's main process).
- Created an Android library providing extended functionality (new Views and ViewGroups, Drawables, media manipulation, and other tools).
- Gained experience with miscellaneous Android libraries and tools (Android support libraries, third-party libraries, a DDMS/Device Monitor, and MemoryAnalyzer).
- Hired and coached several developers working on Android apps, Cloud services, and website.
Technologies: Git, Android, C#, C, C++, J2ME, Java, Software Design, Bluetooth, Low-level ProgrammingAndroid Developer
2017 - 2017Techona- Integrated WebView with optimizations (pre-caching of resources).
- Implemented an advanced filter and search engine.
- Wrote automated UI tests (Espresso and Appium).
- Automated the build process for many build variants.
- Created the architecture for the project and refactored it (MVP pattern).
Technologies: Python, Appium, Espresso, Java, Software DesignAndroid Developer
2016 - 2016Datasys- Automated UI tests (Appium).
- Integrated communication with the payment terminal.
- Integrated printing using thermal printer.
- Created custom printing library with hi quality bitmap generation.
- Refactored XML layouts and styles for clean, reusable, and maintainable code.
- Implemented synchronization of local database with the server.
Technologies: Appium, Java, BluetoothAndroid Team Lead
2016 - 2016Chess.com- Analyzed and refactored code to use the MVP pattern.
- Created reusable views and components using a common app style.
- Added new features, focused on long term stability and maintainability.
- Cleaned up Git branches, specified and applied Git workflow.
- Set up processes for issues tracking, Jira workflow, app versioning, and release planning.
- Wrote documents about project structure, code style, commit style and other standards.
- Set up quality assurance and release processes for Android application.
- Led team of five Android developers, all working remotely.
Technologies: Fabric, Amplitude, Dagger, Android, Java, Software DesignSW Architect | Team Leader
2013 - 2015Wincor Nixdorf- Optimized an app UI for better HW acceleration performance.
- Created an Android library for communication with an asynchronous dial-up USB modem connecting to a banking server using an asynchronous dial-up modem.
- Cooperated with an external company providing security features, implemented Linux hardening on Android 4.0 operating system, modified permissions to fulfill requirements, and to gain PCI certification.
- Introduced new system apps and services to maintain security features above the scope of the regular Android operating system.
- Modified an Android framework, specifically the UI and back-end functionality.
- Led a team of seven developers working on the Android operating system.
Technologies: C, C++, Java, Software Design, Embedded Systems, Low-level ProgrammingMobile Developer
2008 - 2013Resco.net- Created Windows Mobile applications (C/C++).
- Built a library for communication with Bluetooth headsets (AVRCP).
- Developed Android applications (Java).
- Developed an Android local proxy server for internet radio streaming with the added functionality of reading meta tags (song info) and recording stream simultaneously with playback.
- Worked on a multi-platform project Mobile CRM (Windows Mobile, Windows Phone, Android, iOS) using MonoDroid.
- Constructed native libraries (C/C++) with corresponding Java libraries (using JNI), integrated Java libraries into C# MonoDroid project.
Technologies: MonoDroid, .NET, C#, Java, C, C++, Software Design, Bluetooth, Low-level ProgrammingExcel Macro Specialist
2007 - 2008IBM- Created Excel macros using Visual Basic for Applications.
- Worked with IBM Lotus Notes.
- Built a connection between MS Excel and IBM Lotus Notus (using Microsoft Component Object Model).
- Created an automated Excel document export with a combined data of more Excel files.
- Developed automated emails with content and recipients generated based on the attached Excel document.
Technologies: Visual Basic, Microsoft Excel