Software Embedded Engineer II
Brain Corp - San Diego, CA
Position Overview:
As a member of the Firmware engineering team, the Embedded Software Engineer II will play a key role in developing applications for our BrainOS platform. This highly technical role involves hands-on coding in embedded C/C++, rigorous testing, and working closely with hardware to develop and debug robotics systems. The Embedded Software Engineer II will also engage with cross-functional teams, including product management, mechanical and electrical engineering, and software groups, to ensure seamless system integration.
Essential Job Functions:
- Design, implement, and maintain high-quality, high-performance embedded software features and services for ARM Cortex-M/R microprocessors, demonstrating technical expertise and a commitment to ownership in delivering robust solutions
- Provide technical leadership, driving best practices in software development, including code reviews, testing, deployment, and complex debugging, to ensure high-quality releases to production and influence team-wide improvements
- Take ownership of production and customers issues, conducting thorough triage, root cause analysis and data-driven engineering to develop long-term solutions that enhance reliability and performance
- Adapt to evolving challenges by collaborating across disciplines and teams (Hardware, Firmware, Cloud, Autonomy) to build a cohesive system capable of running on multiple robotic platforms
- Collaborate closely with hardware engineers, software teams, and external partners to troubleshoot and resolve system-level issues; act as a bridge between software and hardware requirements to implement effective solutions and align software needs
- Communicate effectively with external partners, gathering data, and conducting investigations to drive features and improvements
- Encourage and facilitate technical discussions, ensuring deadlines are met while influencing the development of high-performance, scalable solutions
- Mentor and support junior engineers, fostering a culture of learning by providing guidance on best practices, design principles and coding standards with empathy and adaptability
- Demonstrate ownership and adaptability by taking on additional responsibilities and projects as needed to support team goals and business priorities
Education and/or Work Experience Requirements:
- BS or graduate degree in computer science or electrical engineering
- 2-4 years professional experience in software development for embedded systems
- At least 2 years of demonstrated software engineering/coding skills, specifically in C/C++ and Python 3 within an Linux development environment
Required Knowledge, Skills, Abilities, and Other Characteristics:
- Proficiency with ARM Cortex microcontrollers
- Hands-on experience with real-time operating systems
- Strong background in Linux-based environment
- Good understanding of common MCU peripheral protocols (CAN, I2C, SPI, and Ethernet)
- Excellent technical, analytical and problem-solving skills
- Excellent communication and collaboration abilities
Things That Make a Difference:
- MS in computer science, computer/software engineering or a related field
- Experience with Control Theory
- Demonstrated ability to leverage data-driven metrics to enhance software quality
- Background in robotic software development or working with robotics-related technologies
- Understanding of CI/CD pipelines and related tools (e.g., Jenkins, GitLab CI/CD)
- Experience with Github, Github Actions, and JIRA tools for source control, tracking, and testing.
- Familiarity of Agile methodologies and best practices
- Hands-on experience in all phases of the software development lifecycle
Physical Demands:
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. Essential functions may require maintaining the physical condition necessary for sitting, walking or standing for periods of time; operating a computer and keyboard; use of hands to finger and grasp; talk and hear at normal room levels; visual acuity to determine the accuracy, neatness, and thoroughness of the work assigned or to make general observations of facilities or structures; push or pull up to 20 pounds.
Work Environment:
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. The noise level in the work environment is usually quiet to moderate. Employees are exposed to the typical office environment with computers, printers and telephones.
Salary Range:
The anticipated salary for candidates who will work in San Diego, California is $125,000. The final salary offered to a successful candidate will be dependent on several factors that may include but are not limited to the type and length of experience within the job, type and length of experience within the industry, education, etc. Brain Corp is a multi-state employer and this salary range may not reflect positions that work in other states.