The Job logo

What

Where

Software Engineer

ApplyJoin for More Updates

You must Sign In before continuing to the company website to apply.

Smart SummaryPowered by Roshi
As a Software Engineer, you will be involved in designing and developing firmware components, system libraries, and low-level hardware features. Collaborate with cross-functional teams to debug and troubleshoot complex issues. Stay updated with industry trends and provide improvement recommendations.
Responsibilities
  • You will contribute to the architecture and design of various firmware components, including driver interfaces, system libraries needed for SoC bring-up, secure platform design and development, protocol and feature development of low-level hardware. 
  • You will be contributing to all phases of product development, from design through manufacturing and productization. 
  • Perform system-level debugging and troubleshooting to identify and resolve complex hardware/firmware-related issues. 
  • Collaborate with cross-functional teams including hardware architects and engineers, software developers, validation & integration. 
  • Stay up to date with industry trends and advancements in cloud firmware technologies and provide recommendations for improvement.

 

Qualifications
  • Bachelors or higher in Computer Science, Computer Engineering, Electronics Engineering or similar.
  • 1-2 years of professional experience in firmware development or embedded software development in a multicore environment or hardware and firmware security.
  • 1-2 years of Programming experience in C/C++/Rust 
  • Solid understanding of computer architectures including processors, buses, and memories. 
  • Demonstrated experience of hardware and firmware architecture, design, and coding for solutions at scale.
  • Experience with SoC bring-up, with Security primitives, bootloaders, platform initialization, board support package development, peripherals such as PCIe, I2C, SPI, USB, UART , OS primitives, memory management, scheduling, interrupts and multi-threading.
  • Excellent problem-solving and analytical skills. 
  • Experience working with multiple teams on Root cause analysis, troubleshooting, and debugging skills resulting into solving complex Hardware/Firmware interface issues. 
  • Self-motivated and able to work independently. 
  • Strong communication and collaboration skills, with the ability to work effectively in cross-functional teams. 

 

Preferred Qualifications:  
  • Experience with working from early concept of Platform Architecture & design 
  • Prior experience of working in one or more of the following areas:  
  • Hardware accelerator software design and development 
  • Secure boot, platform security protocols, secure firmware updates, attestation, secure recovery, and secure debug workflows 
  • Implementing industry-standard security protocols, including secure communications, cryptographic algorithms, public key infrastructure, key management technologies 
  • Security primitives, security ciphers, threat vectors, security mitigation strategies to close identified vulnerabilities. 
  • CPU Execution modes, security model, cache, coherency, Memory management and protection, interrupt controller, virtualization, and other related concepts 
  • PCIe driver/firmware development in virtualized environment 
  • Platform initialization, board support package (UEFI/U-Boot/ATF) Development & integration, low level drivers for peripherals such as I2C, I3C, eMMC, SPI, USB, UARTs etc,  
  • Driver development for RAS, Debug, Logging 
  • (RT)OS Scheduling and firmware development in multithreading SMP as well as in heterogeneous computing environment
Set alert for similar jobsSoftware Engineer role in Noida, India
Microsoft Logo

Company

Microsoft

Job Posted

a year ago

Job Type

Full-time

WorkMode

Hybrid

Experience Level

0-2 Years

Category

Software Engineering

Locations

Noida, Uttar Pradesh, India

Qualification

Bachelor

Applicants

Be an early applicant

Related Jobs

Microsoft Logo

Software Engineer

Microsoft

Noida, Uttar Pradesh, India

Posted: 7 months ago

The Software Engineer position at Microsoft in Noida, Uttar Pradesh, India offers a full-time hybrid opportunity for a motivated individual with a minimum of 1 year of experience. The role involves designing and delivering complex features, building scalable services, conducting testing and code reviews, and collaborating with cross-functional teams to meet performance goals.

Microsoft Logo

Software Engineer

Microsoft

Noida, Uttar Pradesh, India

Posted: 9 months ago

Job description  We are seeking an experienced and highly skilled Software Engineer with a minimum of 8 years of software development expertise. An ideal candidate should possess good knowledge of JavaScript & TypeScript and have good experience in leveraging UX frameworks. Additionally, their proficiency in React can enable them to build reusable components and front-end libraries for future use, contributing to the overall efficiency and coherence of our product. They will be integral in creating scalable and resilient UX solutions that will deploy to datacenters worldwide.  Qualifications Bachelor's or higher degree in Computer Science, Software Engineering, or a related field.   Minimum of 8 years of hands-on fullstack software development experience, with majority of it leveraging UI/UX frameworks.  Proven experience as a Software Engineer, with a track record of successfully delivering complex software solutions.   Strong proficiency in JavaScript and TypeScript, with practical experience in developing web client applications deployed on any major cloud platforms.  Proficiency in multiple programming languages and frameworks.   Excellent problem-solving and critical-thinking skills.   Strong leadership and mentorship capabilities.    Responsibilities Design :  Lead design and implementation of software solutions, ensuring they align with business goals and scalability requirements.   Collaborate with cross-functional teams to gather requirements and translate them into robust and scalable designs.   Development :  Write code and actively contribute to the software development effort, especially critical components of the design.  Provide technical guidance and mentorship to junior developers.  Web Client Expertise :  Leverage knowledge of JavaScript & TypeScript to design and implement web client applications.  Proficiency in React to build reusable components and front-end libraries for future use.  Build scalable & resilient UX solutions for web client applications deployed to cloud.   Innovation and Emerging Technologies :  Stay abreast of industry trends, especially around web client architectures & frameworks.  Evaluate and integrate emerging technologies to enhance the software architecture and keep the organization at the forefront of innovation.   Collaboration and Communication :  Collaborate with cross-functional teams, including product managers, engineers, and data scientists, to ensure a cohesive and effective development process.   Communicate architectural decisions, technical concepts, and recommendations to both technical and non-technical stakeholders.  

Microsoft Logo

Senior Data Engineer

Microsoft

Noida, Uttar Pradesh, India

Posted: a year ago

Job description  Qualifications Bachelor’s degree or master’s degree in computer science, Math, Software Engineering, Computer Engineering, or related field   4+ years’ experience in business analytics, data science, software development, data modelling or data engineering work      Preferred qualifications:     Architecting, building, and maintaining end-to-end, high-throughput data systems and their supporting services.  Designing efficient data structures and database schemas and working with distributed systems architecture  Incorporating data processing and workflow management tools into pipeline design.  Utilizing a variety of data stores, including data warehouses, relational database systems, in-memory caches, and searchable document databases.  Experience working with large data sets using SQL/Azure Data Lake/Spark/Data bricks, etc., to derive actionable insights is highly desirable.  Developing for continuous integration and automated deployments.  Using profiling tools, debugging logs, performance metrics, and other data sources to make code- and application-level improvements.      Responsibilities   Ship high-quality, well-tested, secure, and maintainable code.  Design, develop, and maintain data pipelines and back-end services for real-time decisioning, reporting, optimization, data collection, and related functions.  Manage automated unit and integration test suites.  Work collaboratively and communicate effectively with a small, motivated team of engineers and product managers.  Experiment with and recommend new technologies that simplify or improve the tech stack.  Participate in an on-call rotation and work occasional off-hours.