• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience.
OR
Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience.
OR
PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
• 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
Preferred Qualifications:
8+ years of experience in Software/Firmware Validation
Demonstrated software test engineering in SW/FW engineering with focus on Data Center Servers (minimum 5 years).
Strong understanding and experience in software/firmware test automation techniques
Extensive experience working with operating systems like Ubuntu Server, RHEL, SUSE, similar or Windows server
Work with multiple SW/HW Engineering teams to ensure that all requirements and features of reference platform requirements have been validated at a component, integration, functional and system level
Strong programming skills with experience in C and/or Python programming languages
Experience developing automated software/firmware test cases for server platforms, supporting bring-up and production SW releases
Nice to have:
Prior Experience with SW/FW integration at BIOS/UEFI, BMC firmware, Operating System for x86/ARM64/RISC-V 64bit for server platforms.
Strong understanding of Server firmware Standards, opensource Implementation and specifications for ARM64-based servers
Principal Duties and Responsibilities:
• Leverages advanced Software knowledge and experience to design, develop, create, modify, and validate embedded and cloud edge software, applications, and/or specialized utility programs.
• Analyzes user needs, software requirements, and time and cost constraints to design and customize software for optimal operational efficiency.
• Designs and implements software modules for large-scale products and systems.
• Participates in and leads design, coding, unit testing, debugging, and integration efforts to ensure projects are completed to specifications and schedules.
• Performs complex code reviews and regression tests as well as triages and fixes issues to ensure the quality of code.
• Collaborates with individuals outside the software function (e.g., Hardware, Systems, and Test engineers) to ensure solutions work with other components of a specific project.
• Writes detailed technical documentation for complex Software projects.
Level of Responsibility:
• Works independently with minimal supervision.
• Provides supervision/guidance to other team members.
• Decision-making is significant in nature and affects work beyond immediate work group.
• Requires verbal and written communication skills to convey information. May require basic negotiation, influence, tact, etc.
• Has a moderate amount of influence over key organizational decisions (e.g., is consulted by senior leadership to make key decisions).
• Tasks often require multiple steps which can be performed in various orders; extensive planning, problem-solving, and prioritization must occur to complete the tasks effectively.