Senior Software Consultant
2019 - PRESENTConsult Red- Developed a predictive ML model to identify degradation points of KPIs before they become noticeable. I used a data set with over five million daily rows and around 15 raw features.
- Fine-tuned disk I/O operations and relevant kernel parameters to optimize the I/O wait times and system responsiveness.
- Reduced the standard deviation of relevant KPIs by more than three quarters.
- Implemented automation tools to pull telemetry and log analysis data from servers that use different technologies, aggregate the results, and produce summaries for a customer base of over five million.
Technologies: Java, C++17, Linux, Python 3, Pandas, Bash, Python, Pytest, GraphQL, Microservices, PIP, APIs, Architecture, Embedded C++, Embedded C, Embedded Linux, Embedded Software, Embedded Systems, MongoDB, NoSQL, C, Low-level Programming, Cryptography, C++, Encryption, Elasticsearch, Web Scraping, Cloud, Internet of Things (IoT), Automation, Microcontrollers, Embedded Hardware, Embedded Development, FirmwareSenior Software Consultant
2017 - 2019Tunstall- Introduced a unit testing framework to the system and developed all the requested future features in a fashion abstracted from the hardware platform and by using test-driven development.
- Designed and implemented a CI workflow, which involved developing automation and wrapper scripts, setting up Jenkins, and training five other engineers on how to use these systems. This automation is still operational after more than five years.
- Migrated the version control system from a Git-submodules-based structure to a monolithic Git repository by maintaining the commit history and tags.
Technologies: C++17, CMake, Azure, Jenkins, Python, Microservices, CI/CD Pipelines, APIs, Architecture, Embedded C++, Embedded C, Embedded Linux, Embedded Software, Embedded Systems, C, Low-level Programming, C++, Arduino, Arduino IDE, Cloud, Azure IoT Hub, Internet of Things (IoT), Automation, Microcontrollers, Embedded Hardware, Embedded Development, FirmwareSenior Software Consultant
2015 - 2017Pixsan Digital- Investigated and solved the issue with random A/V stutter due to the block allocations of mmap'ed A/V buffers coinciding with other, long I/O operations. The solution involved pre-allocating, page-size-aligned chunks on the eMMC device&reusing them.
- Modified the GStreamer based A/V playback system and semi-closed chip-vendor drivers to solve the A/V synchronisation issues.
- Developed an in-memory database to store program information of cloud-based media content, which allowed querying and filtering by meeting both time and memory requirements of the system.
Technologies: C++11, APIs, Architecture, Embedded C++, Embedded C, Embedded Linux, Embedded Software, Embedded Systems, MySQL, C, Low-level Programming, Cryptography, C++, Encryption, Automation, Microcontrollers, Embedded Hardware, Embedded Development, FirmwareSenior Software Engineer
2009 - 2015Consult Red- Led the in-house consultancy team's debugging, bug-fixing, and development efforts with remote customer engineers and PMs.
- Re-implemented the program info banner to solve data synchronization issues where the displayed playback times, the remaining time, and the program information disagreed. I also brought the responsiveness down to less than 500 milliseconds.
- Implemented an Eclipse RCP-based UI front end for an in-house custom-developed performance analyzer tool that allowed filtering and aggregating system telemetry information.
- Debugged and solved system crashes, especially in the JNI layer and JVM trampoline area. Some issues had to be coordinated with the JVM provider, involving heavy use of GDB and MIPS Assembly.
- Actively solved A/V streaming issues between the media server and client devices, developing a multi-tier dashboard on Jira to map high-level manifestations to low-level signatures.
Technologies: C++, Java, Bash, Docker, Python, Microservices, Eclipse RCP, APIs, Architecture, Embedded C++, Embedded C, Embedded Linux, Embedded Software, Embedded Systems, MySQL, C, Low-level Programming, Cryptography, Encryption, Automation, Microcontrollers, Embedded Hardware, Embedded Development, FirmwareSoftware Engineer
2005 - 2009Beko- Led the operating system skill group, where we designed common platform interfaces for different hardware platforms used in various projects while supporting and training other groups in the operating system.
- Developed the EPG, multi-layered Tuner and Transport stream management components, integration of TVs with the factory's test and automation system, and a cross-platform HDMI CEC discovery and management component for sink devices.
- Participated in the debugging and development efforts to upgrade the in-house MHEG stack to MHEG-5.
- Ran DVB-T front-end tests locally using the appropriate Rohde & Schwarz test equipment, coordinated the debugging effort with the hardware team and the front-end providers, and acted as the liaison with DTG, the relevant UK body under the BBC.
Technologies: C, C++, Makefile, Linux, APIs, Architecture, Embedded C++, Embedded C, Embedded Linux, Embedded Software, Embedded Systems, Low-level Programming, Encryption, Microcontrollers, Embedded Hardware, Embedded Development, Firmware