Embedded Software Engineer

Job Title: Software Engineer (Embedded Systems, Linux, C++, Networking)

Location: Mountain View, CA(Onsite)

Introduction: We are seeking a talented and highly motivated Software Engineer to join our dynamic engineering team. This role is ideal for someone with strong embedded systems expertise, a deep understanding of Linux, and experience in network protocols such as TCP/IP and IPv6. The ideal candidate will be proficient in C++ and have hands-on experience with Yocto for building embedded Linux systems. Experience with Android Framework is a plus.

Key Responsibilities:

  • Develop, design, and implement embedded software solutions for hardware platforms.
  • Work on Linux kernel and user-space applications, focusing on performance optimization, stability, and security.
  • Implement network protocols such as TCP/IP and IPv6, ensuring robust connectivity in embedded systems.
  • Utilize Yocto Project to build and customize embedded Linux distributions for target devices.
  • Collaborate with cross-functional teams (hardware, QA, and product) to ensure seamless integration and delivery of the software stack.
  • Debug, troubleshoot, and resolve issues related to embedded systems, networking, and Linux environments.
  • Write clean, efficient, and maintainable code following best practices.
  • Participate in code reviews and maintain high-quality software development standards.
  • Stay current with advancements in embedded systems, networking technologies, and Linux development.

Requirements:

  • Bachelor's or Master's degree in Computer Science, Computer Engineering, or a related field.
  • Proven experience (3+ years) in embedded software development.
  • Proficiency in C++ programming in embedded Linux environments.
  • Strong experience with Linux operating systems, kernel development, and device drivers.
  • Solid understanding of networking protocols (TCP/IP, UDP, IPv6) and hands-on experience in networking configuration and troubleshooting.
  • Experience with Yocto or other embedded Linux build systems.
  • Familiarity with Android framework and development for embedded Android systems (good to have).
  • Strong debugging and problem-solving skills in complex embedded systems environments.
  • Excellent communication and teamwork skills.
  • Ability to work independently with minimal supervision in a fast-paced development environment.

Preferred Skills:

  • Experience with wireless communication protocols (Wi-Fi, Bluetooth, etc.).
  • Knowledge of other programming languages (Python, Shell scripting, etc.).
  • Experience with version control systems like Git.
  • Familiarity with Continuous Integration/Continuous Deployment (CI/CD) pipelines.
  • Knowledge of security principles in embedded systems.


 


Key Skills:

  • Embedded Systems, Linux, C++, Networking
    Android, C++ developers
Scroll