Dell Firmware Principal Engineer in Round Rock, Texas

  • Assist in setting the technical direction for one or more firmware subsystems and ensure their implementation into Dell's PowerEdge Server enterprise product line as a member of embedded software team responsible for embedded server firmware.

  • Analyzes requirements and develops innovative, useful software. Modifies existing software products to add new functions, adapt to new hardware, improve performance or enhance product usability.

  • Participates in product development in all stages from planning and design to development and testing.

  • Contributes to the design and architecture of high-quality, complex systems and software.

  • Contributes to the development, review, analysis and implementation of test strategies for complex software products and systems.

  • Contributes to the development, test and integration of code for new or existing software of significant complexity involving multiple teams.

  • Provides the review, analysis and closed-loop corrective action for issues contributing to software defects and business process problems.

  • Presents accurate project status to senior leadership, at both a summary and detailed level.

  • Prepares technical documents used internally and externally to provide both summary and detailed technical information other teams require to complete projects and tasks.

  • Able to code/debug and guide others to code/debug flexible, scalable and complex programs, using either written or verbal design specifications.

Required Skills:

  • BS with 6-8+ years’ experience (or MS with 4-6+ years) in with embedded C programming on a variety of processors, including software testing and debugging.

  • Strong knowledge on object oriented methodologies and programming languages: C (must), C++ Firmware development experience with embedded Linux and open source libraries or other embedded operating system.

  • Experience with inter-process communications, e.g. BSD sockets, Zero-M Q, or NANOMSG

  • Proficient in scripting such as Perl, Python, VBScript or PowerShell

  • Experience of UEFI development highly desired

  • Strong debugging skills using various industry standard debuggers such as gdb etc.

  • Knowledge of source control environments like Subversion, Git, etc.

  • Experience with code hardening tools like Valgrind, YAMD, Fortify, etc

Desired skills:

  • Prefer experience with one or more of the following industry standards or specifications: WS-MAN, IPMI, I2C, SMCLP

  • BS or MS in Computer Science or EE

  • Experience with multiple programming languages, databases, operating systems, tools and hardware platforms.

  • Knowledge of Open Embedded/YOCTO Linux a plus

  • Familiarity with XML, REST, JSON a plus

  • Knowledge of networking/ protocols, e.g. DNS, MDNS, DHCP is a plus

  • Able to achieve mastery of new tools, languages and operating systems with some training and on-the-job experience.

  • Able to participate and add value in all phases of software development: feasibility, design, implementation, integration, test and delivery.

Required Skills:

  • BS with 6-8+ years’ experience (or MS with 4-6+ years) in with embedded C programming on a variety of processors, including software testing and debugging.

  • Strong knowledge on object oriented methodologies and programming languages: C (must), C++ Firmware development experience with embedded Linux and open source libraries or other embedded operating system.

  • Experience with inter-process communications, e.g. BSD sockets, Zero-M Q, or NANOMSG

  • Proficient in scripting such as Perl, Python, VBScript or PowerShell

  • Experience of UEFI development highly desired

  • Strong debugging skills using various industry standard debuggers such as gdb etc.

  • Knowledge of source control environments like Subversion, Git, etc.

  • Experience with code hardening tools like Valgrind, YAMD, Fortify, etc

Desired skills:

  • Prefer experience with one or more of the following industry standards or specifications: WS-MAN, IPMI, I2C, SMCLP

  • BS or MS in Computer Science or EE

  • Experience with multiple programming languages, databases, operating systems, tools and hardware platforms.

  • Knowledge of Open Embedded/YOCTO Linux a plus

  • Familiarity with XML, REST, JSON a plus

  • Knowledge of networking/ protocols, e.g. DNS, MDNS, DHCP is a plus

  • Able to achieve mastery of new tools, languages and operating systems with some training and on-the-job experience.

  • Able to participate and add value in all phases of software development: feasibility, design, implementation, integration, test and delivery.