Throughout my career I have been working in many different areas in the world of SW development and of Embedded Devices.
I have started as a Test Designer for production of automotive electronic devices, then switched to CMOS camera sensor drivers, development of GUI module for a short time, then I switched completely to Automotive sector for many years. In the last part I have worked on: instrument panel clusters, door controller, several projects for parking assistance and ADAS systems, and finally an intelligent seat heater controller.
In the last two years I have continued with a Windows SW architecture redesign, encryption and decryption of data and SW, and finally ended in working as a Senior RnD C/C++ researcher for algorithms.
Each of the projects presented different challenges in algorithms, architectures, teams, design, documentation and targets. Some were organized strictly according to the V-model, others were more on-the-go development, some were scrum managed, several included partially or fully Agile approach. Many of those required heavy testing, some required also heavy documentation .
Following is a short listing with descriptions for each of the major projects (in reverse order). Several experiences were practically a family of projects. For further detailed information (with full technical details) you can take a look into my CV page.
Currently working as:
Senior RnD researcher C/C++ for Huawei Munich Research Center
Tasks:
- Testing of algorithms for data encoding and decoding
- DFT / IDFT data encoding and decoding
- Development of new algorithms for YUV stream per-channel pixel manipulation
- OpenCV 4.3 SW development
- Integration of GitHub based pure and customized libraries for different encodings / decodings
- LTE Turbo Encoding / Decoding with IT++ and AFF3CT open source libraries
- Development of custom SW functional tests for data enc./dec. validation and performance testing
Personal Project – Development of new Universal Sorting Algorithm and full test framework, comparison with existing algorithms / implementations
Tasks:
- Development of completely new stable and not stable sorting algorithms
- Comparison with existing algorithms and designing proper test framework with static data for performance evaluation
- Developed test data generator and automatic integration of it into test framework
- Achieved serious performance improvements, prepared full documentation
- Pending: finalization of documentation, publication of article
- Pending: development of template based version of the best algorithm for full testing with custom data including for stability testing
- Pending: integration of 10-20 more open source implementations for performance comparison
- Pending: test on multiple HW / OS platforms for confirmation of achieved results
Earlier projects:
PC SW Encryption (C++11), IS27001 implementation and SW Architecture basic Redesign (C++11) for Veoneer
Tasks:
Security:
- Investigation of security workflow
- ISO27001 process – Information Security Management System (ISMS) – development of standard documentation with: Security flaws analysis; Development and business supply chains roles allocation; Proposal for distribution of security related features;
- Codemeter WiBu SW Encryption solution integration; Investigation with DLL inspection SW and Windows PE file format parsers SW for proving encryption durability
Data encryption SW development:
- For third party accessible logs; Performed explicit logging library profiling
- Investigation for most appropriate encryption algorithm; Chosen AES (128 bit PCBC) with additional custom obfuscation
- Investigation of available permissive license Open Source libraries for encryption / decryption with integration and test applications development;
- Development of decryption application and complete test suite for encr./decr. chain; Written full integration documentation
Major Windows PC Application redesign:
- Investigation of current DLL based architecture, definition of new targets and milestones for new high productivity architecture, allocation of tasks; Investigation of flaws, Investigation and design of new data processing pipeline
- Тhread Pool design, implementation and integration – C++11 , Open Source library, MIT license; Development of full testing application
- New architecture with following features: removal of Qt dependencies, migration to pure C++11 with STL functions; migration from DLL plugins-based SW to a monolithic application; profiling
- Written documentation and guidelines
Build System Development for ADAS Project for Veoneer
- Investigation of CMake vs self-written Makefiles vs Eclipse based Make system
- Written a manual for Eclipse and MinGW usage, setup, importing, debugging, etc.
- Investigation of LDRA Tool suite installation, usage, setup of MISRA checks for projects, reading and interpretation of LDRA results, usage of the tools from console, was the contact person with LDRA support and IT department for process establishment
- Writing Python scripts for calling batch commands, interpreting MinGW compilation results, executing LDRA jobs, writing scripts for Jenkins, etc.
Intelligent Seat Heater Algorithm for Behr-Hella Thermocontrol GmbH – full component development with documentation, algorithms, diagnostic traceability and management of the customer communication.
- Requirements analysis and validation, design of advanced algorithm for learning user habits and controlling of the seat heating on a fully automated basis considering car, profile and environmental conditions
- Investigation of use case scenarios and contradictory conditions, design of data management, setup and investigation of NVM and calibration parameters, design of C code based on mathematical equations, design of results validation
- Development of 3-level nested algorithm with state machines, investigation of interfaces and full alignment with the rest of the team for complete component integration
- Design of a complete logging functionality for full tracing of the algorithm execution throughout all internal functions and stages with additional log decoding tool
- Written full internal requirements specification and fine design documents, added full traceability to customer SRS according to ASPICE
- Conducted the complete end customer discussions for features, requirements and mathematical clarifications throughout the project
Fully assisted parking system for Valeo Automotive – testing and bug fixing in final stages of the project.
- Investigation of test department defect reports – identification of issues, identification of root cause, pinpointing location of issues in components, justification of analysis
- Requirements analysis for updates
- Tracing of issues through releases
- Bugfixing together with justification and HIL tests
- Simulation issues analysis
- Worked mostly on diagnostics and in a mixed Autosar/Model based environment
Road Laserscanner device for Valeo Automotive – product included recognition of moving and static objects and definition of the free-for-driving area.
- Performing initial investigation of build system
- Writing of internal How-To documents for build procedures, tests architecture and design, requirements guidelines for the team
- Assessment of current specifications, investigation of use-case contradictory requirements, development of new specifications
- Development of tests – investigation of use cases, analysis of coverage both for requirements and code
- Development of design documents
- Performing introductory trainings for newcomers, supporting the complete team for issues with the upper tasks
OBD2 development for Battery Management Controller for Marquardt GmbH
- Development of OBD IUMPR with DaVinci tools together with source code
- Development of OBD2 diagnostic
- Requirements investigations for updates between different versions
Parking Assistance System for Valeo Automotive
- Investigation of VW BAP (Bedienungs und Anzeige Protokol) protocol defect reports
- Investigation of internal BAP State Machine’s implementation issues
- Investigation of build system issues, SW linkage problems and compiler settings related to problems with wrong variables values
Door Controller Unit for Kostal GmbH – for full car door functionality
- Development of data manager for full support of static and dynamic memory with final result – zero defect component
- Development of Variant Manager with full configuration options
- Research for DaVinci arxml files for automated memory interfaces generation and writing of requirement specification
- Research for correct memory area definition for generating data for direct flashing and further connection to the generated memory interfaces
- Research and implementation for critical Voltage Drop data handling
- Development of LIN protocol for configuration transformation between front and rear controller
- Writing design documents and requirement specifications
- Integration of memory management libraries for FEE / FDL
- Writing of driver level state machines for two different controllers for memory management
- Testing and debug with SIL, PIL and HIL tests
- Main responsible communication interface between Bulgarian and German parts of the team
- Responsible in Bulgarian office for HW consumables purchases
Instrument Panel Cluster Family for Johnson Controls (now Visteon Corp.)
- Development of Alert Manager multi-threading application with full support of alerts configuration.
- Promoted to integrator and release maker after an year
- Design of automated test suite for full Alert Manager applications suite
- Made profound requirements analysis due to the complexity and scope of the component (having heavy interaction with almost all other SW components)
- Writing of design and SW specification documents
C/C++ API Library – internal project for Johnson Controls (now Visteon Corp.)
- Development of tester connection between PC Test SW and TCP connected QNX Target for Infotainment Systems
Design of Python based GUI for Windows and OSx for Antelope Audio
- Development of python application together with installation package and OSx USB driver wrapper.
- Bugfixing of USB driver for HiFi Audio DAC
Embedded Imaging Application SW for Nokia Mobile Phones for MM Solutions
- Started as a SW Test Engineer, promoted to Test Team Leader after several months
- Responsible for full application testing together with reports, bug tracking, task distribution and planning
- Promoted to SW Developer after an year – developing drivers and core imaging SW with Texas Instruments ARM7 Image DSPs and proprietary RTOS
- Promoted to Senior Sensor Driver Developer
- Developed camera capture driver new features together with full bugfixing and investigation of customer defect reports
- Developed complete universal test suite for the sensor drivers
- Writing of design specifications
- Leading customer conference calls for defects and progress tracking
- Written instruction manual for junior sensor driver SW engineers
- Tutoring junior developers
- Completed 6 full projects while working with the company – all of them successfully presented on the market
Development of Automotive ICT Tests for Epiq Electronic Assembly
- Development of ICT tests with Marconi Testers for complete HW test before EOL test