Embedded Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for a Software Engineer (Embedded) with a comprehensive knowledge of SoC architecture and embedded software development to join our team at Snap inc! What you'll do:
- Participate in designing, developing and maintaining the firmware running on our system-on-chip and its software components at all layers of the system such as drivers, bootloader, memory management, I/O system, low power management, application software stack, etc.
- Participate in designing, developing and maintaining the software SoC validation test suite at both stages; pre and post tape out.
- Collaborate with cross-functional teams to define requirements, design architecture, implement software, and perform testing to ensure high-quality deliverables.
- Contribute to the continuous improvement of development processes.
Requirements
Do you have experience in Software development?, Do you have a Master's degree?, * Proficiency in embedded C/C++ programming languages.
- Strong understanding of embedded systems architecture.
- Experience with real-time operating systems (RTOS) and bare metal development.
- Knowledge of communication protocols such as UART, SPI, I2C, I3C.
- Familiarity with debugging tools like JTAG/SWD and logic analyzers.
- Ability to work with hardware schematics and datasheets.
- Experience with version control systems and issue tracking tools.
- Strong problem-solving and analytical skills.
- Excellent communication and teamwork abilities.
- Ability to manage multiple tasks and prioritize effectively in a fast-paced environment., * Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field.
- 5+ years of experience in embedded software development.
- Demonstrated expertise in C/C++ programming for embedded systems.
- Experience with embedded development tools and environments., * Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field.
- Experience with ARM Cortex-M/R/A architectures.
- Experience running code on FPGA or Emulator platforms (e.g., Cadence/Siemens/Synopsys).
- Experience with continuous integration and continuous deployment (CI/CD) pipelines (e.g., Gitlab).
Benefits & conditions
At Snap, we believe that having a team of diverse backgrounds and voices working together will enable us to create innovative products that improve the way people live and communicate. Snap is proud to be an equal opportunity employer, and committed to providing employment opportunities regardless of race, religious creed, color, national origin, ancestry, physical disability, mental disability, medical condition, genetic information, marital status, sex, gender, gender identity, gender expression, pregnancy, childbirth and breastfeeding, age, sexual orientation, military or veteran status, or any other protected classification, in accordance with applicable federal, state, and local laws. EOE, including disability/vets. Our Benefits : Snap Inc. is its own community, so we've got your back! We do our best to make sure you and your loved ones have everything you need to be happy and healthy, on your own terms. Our benefits are built around your needs and include paid parental leave, comprehensive medical coverage, emotional and mental health support programs, and compensation packages that let you share in Snap's long-term success!