Responsible for authoring UEFI FW specifications, creating UEFI protocol drivers, Applications on Wireless chipset reference code and developing/supporting platform UEFI FW on X64 platforms.
Responsible for all software and UEFI FW related issues during the planning, development, and validation stages of the program. You will be working on next generations products and will have an opportunity to gain experience on best in the world client technologies.
Your responsibilities may include but not be limited to: Understand feature requirements, architecture and design UEFI FW development mainly in C language Unit Tests development UEFI FW code debugging UEFI FW integration with other server HW and SW platform components, like CPU, PCH, FW, OS etc.
Participates in the software development lifecycle, which includes research, new development, modification, security, correction of errors, reuse, re-engineering and maintenance of software products
Responsible for the delivery of products within budget, schedule and quality guidelines.
Works with the team to develop, maintain, and communicate current development schedules, timelines and development status.
Manages or utilizes software that is built and implemented as a product, using best-in-class development process/lifecycle management (ex: Agile, Waterfall).
Creates technical documentation of software products/solutions. Assists with the development and review of end user and technical end user documentation.
Protects Intellectual property by working appropriate legal elements (ex: procurement, patents, opensource).
Makes changes to system software to correct errors in the original implementation and creates extensions to existing programs to add new features or performance improvements.
Develops and implements plans and tests for product quality or performance assurance.
Being the technical expert for the entire Windows application development stack.
Be familiar with Window security features
Technical understanding of common security vulnerabilities and risks, as well as countermeasures and compensating controls
Usage of source code analysis tools Fortify, Coverity, Clang, or others
8+ years of relevant experience or equivalent combination of education and work experience.
Experience in programming in C, Embedded Programming in C and C++
Knowledge in X86 / X64 Architecture and Instruction set.
Experience in using PCIe Analyzer, Wireless sniffer
Experience in embedded OS driver specifically on Network, USB, SATA
Experience in Filesystem drivers specifically NTFS, FAT32, Ext3 systems.
Test Driven Development including Unit Tests environments for C
Knowledge of Intel architecture little endian, x86, x64
Remote debugging experiences on target platforms using ARIUM
Working with XML Basics of SW architecture, layered design, software patterns for embedded systems and resource management
Versed in the concept, use of and selection of revision control software (e.g. SVN, Git, ClearCase, Perforce or similar software).
Able to apply Software Lifecycle and Quality Assurance methodologies in a cost-effective manner, to bring high-quality products to market on time.
Understanding of software development lifecycle, product development lifecycle, and Agile development methodologies.
Preferences: Master/Bachelor's degree in Computer Science, Computer Engineering, or related discipline, or equivalent work experience
Dell provides the technology that transforms the way we all work and live. But we are more than a technology company — we are a people company. We inspire, challenge and respect every one of our over 100,000 employees. We also provide them with unparalleled growth and development opportunities. We can’t wait for you to discover this for yourself as a Software Principal Engineer.