Summary
I have professional understanding of microcontrollers and writing software for them. I have concentrated on developing firmware and kernel modules, but when there is a need I learn fast and quickly jump into middle or application layer to provide a complete framework and diagnostic tools. I am an avid achiever and take pride of my work. I am never afraid to roll up my sleeves and investigate unstructured issues, so that I can properly design SW to deal with them.
Technical Skills
Embedded Microprocessor SW/firmware design and development using Arm, Intel, and Motorola microcontrollers using C/C++ and Assembly.
Multi processes and threads development and inter-processor synchronization
Interrupt handlers and device drivers development
SCSI firmware and device driver for SCI Indy development
Quasi random number generators, UARTs, RS232, RS485 and USB driver
Expert use of Oscilloscopes, Logic Analyzers, ICE, Wireshark and USB/Serial Data Analyzers
Secure BIOS verification, compression/decompression, boot up and deployment
RTOS and no OS development and design
GNU make, gcc, gdb, vi and bash experience
VMWare, QT, MSVC, BORLAND, OpenGL, SoftTools, QuickTask, etc.
GIT, SVN, CVS, Star Team, Perforce, TFS and VSS
Education
PhD in Mathematical Economics, Agricultural Institute of Economics,
Sofia, Bulgaria, 1990
Crossmatch Technologies, Redwood City CA October 2014 - Present
Senior SW Engineer III/Technical Lead
Overall responsibility and leadership to the design, development and maintenance of all SDKs for fingerprint readers in a worldwide distributed engineering teams. Collaborate closely with Device Driver Developers and Application Developers located across the US, Europe and Asia.
Additional Responsibilities:
New product development and sustaining of software for biometric devices
Provide technical leadership for new product development projects
Write quality, maintainable code with extensive test coverage
The following technologies are used in the design:
Windows, Linux, WindowsCE, USB device drivers, Proprietary biometrics device interface
Verifone Inc., Rocklin CA March 2013 – September 2014
Team Lead/Manager, Engineering Projects
Managing and leadership to direct reports of Tier 3 Product Support/Sustaining Engineers. Investigating issues escalated from the customer installed base and other support organizations such as Tier 2 and Sales Engineers (Tier 1). Responsible for resolving all escalated issues into Amdocs CRM system keeping cases updated with current status. SW design and development in C/C++ under Linux.
Additional Responsibilities:
SW updates and Hotfixes tracking and Agile ECO releases
Manage SW sustaining and “$Custom” feature projects development
Reproduce, debug and fix open end field issues.
The following technologies are used in the design:
ARM-9 processor, Embedded Linux, Broadcom SOCs, Digital audio, USB OTG, Bluetooth, 802.11 a/b/g, LCD touchscreen, Cellular wireless LTE, Low Power Management, Pressure sensor, Ethernet, SPI, I2C
Sony Playstation R&D, Foster City CA October 2012 – December 2012
SW development contractor
Investigated and fixed defects in the Mobile Virtual Machine (VM) which split from the. Responsible for improving the security on the VM.
Additional Responsibilities:
Maintained unit testing in Linux
Fixed Stack Overflow Exception under Windows.
Fixed proxy server interface under Linux.
These platforms incorporated the following technologies:
MONO project split that allows games developed in VC# to run natively on Android platforms
SNC, Sparks NV April 2012 – October 2013
Transport Telemedicine SW Engineer III
Responsible for the design and development of the Transport Telemedicine (T2) program under MIL-STD-498.
Additional Responsibilities:
Prepare Software Development Plan
Prepare Software Test Plan
Manage team of 4 Senior and 2 Junior SW Engineers
EXPERIS MANPOWER GROUP, Reno NV and St. Louis MO January 2011 – January 2012
Software Contractor
Responsible for SW design and development of software framework for smart card under QNX with Bally Technoloies, and for the device driver and the diagnostic tools development. Supported and sustained PreviIsola with bioMerieux Inc.
Additional responsibilities included:
Secure SW verification for the gaming regulators
Incorporate movie player with full configuration into 3rd party SW.
INTERNATIONAL GAME TECHNOLOGY, Reno, NV 2007 – 2010
Firmware Engineer IV
Developed and supported emulator software and migrated legacy modules and functionality from the i80960 platform to the DFI PC platform. Emulated smart NIC SW on the emulator and developed the protocol diagnostic tools.
Additional responsibilities included:
Implemented secure boot chain of trust which involved software verification and authentication, encryption and compression
Maintained dynamic linkage of few video drivers to openGL libraries at system boot
Bally Technologies Inc., Reno, NV 1999 - 2007
Senior Software, Firmware Engineer and Product Manager
Lead and conducted complex analyses to design and implement software, firmware, system architecture and tools. Responsible for multiple products/systems/SW applications in C/C++ with GNU tool chain, full design specifications and compliance with gaming regulations. Wrote code standards and documentation.
Additional responsibilities included:
Developed various modules for a gaming platform under Red Hat 9 Linux.
Maintained open source libraries interface to legacy code
Created simulation models for math verification of complex casino games
Implemented proprietary communication protocols on the TCP/IP stack
Interfaced SQL player tracking database
Sierra Design Labs, Incline Village, NV 1998 - 1999
Senior Software, Firmware Engineer
Developed SCSII firmware for Digital Video Recorder on Z-80 and the device driver for the Indy SGI workstation.
Aristocrat, Inc, Truckee, CA 1997 - 1998
Senior Software, Firmware Engineer
Developed kernel and application software for casino games, communication protocols, peripherals interface and firmware on ARM-250 under XINU multi-processor OS.
Videotronics, Inc., Sparks, NV 1993 - 1997
Director of R & D
Invented new IP, developed source code base in C and Assembly. Reverse engineered the hardware interface of Players Edge+ the 80x51 processor board and developed new base source code for poker games in C using Keil Toolkit, oscilloscope and emulator.
Patents and Awards
US 8,277,299 Casino slot wagering system
US 20,090,061,975 Video Poker Bonus Hands Wagering System
US 5,868,618 Poker Game Method
US 7,425,176 Simulated poker with bonus wheel adder
US 6,749,500 Simulated Poker for use with predetermined outcomes
US 7,874,903 Modified Poker with bonus match card
NATO Research Fellow, NATO, Brussels, BELGIUM