Senior Engineer, Software Engineering - Bengaluru, India - Western Digital

    Default job background
    Full time
    Description
    Job Description

    ESSENTIAL DUTIES AND RESPONSIBILITIES

    • Participate in firmware development which is done in embedded C++ on multiple environments using latest standards C++14/17: FPGA, Simulator, eHDD (Enterprise Hard Disk Drive) product.
    • We use SAFe(Scale Agile Framework for enterprise) for our software development. Participate in SCRUM/Agile processes.
    • Create design documents pertinent to the various phases of firmware development.
    • You'll be on a scrum team responsible for full stack embedded firmware development for enterprise/datacentre HDD. This includes innovation, design, implementation and debug of data structures, software algorithms, data path, drivers needed for our large and complex software environment.
    • Deliver on cutting-edge storage products with interfaces like SAS, SATA, PCIe.
    • Work with cross functional teams to develop HDD products.
    • Self-motivated to work both unsupervised and as part of an agile team. Collaborate to develop self and others within group.
    • Understand end to end product lifecycle.
    Qualifications

    Job Description

    WD is seeking a talented and experienced engineer to join the Software Development Team and work directly on the development and support of our custom Windows and Linux Drivers. This role involves technical leadership of leading small teams to deliver stated objectives. The Team's primary objective is to develop WD's proprietary software tools that are used across the company for firmware development, testing, failure analysis, and debugging issues. The Team works cross functionally with firmware engineers, customer teams, system integration engineers, and the test development and execution teams, to design a robust and versatile tool and test environment. Our tool set is essential to the development and support of WD's cutting-edge technologies.

    Required:

    • Bachelor's or Master's in Computer Science, Computer Engineering, or Software Engineering,
    • Professional experience developing and debugging in C and C++
    • Experience with scripting languages such as Python and/or TCL
    • Experience :- 1-3 years

    Qualifications

    Skills:-

    • Object oriented programming
    • Excellent communication and debugging skills
    • Team oriented mindset
    • Highly motivated to explore and learn
    • Strong understanding of software testing fundamentals

    Drivers Specific Qualifications:

    • knowledge and experience with Systems Programming (Preferably Windows). This involves working with OS specific calls made from user programs.
    • knowledge and experience with Kernel or OS internals (Preferably Windows) programming. This involves writing or supporting kernel modules, like device drivers.
    • Working knowledge of SCSI or ATA protocols.
    • knowledge of SAS and SATA protocols is also helpful.
    • knowledge and experience of host-based device protocol test packages.
    • Some knowledge with Real Time Operating Systems (RTOSs) and embedded programming. RTOSs share many (and often more) of the constraints as OS kernel modules.
    Additional Information

    Western Digital thrives on the power and potential of diversity. As a global company, we believe the most effective way to embrace the diversity of our customers and communities is to mirror it from within. We believe the fusion of various perspectives results in the best outcomes for our employees, our company, our customers, and the world around us. We are committed to an inclusive environment where every individual can thrive through a sense of belonging, respect and contribution.

    Western Digital is committed to offering opportunities to applicants with disabilities and ensuring all candidates can successfully navigate our careers website and our hiring process. Please contact us at to advise us of your accommodation request. In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.