Software Principal Engineer (BIOS) India-R&D
Primary Location: Bangalore, India
As a Software Principal Engineer, you will be responsible for the Product Roadmap, Innovation, Architecture, Design and development activities associated with software using a range of applicable technologies (e.g., programming languages, compilers, assemblers, debuggers, other tools) for products used in local, networked or Internet-related computer programs. 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. Leads in product development in all stages from planning and design to development and testing. Completes documentation and procedures for installation and maintenance. Assists training with production of formal training material for sales/marketing.
The team "Client Product Group" is responsible for building and delivering manageability software for Enterprise Client line of business (eg. Laptops, Workstations, Desktops etc.)
- Responsible for Product Roadmap, Innovation/Patentable Idea/Product TTM
- Responsible to work with external partners and internal Dell technology, marketing and engineering teams to Define/Design/Architect products for Next Gen Client Platforms.
- Managing early technical engagements with key development partners
- Defining and implement the overall software architecture and working in collaboration with HW and SW engineering for implementation
- Developing detailed architecture and design specifications
- 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.
- Designs and develops major functional or performance enhancements for existing products.
- Develops and implements plans and tests for product quality or performance assurance.
- 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
- 10+ years of development experience in UEFI domain.
- 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
- Must have strong debugging and troubleshooting skills Ability to write and analyze requirements, functional specifications, design specifications, test plans, and documentation
- Ability to prioritize and manage work to critical project timelines in a fast-paced environment and be organized, have an eye for detail, and be able to put ideas into a tangible form
- Ability to develop new approaches to complex design problems
- 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
- Cultivates, develops and manages strong relationship with team members.
- Ability to communicate design rationale and build consensus
- Ability to prioritize and manage work to critical project timelines in a fast-paced environment
- Ability to develop new approaches to complex design problems
- Influences others through their professional/technical expertise.
- Must be organized, have an eye for detail, and be able to put ideas into a tangible form.
- Able to achieve mastery of new tools, languages and operating systems with some training and on-the-job experience.
- 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.
- Master/Bachelor's degree in Computer Science, Computer Engineering, or related discipline, or equivalent work experience
- Participation/Contributions to UEFI Spec/BIOS forum(s)
With more than 100,000 team members globally, we promote an environment that is rooted in the entrepreneurial spirit in which the company was founded. Dell’s team members are committed to serving our communities, regularly volunteering for over 1,500 non-profit organizations. The company has also received many accolades from employer of choice to energy conservation. Our team members follow an open approach to technology innovation and believe that technology is essential for human success.
Why work with us?
- Life at Dell means collaborating with dedicated professionals with a passion for technology.
- When we see something that could be improved, we get to work inventing the solution.
- Our people demonstrate our winning culture through positive and meaningful relationships.
- We invest in our people and offer a series of programs that enables them to pursue a career that fulfills their potential.
- Our team members’ health and wellness is our priority as well as rewarding them for their hard work.
Dell is an Equal Opportunity Employer and Prohibits Discrimination and Harassment of Any Kind: Dell is committed to the principle of equal employment opportunity for all employees and to providing employees with a work environment free of discrimination and harassment. All employment decisions at Dell are based on business needs, job requirements and individual qualifications, without regard to race, color, religion or belief, national, social or ethnic origin, sex (including pregnancy), age, physical, mental or sensory disability, HIV Status, sexual orientation, gender identity and/or expression, marital, civil union or domestic partnership status, past or present military service, family medical history or genetic information, family or parental status, or any other status protected by the laws or regulations in the locations where we operate. Dell will not tolerate discrimination or harassment based on any of these characteristics. Dell encourages applicants of all ages