We provide IT Staff Augmentation Services!

Principal Firmware Engineer Resume

4.00/5 (Submit Your Rating)

SUMMARY:

  • Software/Firmware engineer with 15+ years of experience in real - time and embedded systems.
  • Over 10 years of Linux and Unix experience.
  • Strong skills in real-time, embedded, C/C++, Python, Scripting, and assembly language.
  • Experience with software development life cycle methodology and tools, such as Agile, Git, Redmine/Jira, and Code review/collaborator.
  • Experienced in networking protocols and datagrams, such as TCP/IP, UDP, and ICMP.
  • Skilled with security protocols, encryption and software, such as VPN, PKI, Openssl, Quicksec, and Strongswan.
  • Experience with performance analysis, benchmarking and code optimization.
  • Strong communication and presentation skills.
  • Ability to work in a fast paced environment with minimal direct supervision.
  • Proven success in new software development, enhancement/support of existing applications, and automated hardware/software testing.

PROFESSIONAL EXPERIENCE:

Confidential

Principal Firmware Engineer

Responsibilities:

  • Developed, and tested firmware for the Confidential / Confidential SSD product lines. These high performance SSD products are primarily used by data centers.
  • Performed feature development, failure analysis, and bug fix for Flash Transition Layer firmware and drive bring-up.
  • Developed Flash page simulation for simulation debugging and testing.
  • Software was written in C/C++ for ARM7, ARM9, and Cortex. The design utilized multiple cores and MPU's.
  • The development environment incorporated GIT Source Code Management and JIRA defect management. Supporting software was written in Python.
  • Earlier SSD products used a proprietary rt-exec. More recent products (last 2 years) use ThreadX.
  • Development included simulation and device integration testing, and unit testing using CPPUtest and OpMock. Debugging with Jtag, Lauderbach, and GDB.
  • Worked with Agile software development process across local and remote cross functional teams. Development and simulation was done in Linux.
  • Additionally, participated in documentation, code reviews, demos, and status updates.

Technical skills used: C and Python languages, ARM embedded development, Agile, Git code control, Jira defect reporting.

Confidential

Senior Software Engineer IV

Responsibilities:

  • Designed, developed, and tested network software and applications for Confidential 's line of secure communications server products. Real-time systems software was written for Linux using C and C++. The applications level software also included development in Python and Java.
  • Developed test software in Linux C++ for testing 5000 handsets with 500 simultaneous voice calls.
  • Developed specialized voip software for General Dynamics and L3 Communications secure cell phones based on Windows Mobile / Windows CE. All software was written in C++.
  • Developed communications software for Confidential 's vending machine payment software using ARM based embedded Linux.

Technical skills used: C and C++ languages, Python, Java, shell scripting, Unix/Linux, ARM embedded development with OpenEmbedded and Lantiq toolchains, Quicksec, Python Selenium, openssl, and Strongswan.

Confidential

Software Engineer

Responsibilities:

  • Ported a 500,000 line C language control software for the Mark IV PVD semiconductor system from a proprietary operating system to Linux.
  • The project included a rewrite of GUI modules to X-Windows, including development of a graphics editor to handle proprietary picture files.
  • Wrote an Intel RMX PL/M to Linux C translator capable of 100% conversion, and converted the legacy PL/M based TAZ Mark II control software to Linux.
  • Developed a hardware simulator for the Mark II system to allow software maintenance without the requirement for actual hardware.
  • The simulator samples stepping motor and analog/digital outputs and creates appropriate computer inputs.
  • Developed an 80286 emulator to handle protected mode iRMX-II O/S binary load modules.
  • The software included the emulation of over 80 iRMX functions including VGA graphics. The emulator permitted replacement of unavailable Multibus-I hardware with a Linux based controller.

Technical skills used: C Language, C++ Language, Scripting, PL/M Language, Unix/Linux, Real-Time/Embedded Software, Unix/Linux Device Drivers, Hardware Interfaces, Porting & Legacy Systems, Semiconductor Equipment, SECS/GEM, Compiler/Translator/Tools dev.

Confidential

Team Manager / Lead Engineer

Responsibilities:

  • Designed and developed C/C++ control software for a $2,500,000 semiconductor wafer processing system utilizing six networked computers, LynxOs real-time Unix, and X-Windows based Graphical User Interface.
  • Development included modeling and prototyping, simulation, production product development, integration of hardware/software, systems test, and initial customer support.
  • As a team contributor, designed, coded and tested several major subsystems including the material handling robotics, the GUI, and the SECS/GEM interface.
  • Over 50 systems were delivered to major semiconductor companies.

Technical skills used: C Language, C++ Language, Scripting, Unix/Linux, Real-Time/Embedded Software, Unix/Linux Device Drivers, Hardware Interfaces, Semiconductor Equipment.

We'd love your feedback!