Software Engineer at Meta
Bellevue, WA 98005, USA -
Full Time


Start Date

Immediate

Expiry Date

16 Nov, 25

Salary

0.0

Posted On

16 Aug, 25

Experience

5 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Computer Science, Code, Information Systems, Physics, Usb, Analytics, Git, Mathematics, Embedded Software, Applied Sciences

Industry

Information Technology/IT

Description

MINIMUM QUALIFICATIONS

  • Requires a Bachelor’s degree (or foreign degree equivalent) in Computer Science, Engineering, Information Systems, Analytics, Mathematics, Physics, Applied Sciences, or a related field and 7 years of post-baccalaureate, progressive experience in the job offered or a computer-related field
  • Experience must include at least 5 years of experience in the following:

    1. Code using primarily C/C++ and ARM assembly language


      1. Operating system internals, embedded software and linux device driver development


        1. Power ICs, bus systems and peripheral interconnects - PCIe, USB, I2C, SPI, GPIOs, PMICs


          1. Android Operating system bring up


            1. Performance optimization using profiler tools like simpleperf, Perfetto


              1. Working with large source control systems like git and repo

                For those who live in or expect to work from California if hired for this position.

              Responsibilities
              • Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth.
              • Design and implement components at all layers of the embedded system (e.g.
              • linux kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc.).
              • Own the definition of one or more work streams focused on hardware bring up, peripheral drivers and communication, silicon integration and power and performance management and optimization.
              • Debug complex, system-level, multi-component issues that typically span across multiple layers from linux kernel to application.
              • Lead debugging and performance tuning exercises using specialized tools (like GDB, JTAG Lautert Trace32, simpleperf, etc.) that span multiple hardware/firmware/software teams.
              • Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development.
              • Doing technical reviews and providing feedback on new product hardware designs to partner electrical teams.
              • Implement bootloaders for new hardware platforms by making necessary configurations and changes related to power, display, I/O subsystems and more using C/C++/Assembly programming languages.
              • Use the experience in embedded systems development based on industry standard SoC (system on chip) with bus interfaces like GPIO, SPI, I2C, USB peripherals like sensors, displays, audio to deliver BSP (board support package) software.
              Loading...