Senior Staff Embedded Linux Software Engineer
Brain Corp is a San Diego, California, USA-based AI company creating transformative core technology for the robotics industry. Our purpose is to create autonomous technology that helps the real world work better. Brain's robotic and AI solutions help retailers ensure that the right product is on the right shelf at the right price, in a clean environment.
Through the BrainOS Robotics Platform, which powers the largest global fleet of the Autonomous Mobile Robots (AMRs) in operation in commercial public spaces, Brain Corp delivers insightful and efficient automated solutions in both commercial floor cleaning and inventory management, empowering organizations and their employees to achieve more. Brain Corp currently powers more than 30,000 AMRs, representing the largest fleet of its kind in the world. Brain Corp is funded by the SoftBank Vision Fund, Clearbridge, and Qualcomm Ventures.
Position Summary:
As a member of the Software Engineering Team, the Senior Staff Embedded Linux Software Engineer is responsible for leading the development and integration of system level components on Brain’s robots. The engineer will be working with different teams on various levels of the robot software stack including: camera system, sensor integration, system boot, and operating system. These robots solve complex, real-world problems. As a core member of our Software Division, the Sr Staff Embedded Linux Software Engineer will work with our world-class team of engineers and scientists to build a platform for the next generation of intelligent machines. Their experience will be pivotal in advancing our mission: safe, secure and reliable robots everywhere.
Essential Job Functions:
- Lead interaction with Hardware vendors to translate business needs into technical specifications.
- Integrate BSP (includes kernel support for sensors) provided by vendors into our embedded system and work on software bring-up on multiple platforms.
- Design, implement and test improvements to our kernel and device drivers to meet specific requirements.
- Debug kernel-related issues and provide timely resolutions to ensure system stability and performance.
- Customize the boot process of embedded systems to meet specific requirements.
- Collaborate with hardware engineers, firmware developers, and software teams to ensure seamless integration of software and hardware components.
- Conduct thorough testing and validation of embedded systems to ensure compliance with industry standards and specifications.
- Improve our Over The Air (OTA) update mechanism for more efficient remote updates and board flashing.
- Identify, propose, design, implement, and support new features, fixes, and functionality to move both our products and our software organization forward.
- Deliver software features/functionality that improve the security, reliability and performance of the software powering Brain’s robots.
- Increase the agility/software release frequency of the team and organization through code refactoring, simplification, and removal.
- Mentor and guide other members of the team.
- Help set and execute on the technical roadmap for our robotic product lines.
- Help resolve production and customer issues and engineer long-term solutions through root cause analysis and data analytics.
- Other duties and projects as assigned.
Education and/or Work Experience Requirements:
- Bachelor or Master degree in computer science, software engineering, or a related field
- 12+ years of proven experience in embedded Linux development.
- Experience writing shell scripts for Linux
- Experience with boot customization in embedded systems
- Experience architecting, designing, implementing, testing, and debugging complex system level software
Required Knowledge, Skills, Abilities, and Other Characteristics:
- Detailed knowledge of systemd, udev and other configuration and initialization sub-systems used in Ubuntu Linux
- Expertise with Linux board support packages (BSPs) for ARM based SoCs.
- Expertise with kernel development for embedded processors.
- Experience with camera pipelines including ISPs.
- Experience working with securing an IOT device running embedded Linux.
- Knowledge of operating system fundamentals: file systems, interprocess communication, computer networking, system calls, system resources, security, etc.
- Ability to translate high level requirements into production ready software.
- Ability to provide technical guidance to other members of the team by providing clear architecture definitions and designs in addition to providing feedback in code reviews.
Things that make a difference:
- MS in computer science, or related field.
- Experience working with Nvidia architectures (i.e. Jetson).
- Experience with robotic sensors such as lidars.
- Experience working with creating Ubuntu debian packages.
- Experience writing C++11 (or newer).
- Experience writing Python applications and knowledge of Python constructs and internals.
- Extensive experience designing for ease of testing, both at the unit level and integration test level.
- Track record of delivering quality system software for an IOT based product running embedded Linux.
- Good working knowledge of robotics and surrounding systems.
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; talk and hear at normal room levels; using hands to finger, grasp, and feel; repetitive motion; close visual acuity to prepare and analyze data and figures; transcribing; viewing a computer terminal; extensive reading; lift, push, carry, or pull up to 10 pounds.
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. Employee is exposed to the typical office environment with computers, printers and telephones.
Salary Range:
The anticipated salary range for candidates who will work in San Diego, California is $169,526 to $205,215. 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.
In addition to base pay, our competitive total rewards package consists of:
- A discretionary annual target bonus
- Stock options
- 401(k) plan with match (no waiting period and immediate vesting)
- Comprehensive suite of insurance benefits for employees (and their families) to include a variety of medical plan options (including an HSA with employer contribution), dental, vision, life and disability insurance, Employee Assistance Program (EAP), Legal/Identity support plans, pet insurance.
- Access to Flexible Spending Accounts (Medical and Dependent Care)
- Generous paid time off including flexible vacation, Paid Sick Leave, time off for volunteering in the community, 10 paid company holidays, and a winter company shutdown
Additional Perks include:
- Daily on-site lunch available in the San Diego office
- On-campus gym including pool and tennis courts in the San Diego office
- Opportunities to connect with colleagues including monthly game nights, hikes, wellness challenges, and community events
- Internal continuous learning events
- Opportunities to share your own interests and hobbies with the Company
#J-18808-Ljbffr