We provide IT Staff Augmentation Services!

Senior Firmware Engineer Resume

5.00/5 (Submit Your Rating)

Houston, TX

PROFESSIONAL SUMMARY:

  • Senior Systems Engineer having 10+ years of experience in Product Engineering, IT Consulting, System Design and Development, Embedded and Firmware Development.
  • Strong programming skills in C/C++ with Windows System Programming, Devices Drivers, Multithreading, Legacy BIOS and UEFI Firmware Development, PCI Architecture, Embedded Systems Development.
  • Hands on experience with Android Development, .Net Technologies, HTML and Web Technologies.
  • Excellent communication, presentation and documentation skills. Self - motivated, dedicated, quality focused, having excellent team skills and highly effective analytical thinking.
  • Extensive experience working on Agile SCRUM Methodology, Waterfall methodology.
TECHNICAL SKILLS:

Programming Languages: C, C++, x86 assembly language, C#, Java, Visual Basic, HTML, Perl, JavaScript, Python, SQL, PL/SQL, UNIX Shell scripting, Windows Batch Files, PowerShell, UEFI Shell Script.

Technologies: UEFI Firmware, ACPI, WMI, PCI Architecture, EFI Drivers, BIOS development, Embedded Development, COM, .Net, Win32 API, Android Programming, IE BHO, DOM and XPCOM, HTTP, TCP/IP socket programming, Media Streaming.

Frameworks: EDK I and II, STL, MFC, ATL, WTL, Boost Libraries, Windows SDK, WMP SDK, Google Tests, Cppunit, NUNIT, DirectX, GDI+, Delphi 5 VCL, Netezza C++ UDFs, Gdb Debugger, Android SDK 21.1

Development Tools: Visual Studio 2012/10/08, Borland Delphi 5, Eclipse 3.7.2, Oracle SQL Dev 4.0.1

Database Systems: SQL Server 2008, Oracle 9i, DBISAM, SQLite.

Revision Control Tools: SVN, CVS, MS VSS, Git.

OS Platforms: MS Windows (XP, Vista, Win7, Win8.1, Win 10), UNIX, Win 2000, Android, UEFI Shell, FreeDOS.

Design Concepts: OOP, Design Patterns, UML, ER Models, MVC, UEFI BIOS Architecture.

Other Tools: HP WinPVT, RW Everything, Code Collaborator, HP Sudden Impact, MS Visio, WinDebug, HTTPAnalyzer, WireShark, CruiseControl, JenKins, Cygwin, VMWare Workstation, VirtualBox, MS Virtual PC, Android SDK Tools, EFI Shell Tools, EPM, VersionOne, Agile Manager.

WORK EXPERIENCE:

Confidential

Senior Firmware Engineer

Houston, TX

 Responsibilities:

  • Developing, debugging PEI, DXE, SMM, BDS driver modules. EDKI and EDKII based BIOS platforms.
  • Debugging CSM issues involving INT13, INT15 calls.
  • Debugging x86 Assembly code, writing EFI Shell applications.
  • Porting EDK-I PEI DXE SMM modules to EDK-II platforms. Handling SW SMI events in BIOS.
  • Debugging issues around USB, PCI, PCI Express architectures. UEFI and Native Boot Order issues.
  • Debugging issue based on SMC (System Management Command), PRISM server, MPM (Manufacturing Programming Mode) of HP Core BIOS.
  • Debugging involving Graphics, Option ROM, UEFI HII (Human Interface Infrastructure) DB, SMBIOS.
  • Development of Sure Start modules involving Firebird DXE recovery, PEI Boot Block recovery, interfacing with PC Embedded Controls.
  • Debugging issues with 8042 Commands Port 64h/60h protocol. PS2 Mouse / keyboard driver development, debugging.
  • Porting SD Card DXE driver from EDK-I source to EDK-II standards. Debugging AHCI, EHCI, XHCI Controller issues.
  • Developing interfacing modules with variety of Chipset packages on Intel Broadwell / Haswell / Skylake, and AMD platforms. Debugging core BIOS interfaces with platform BIOS code.
  • Debugging Secure Boot, Legacy Boot, UEFI Boot related issues.
  • Debugging Restore Factory Defaults, Custom Defaults, Security Defaults related issues in UEFI BIOS.
  • Developing, debugging BIOS Update using local media, Network Stratus update, USB update modules.
  • Developing/Debugging TPM Firmware interfacing with BIOS and upgrade TPM firmware from BIOS.
  • Developing and debugging issues on WMI ACPI interfaces to BIOS. Handling Private / Public WMI handling in BIOS.
  • Debugging issue related to SW/HW Encryption using HP Client Security Manager Application and WinMagic Drive Security and Windows BitLocker.
  • Debugging issues involving SATA / MSATA / M2 SATA / SED / SSD / USB HD drives.
  • Debugging issues related to UEFI Firmware Volume / BIOS Flash Image / NVS Storage / PEI DXE SMM Variables / MUD Data / Gbe Descriptor capture.
  • UEFI BIOS debugging using Insyde H2O EDK Debugger.
  • Developing and debugging EC Phone Home - Advanced security feature in PC Embedded Controls and HP BIOS based on remote management including Lock / Wipe HD Drive remotely for HP notebooks and desktops.
  • Hands-on experience on variety of defects related to PCI architecture / Notebook / Desktop UEFI firmware. Complete maintenance / Enhancement of HP EDK-I and EDK-II based UEFI BIOS on variety of Intel / AMD platform.
Tools and Technologies: Eclipse IDE for Java Developers 3.7.2, Android SDK Tools 21.1, Android SDK Platform Tools 16.0.1, TDCP Specifications 3.7, SQLite, Java Programming language, Android versions 2.2.X, 2.3.X, 3.X, 4.X devices.

Senior Systems Engineer

Sunnyvale, CA

Responsibilities:

  • Evaluating Android OS capabilities to support the requirements and designing the solution.
  • Enhanced Watchdog Android Service component in Java, Eclipse and Android SDK which is part of ODM. Watchdog is implemented as an Android service responsible for start and monitoring of ODM core process.
  • Worked on defect fixing in TDCP processor responsible for communication with TDCP (Terminal Data Collection Protocol) server to send the collected logs containing ODM measured data points using TDCP protocol over HTTP.
  • Co-Developed Application Event Meter component which is part of Data Collection Framework (DCF) in ODM. DCF is an Android Service responsible to collect different data points in the Android device. Application Event Meter is responsible to monitor Application Start / Stop / Foreground / Background Status Events and send them to ODM core engine using event objects.
  • Co-developed Content Store Event Meter component used to track user’s purchase / download of contents and installation / uninstallation of Apps. Developed ExternalAppsReceiver component which receives system installation broadcasts and writes application info into SQLite Application DB and broadcasts APP CHANGED events which are captured by InternalAppsReceiver component.
  • Worked on enhancements and defect fixing in Browser Event Meter which tracks browser history data on Android device. This data point is used to measure sites visited by Android user.
  • Worked on Release and Deployment activities for Dev / QA platform.
  • Worked on Production Support for resolving ODM issues logged by production panels.

Tools and Technologies: Eclipse IDE for Java Developers 3.7.2, Android SDK Tools 21.1, Android SDK Platform Tools 16.0.1, TDCP Specifications 3.7, SQLite, Java Programming language, Android versions 2.2.X, 2.3.X, 3.X, 4.X devices.

Confidential

Systems Engineer

Responsibilities:
  • Worked on Win 8 platform to support NetSight Meter application on Win 8, which includes resolving compatibility issues, development of new tracking methods for Windows Store Apps.
  • Migrating source code from Visual Studio 2008 to VS 2010 and resolving the compilation errors and warnings.
  • Worked on migration of source code repository from CVS to Git which allows more distributed environment.
  • Developed Audio data tracker component in VC++ using Loopback Audio Filter and Windows Audio Session API (WASAPI) technologies to replace existing API hook based audio tracker. This provides more secured and robust technique to collect audio data in NetSight Meter.
  • Development of JavaScript based tracker extension for Firefox to collect Firefox data to replace XPCOM based tracker. This provided more maintainability and avoids rebuild of extension for the newer version of Firefox.
  • Developed PL/SQL procedures for the NetSight Meter Build-Deployment Process and automated many deployment task using PL/SQL procedures, Shells Scripts and Cron Scripts on UNIX servers. This reduced the deployment time significantly and provided easier execution and monitoring of deployment tasks.
  • Integrated log uploader component into Windows Service instead of existing standalone process which provides more robust solution for log upload and better ability to collect error logs in case of application crashes.

Tools and Technologies: C++, VC++, STL, Windows Service, Win 8 API, Visual Studio 2010, Git, JavaScript, UNIX CronTab, PL/SQL, Oracle 9i.

Confidential

Systems Engineer

Responsibilities:
  • Implemented improvements in e-retail tracking module in C++ in NetSight meter to track order billing pages with more accuracy by monitoring JavaScript changes to webpage after user makes online purchases. Tracked e-retail data is used by online retail purchasing measurement products of Nielsen.
  • Developed Chrome extension using HTML, JavaScript to track user activities in Chrome browser which helped collecting more online activity data from Chrome users.
  • Developed NPAPI plug-in for NetSight Meter’s Chrome extension to call extension API’s from C++ based meter source code. This helped easy integration of Chrome extension with existing meter framework for data and control transfer.
  • Implemented performance enhancement and robustness related solutions in C++ modules and developed health monitoring Windows Service application in C++ and Win API, which keeps monitoring the running meter applications and takes appropriate recovery actions in case of any failure.
  • Co-developed new RTMP parser by hooking into Windows Sockets to track RTMP streaming media protocol with the release of new RTMP specifications by Adobe.
  • Developed support tool in VC++ and Windows Batch Commands, to collect debugging details from user machine where NetSight meter application fails. This tool is used in production by support team for preliminary investigation and data collection for more investigation by engineering team.
  • Build server management, developing Perl scripts for automated build server for CruiseControl build framework. Release management, build versioning, source code tagging, release notes creation, development environment configuration and deployments.
  • Debugging production crash dumps using WinDebug tool and investigating the issues.
  • Developed Netezza User defined Functions (UDFs) in C and C++, GCC on Linux host of Netezza box for searching patterns, used by Nielsen online products in backend systems.
  • Code reviews, technical documentation, project estimations, requirement analysis-design, UML modeling, process improvements, automation tools, new improvement ideas.
  • Worked on Scrum model, Job Jar process model, iterative and agile development.

Tools and Technologies: JavaScript, C++, STL, Boost Libraries, Perl, Win API, Gdb, GCC, WinDebug, NPAPI, Visual Studio 2008.

Confidential

Systems Engineer

Responsibilities:
  • Developed new features and bug fixes for meter controller application called NetSight Manager used for periodic server authentication, auto-upgrade, package downloads, status log uploads, installation, uninstallation of sub-packages. Worked on digitally signing installation packages, which enables secured installation of the software on user pc.
  • Developed new modules and solutions for 64 Bit OS support of NetSight Meter to run and track user activities on Win 7 / Vista 64Bit editions. This helped reaching more online users using 64 Bit OS for audience measurement and activity data collection by installing NetSight Meter software.
  • Designed and developed Windows Service to manage administrative tasks in NetSight Meter application, removing necessity to show UAC prompt on Win7 for administrator privileges. This enabled meter app to run in background without any user intervention and increased successful production upgrade and deployment percentages.
  • Developed an application using VC++, Win API from scratch which runs after uninstallation to get user feedback and connects to server over HTTP to send notification of uninstallation of Nielsen software by user.
  • Implemented Localization of NetSight meter UI and adding Unicode support for some of the UI modules, which helped more efficient deployment of meter applications in different countries across globe.
  • Migrated UI screens in MFC to lightweight WTL framework and addition of new dialog boxes and functionalities.
  • Added new features in IE and Firefox activity tracking modules of NetSight Meter based on IE BHO and Mozilla’s XPCOM technologies to support newly released browser versions.
  • Added feature for auto-upgrading NetSight Meter to download and install third party bundled applications over HTTP.

Tools and Technologies: VC++, Windows API, MFC, COM, XPCOM, IE BHO, SQL, PL/SQL, Perl, Wininet, HTML, XML.

Confidential

Systems Engineer

Responsibilities:
  • Higher level and Lower level specifications analysis, design of solution based on MVC, singleton, factory patterns
  • Scrum development model consisting task backlog estimation, development, feature presentation and integration.
  • Development of BeoSound 5 UI elements in VC++, Win API and Diect3D based B&O proprietary Callisto Framework.
  • Integrating various audio - video modules, performance improvements by implementing multithreaded functionalities based on main thread-worker thread design pattern, in UI layer using VC++, Win API.
  • Synchronizing software actions with hardware events and tuning of various functionalities using Callisto framework UI tools. Performance testing using GlowCode C++ Profiler tool.
  • Integrating COM based Audio Player component to main BeoSound 5 application and dispatching and handling the events using IDispatch and IAudioEventListener COM interfaces.
  • Reverse engineering Design model of BeoSound 5 applications using Telelogic Modeler (Rational Modeler).
  • Build server handling, source repositories branching and build versioning, release management, and defect tracking using Remedy ARS, internet radio application defect fixing.

Tools and Technologies: VC++, Visual Studio 2005, COM, DirectX, MFC, ATL, B&O Callisto, Win API, GlowCode.

Confidential

Systems Engineer

Responsibilities:
  • Design and development of Borland Delphi 5.0 and VC++ based Video Switching Wrapper component which can call APIs exposed by other video settings component provided by VIA Technologies. It is used by applications for a TV model called BeoVision to adjust screen resolution, selecting video sources, other video settings. Video switching component provides easy to call application level APIs for all the video settings including resolution, video source selection like VGA, DVI, HDMI, Standard TV-OUT, Composite TV-OUT, for the BeoVision TVs.
  • Developed Web Service Consumer component in C#, C++ .Net, SOAP and COM to access and use B&O media web service for software upgrade and new digital media contents. Integrated the component in Delphi 5 based AV player applications.
  • Developed MTP (Media Transfer Protocol) based ActiveX component in Delphi 5.0 and VC++ to copy media contents from PC AV Player application to B&O’s Windows CE based smart phone called Serenata. Developed test application in Delphi 5.0 to test this ActiveX component. This component is integrated to production line of Serenata smart phone to copy pre-loaded media contents using LabView framework.
  • Developed VC++, COM component to control system sound on Windows Vista OS, using new Window’s Audio API on Vista. Integrated this component to Delphi 5 based AV Player applications.
  • Developed UI animations for AV player application running on BeoMaster 5 in Delphi 5 and Direct3D which is rendered on BeoVision TV in typical B&O home theater system.
  • Worked in Scrum based development cycle including backlog estimation, agile and iterative development, scrum demo of the feature developed. Waterfall model for defect fixing phase.

Tools and Technologies: Borland Delphi 5, VC++, C#, .Net Framework, COM, ActiveX, Windows Audio / Video API.

Confidential

Systems Engineer

Responsibilities:
  • Integration of DirectX based Video Engine COM component developed in VC++ into Delphi 5 based BeoPlayer Client application and BeoMedia Applications, replacing existing WMP SDK based Video Engine.
  • Fully developed Delphi 5, GDI+ and VC++ based Image Transcoding application running on BeoMedia 1 black box in background. The Image Transcoding application is responsible for periodic and event driven detection of newly added digital images and converting high resolution images into low resolution copies, for faster loading by Photo player application on PC and BeoMedia 1 box. The transcoding application uses PNG format and DBISAM DB to store image info and reduces 50% image loading time when user fast scroll the list of images on his / her PC or TV.
  • Implementation of transcoded image loading logic in Delphi 5 based Photo player application which includes moving from low resolution copy to original high resolution copy of the image in case zoom feature is used by user.
  • Performance enhancements and defect fixes in VC++, COM, GDI+ based Photo Player Engine component.
  • Performance testing of BeoMedia 1 applications using AQTime and Memproof.

Tools and Technologies: Delphi 5, VC++, Visual Studio 6, DirectX, COM, GDI+, Windows SDK, AQTime, Memproof.

Confidential

Systems Engineer

Responsibilities:
  • Designed and co-developed DirectShow based video engine component in VC++, COM which abstracts complex DirectShow logic for video playback and provides simple interfaces to be used from application. The new video engine is a replacement of existing WMP SDK based video engine and hence provides all the existing interfaces while providing newer interfaces.
  • Designed and developed stream selection logic as a part of video engine in VC++. The stream selection is done when there are multiple audio / video streams integrated into single media file, and then video engine checks the properties of individual streams and selects the most suitable ones for the playback.
  • Fully developed CPPUNIT based automated test case suite for testing new video engine APIs.
  • Developed NUNIT bases test cases in C# .NET for testing B&O’s propriatory SINOPE framework used for development of AV applications.
  • Developed Visual C# based test application as a starter project to test existing WMP video engine COM component.
  • Designed and developed MFC test application in VC++ for testing new video engine COM component APIs. Integrated video engine with the new test application.
  • Integrated video engine COM component to other B&O Delphi 5 applications like BeoPlayer, BeoMedia 1 applications.

Tools and Technologies: VC++, MFC, DirectX, Delphi 5, Visual C# .NET, NUNIT, WMP SDK, COM, Visual Studio 6.

Confidential

Systems Engineer

Responsibilities:

  • Designed and developed source code parser for COBOL using C++, Lex and Yacc to extract structure and control flow artifacts from source code. The artifact objects can be used by ProAX component for extracting static and dynamic models from it.
  • Integrating C++ parser in Revine tool used to extract artifacts from source code.
  • Researched, designed and developed ER model extraction tool using ProAX Framework and Java to extract Entity-Relationship models from flat file databases used in legacy systems developed in COBOL.
  • Worked on research paper on ER model extraction and developed logical meta-model which can be transformed into ER models.
  • Developed number of Java test applications to test ProAX components used for reverse engineering products.
  • Developed sample applications in COBOL, CICS for testing with ER model extraction tool

Tools and Technologies: C++, Lex and Yacc, ProAX, COBOL, CICS, Java, Visio, Visual C++ 6.0, MS Word.

We'd love your feedback!