Software for Hardware Engineer

Microsoft's mission is to empower every person and every organization on the planet to achieve more.
$81,900 - $160,200
Embedded
Entry-Level Software Engineer
Hybrid
5,000+ Employees
2+ years of experience
Enterprise SaaS
This job posting may no longer be active. You may be interested in these related jobs instead:
Junior R&D Software/Firmware Engineer - C++

Junior R&D Software/Firmware Engineer position at Agilent Technologies focusing on C++ development for embedded systems and firmware.

Embedded Software Engineer

Join Neuralink as an Embedded Software Engineer to develop safety-critical firmware for revolutionary brain-computer interfaces, working with cutting-edge technology to restore movement and sight to patients.

R&D Engineer

R&D Engineer position at Broadcom focusing on developing NIC drivers and embedded systems programming with competitive compensation and benefits.

R&D Engineer

R&D Engineer position at Broadcom focusing on developing NIC drivers and embedded systems programming.

Software Engineer

Entry-level C++ Software Engineer position at Rapsodo, developing embedded systems and sports analytics solutions used by professional athletes worldwide.

Description For Software for Hardware Engineer

Come build community, explore your passions and do your best work at Microsoft. This opportunity will allow you to bring your aspirations, talent, potential - and excitement for the journey ahead

A Software for Hardware Engineer works with software concepts that directly interact with the hardware they run on – memory management, working on chip peripheral, debugging code running on live hardware, etc. You might also create software designs based on product requirements and use software engineering principles to produce executable code fulfilling design and feature requirements. These roles work with electrical engineers, system engineers, architects and software engineers to determine the core firmware strategy for our product roadmaps.

Microsoft's mission is to empower every person and every organization on the planet to achieve more. As employees we come together with a growth mindset, innovate to empower others, and collaborate to realize our shared goals. Each day we build on our values of respect, integrity, and accountability to create a culture of inclusion where everyone can thrive at work and beyond.

Responsibilities:

  • Applies software engineering principles to solve complex problems on product Hardware and Operating systems – accomplished through sound and creative engineering.
  • Learns and contributes to processes for the architecture of a product/solution feature and learns to create proposals by testing design hypotheses and helping to refine code plans under the technical leadership of others.
  • Seeks feedback and applies internal or industry best practices to improve technical solutions.
  • Contributes to partnership with appropriate stakeholders (e.g., project manager, technical lead) to determine user requirements for a feature.
  • Develops knowledge of and learns to apply best practices to reliably build code that is based on well-established methods. Develops an understanding of global and local regulations for technologies and system applications.
  • Problem solves and debug modern-day multiprocessor systems.
  • Demonstrates an understanding of how to write/debug code.
  • Embody our Culture and Values

Required Qualifications:

  • Bachelor's Degree (or currently pursuing a degree) in Computer Science or related technical discipline with proven experience coding in languages including, but not limited to, C, C++, C#, Java, JavaScript, or Python. OR equivalent experience.

Preferred Qualifications:

  • 2+ years technical experience OR Bachelor's Degree in Computer Engineering, Computer Science, or related technical field with coding in languages including, but not limited to, C, C++, embedded programing, and embedded systems. OR Master's Degree in Computer Engineering, Computer Science, or related technical field with coding in languages including, but not limited to, C, C++, embedded programing, and embedded systems.
  • Excellent problem solving and debugging skills for modern-day multiprocessor systems. Understanding how to write/debug code and use Hardware level code debuggers and diagnostic tools.
  • Experience in Embedded Software/Firmware showing understanding of embedded systems, 8-32 bit microprocessors, IO's, I2C/SPI and other interconnected buses.
  • Ability to read schematic and translate into code (i.e. IO/Pin assignments, etc.).
Last updated 7 months ago

Responsibilities For Software for Hardware Engineer

  • Apply software engineering principles to solve complex problems on product Hardware and Operating systems
  • Learn and contribute to processes for product/solution feature architecture
  • Seek feedback and apply best practices to improve technical solutions
  • Contribute to partnerships with stakeholders to determine user requirements
  • Develop knowledge of best practices for reliable code building
  • Problem-solve and debug modern-day multiprocessor systems
  • Write and debug code for embedded systems

Requirements For Software for Hardware Engineer

Java
JavaScript
Python
  • Bachelor's Degree in Computer Science or related field
  • Experience with C, C++, C#, Java, JavaScript, or Python
  • Understanding of embedded systems and microprocessors
  • Ability to read schematics and translate into code
  • Problem-solving and debugging skills for multiprocessor systems

Benefits For Software for Hardware Engineer

Medical Insurance
Education Budget
Parental Leave
  • Medical Insurance
  • Educational resources
  • Discounts on products and services
  • Savings and investments
  • Parental Leave
  • Generous time away
  • Giving programs
  • Opportunities to network and connect

Interested in this job?