We provide IT Staff Augmentation Services!

Senior Firmware Engineer Resume

5.00/5 (Submit Your Rating)

Santa Monica, CA

SUMMARY

  • I have 20 years of professional experience in various industries - entertainment (film and TV), telecom, cable and mobile.
  • Experience includes building consumer products for Internet of Things and applications for the digital home entertainment.
  • Focused on Identifying emerging new trends and commercialization of new technologies.
  • I have always demonstrated leadership qualities and have the ability to inspire, initiate and discuss new ideas within the team or across different functional groups, with my good verbal and communication skills.
  • I have excellent decision-making ability and have shouldered the responsibility for the technical decisions made for the project.

PROFESSIONAL EXPERIENCE

Confidential, Santa Monica, CA

Senior Firmware Engineer

Languages: Linux kernel development, C, C++, RTP, RTCP (audio and video)

Responsibilities:

  • Architected, designed and implemented linux kernel module, PIR (passive infrared) driver. This device driver is used in several products to detect the motion from the camera. Implemented linux kernel sockets to send the data from the kernel to the user space. Also implemented update to the configuration via ioctl calls from the user-space.
  • Improved the CPU utilization for the PIR kernel module by 25%, by implementing real-time linux kernel threads along with high-precision timers in the kernel space.
  • Implemented a new feature for the camera to have the pre-roll video - i.e. few seconds of video be captured (FIFO buffer scheme) before the motion is triggered in the camera.
  • Wrote device driver to read the configuration data from PIR sensors for the flood-light product.
  • Implemented packet loss statistics for the streaming video and audio using RTCP protocol.

Confidential, Woodland Hills, CA

Senior Embedded Software Engineer

Languages: C, C++, PSoC 5 using ARM cortex, Python

Responsibilities:

  • Architected (Object oriented) and led the efforts to work on the control panel - embedded software in C for "Beck chip". Redesigned and implemented the "tree" data structure (C++) for iterating the camera’s menu. Each menu item (node) can be traversed- getting the input from the user (camera) and execute functions.
  • Worked on integrating (C/ C++) ) the Record Processor on the system board. Designed and implemented P3 protocol, similar to Sony's P2 protocol to send & receive messages on the serial interface (UART) for both control panel and system board.
  • Implemented serial port protocol (P3) to send/receive recording cliplist information from the record processor to the control panel. The user could then play the clip that was just recorded using the control panel.
  • The system board code was updated to correctly interact with the record processor and the magazine. Reworked on the system board to fix several bugs such as negative clip frame number.
  • Worked on detecting the eject of the magazine - where the cliplist is actually stored.
  • Fixed issues (embedded C) the to have the docking station work with the new design of the control panel interface.
  • Led engineering efforts (embedded software in C) for the new board - using PSoC5 (Cypress, with ARM cortex microcontroller) to control the aperture of the camera.
  • Integrated the CMSIS DSP library for Arm cortex - needed for the calculations such as PID motor control.
  • Created and designed the new board using microcontroller's IP blocks - UART, DMA, PWM and so on and configured the electronics using the demo kit - including separate board for DC motor driver.
  • Implemented UART communication to send and receive the data from the camera to the microcontroller.
  • Implemented motor control algorithms in C and executed the PID loop - to control the DC motor.
  • Implemented Cooke Protocol (in C) to send/receive the metadata from camera (such as Sony F55) over UART (along with DMA) communication.
  • Implemented the jog control and Sony's MSU UART interfaces to control the camera's aperture.
  • Debugged using oscilloscope to resolve PWM issues and verify data integrity over UART.

Confidential, Oak Park, CA

Product Management.

Responsibilities:

  • Led the team of engineers to design and develop several Free (In-App purchases), Paid Apps on iOS and Android (Objective C, Android - Java) for children (Sparkabilities).
  • Designed, developed and published celebrity iOS Apps - Justin Timberlake, Miley Cyrus, Selena Gomez.
  • Build infrastructure to manage the images; download and save the videos on the device (iPhone, iPad, Samsung Galaxy) - multi-threading and usage of networking classes.
  • XML parsing and retrieval of data from the server. (Multi-threading).
  • Designed and integrated with the 3rd party Ads SDK to play in-stream video Ads for iOS and Android.
  • Complete software life-cycle - design, implementation, device testing and publishing on the Appstore.
  • Marketing the Apps to increase the App downloads by 50%.

Confidential, Burbank, CA

Senior Software Engineer

Languages: Java, C, C++

Responsibilities:

  • Led the new product development efforts for the ‘Video on Demand’ (VOD) solution for the Interactive Television. This will provide the cable industry with a complete VOD digital solution.
  • Designed (UML) and developed the complete VOD system platform (C, C++ and Java) to stream the video on cable TV (OCAP). Developed the complete software infrastructure from scratch (UML to source code) to stream VOD on TV.
  • Coordinated efforts for the new product requirements with business development, marketing and engineering teams.

Confidential, Calabasas, CA

Senior Software Engineer

Languages: Python, C, C++

Responsibilities:

  • Designed, developed and implemented the “Test-Controller”, the finite state machine (Python), responsible to integrate the user-interface (GUI) with the other modules. The FSM developed was generic module that has been used in other products within the company.
  • Implemented the ‘Stat-Controller” (Python), the module integrated with the ‘Test-Controller’ and stat- engine using multi-threaded architecture and timer events to poll for the statistics from the stat-engine.
  • Understanding the business requirements and then designed, developed and implemented the “Telnet” protocol, both client and server (C/C++ language on Linux). The 3 rd party telnet protocol was integrated with the Test-Controller to run the maximum of 1000 telnet processes (forking) and sending the telnet traffic from the client to the server.
  • Architect-ed and developed the “Linux Binary Module” (C on Linux). This generic module can be used to integrate any 3 rd party protocol. With this any new 3 rd party protocol can be integrated with the Test- Controller in 2 week only, which used to take 8 weeks without this module.
  • Worked with the testing engineers and with customer support department, and coordinated efforts understanding the technical problems and delegating them promptly (India/Romania).

Confidential, Santa Clara, CA

Senior Software Engineer

Responsibilities:

  • Team lead for the design (UML for the DHCP Service Class), development (C, C++, Ported to Linux) and implementation of DHCP Server, Client and DHCP Relay Agent Protocol.
  • Designed and developed COPS Protocol (for Policy Management). I designed and developed (C, C++, VC++), the Policy Services in a Multi-Threading Architecture and implemented the Message Queue for dispatching the messages. Reading and writing of the data from the TCP/IP connection was implemented using Sockets (Client/Server Model).
  • Designed (UML), developed and demonstrated the SIP (Session Initiation Protocol), signaling between the IP phones and the PC. The SIP Classes(C++) and the “SIP State Machine” was implemented using SIP Stack (RadVision). The functionality supported SIP, H.323 and SS7 Protocol.
  • Team lead for the software configuration management (UCM/ClearCase), Build Process Automation (NT, Linux), Software Packaging (Install-Shield) and ‘Release Control’ of the product. Coordinated the development and release control of the project with all the development primes across different functional groups, at different geographic multi-site locations.
  • The complete development life cycle was followed. Written, presented and reviewed the documents for the Business Case Assessment, Feature Description, Design Description, Test Plan, Test Cases, Unit Testing and Integration Testing. Coordinated the Test Cases with the Product Verification Team.

We'd love your feedback!