Experienced software engineer with 15 years of experience in full life cycle of embedded systems architecture and design, software development, product maintenance and support.
Seasoned manager experienced in managing distributed teams and contractors as well as working with external vendors and partners.
Passionate about technology and staying up to date with recent technologies and trends, spending free time hacking on open-source and personal projects, developing web and Android applications.
Texas Instruments, Sunnyvale, CA
System Software Architect, OMAP division (Jan 2012 – present)
Acted as a local security expert for OMAP Android platform. Trained customers and internal teams on OMAP secure boot and secure playback architectures. Implemented and maintained custom versions of boot-loaders and secure modules for customers.
Defined and created the infrastructure and team development process, the tools/services included: jenkins master and multiple slave build machines, git, gerrit, redmine and bombastic (open source web-based tool written by me to glue all the pieces together, see “open-source” section for more info).
Palm Inc, Sunnyvale CA (acquired by HP)
Senior Manager, webOS Linux Kernel (2009 - 2012)
Managed the webOS Linux Kernel team, responsible for designing, developing and maintaining of bootloaders, Linux kernels and numerous daemons for the webOS line of products including HP Veer, HP Touchpad, Palm Pre2, Palm Pre3.
Acted as device lead for HP Veer and later HP Touchpad, responsible for bringing up of the bootloaders, Linux kernel and the rest of the Linux platform stack on the new family of chipsets. Collaborated closely with the hardware and manufacturing teams on improving the electrical design and power characteristics of the device.
Advocated, introduced and became the main maintainer of Gerrit Code Review system within the company. This dramatically improved the quality of the submitted code and reduced the amount of time spent on broken builds and regressions. Later drove introduction of Jenkins CI which took it further, automatically rejecting commits which failed compilation, code style guidelines etc.
Team Leader, Platform Driver Group (2008 - 2009)
Brought up Palm proprietary bootloader, verification software and kernel 2.6.24 for the Palm Pixi smartphone.
Designed and implemented several kernel drivers for the product, including proximity, accelerometer, display controller, ported and maintained others, including uart, mmc, gpio and others
Designed and implemented zero-buffer copy video and camera pipeline consisting of camera sensor, video front end driver, GStreamer components, v4l2 layer and Android pmem for buffer allocation and management.
Technically led the team maintaining and extending the platform driver software stack, was actively involved in architecting and adding new features and APIs, supported manufacturing and factory verification software. Worked closely with hardware, physical design teams and chip vendors on improving the design, power consumption and performance of the device.
Zoran Corporation, Sunnyvale, CA
Technical Leader, Home Entertainment Group (2005 - 2008)
Led the DVD recording middleware/core team through all stages of software product life cycle, both engineering and applications, including software design, implementation, customer training, support and troubleshooting of issues, from product inception through to mass production.
Supervised core and kernel groups through the addition of DivX/XviD playback abilities to the system.
Designed and developed the Video Digital Copy feature – a mechanism for fast (up to 20X) conversion between DVD-Video, DVD-VR and DVD+VR formats without transcoding or altering the MPEG video and audio elementary streams.
Senior Staff Engineer, DVD Recording Group (2003 - 2005)
Defined, designed and implemented the middleware and kernel drivers for DVD-VR playback, recording, PVR functionality and frame accurate editing system with undo capabilities.
Designed and maintained the main unified system API, allowing faster customer training and easier integration to application and user interface.
Software Engineer, DVD Playback Group (2000 - 2003)
Developed DVD player firmware, from new chip and system bring-up to mass production. The project included porting of existing legacy code, implementation of new modules, features and capabilities as well as integration with customer user interface and ongoing field application.
Took sole responsibility for maintenance of playback navigators (DVD-Video, DVD-Audio, CDDA, and SVCD) and became the main knowledge source for all related modules and logical standards.
Intel Development Center, Haifa, Israel
Internship, Mobile Platform Group
- Timna project: VLSI design, Synthesis, Formal Verification and Gate Level Simulation of Northbridge units (2D, 3D, DFT and memory interface), tool development, scripting.
Technion - Israel Insitute Of Technology, Haifa
B.Sc in Computer Engineering
Open source and other projects
Stargazer: an education game for kids and fun casual entertainment for adults for Android and Web/HTML5 platforms. Game concept, design and implementation of the game including the 3D engine, management of third-party vendor creating the graphic assets.
bombastic: web-based graphical management of Android system manifest files and build automation. Technologies used: node.js & mongodb for backend, bootstrap and jQuery for the frontend.
Bug fixes and feature contributions to various open source projects: gerrit, jgit, android repo, etc.
- Vast experience with C, ARM and MIPS.
- Experience with Linux kernel and device drivers framework
- Real-time operating systems experience: Nucleus RTOS, ThreadX
- Advanced debugging and analytical skills
- Strong data structure and object design skills
- Fluent in English, Hebrew and Russian