Skip to main content
Back to jobs

Real-Time Software Engineer - C++ & Linux

External
Full-timeOn-site1mo ago30+ days old, may be filled
C++Agile
Cover LetterConnect

Prepare for this interview

Elite

AI-generated questions, company research, and talking points tailored to this role


Requirements

  • Familiar with common signal processing and/or image processing algorithms
  • Installing and configuring embedded Linux, i.e. Yocto, Arch, Raspberry Pi (Raspian)
  • Optimization using GPU or SIMD/NEON.
  • Toolchain & Compiler/Cross-Compiler Technologies for ARM/X86/X86_64/BareMetal
  • Experience with common middleware implementations that interchange data between algorithms and applications such as Robotic Operating System (ROS)
  • Experience with prototyping, integrating, testing and deploying electromechanical systems
  • Experience prototyping software based on conference/journal publications
  • About Iai
  • Citizenship Or Permanent Residency Required
  • All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.

Additional Information

Senior Real-Time Software Engineer - C++ & Linux (Rockville, MD) Intelligent Automation, Inc. (IAI) is looking for a new team member who is a self-motivated Software Engineer with a passion for electro-mechanical systems. You will be working with the Robotics and Electromechanical Systems Group to develop custom solutions in the fields of Robotics, Autonomy, Human-Machine Interface, Machine Vision, and Electromechanical System Design. We have numerous active research and development projects where we design, integrate, test, and deploy systems for a range of applications, including aircraft inspection, ISR (intelligence, surveillance, and reconnaissance), utility construction, medical training, IED/EOD operations, and simulation. We are looking to add expertise and talent to our multi-disciplinary team to continue to achieve success in all of these areas. Job Duties - Work closely with algorithm developers, and/or lead algorithmic development, to mature algorithms from MATLAB and C++ to real-time applications. - Develop and /or improve software frameworks that handle multiple sensor streams while allowing algorithms to process them. - Profile software systems to identify bottlenecks (processor, memory, I/O) and collaborate on improvements as needed. - Utilize and/or modify existing code bases and libraries; create and shape new functionality. Required Experience - Bachelors (BS) or Master's degree (MS) in Electrical Engineering, Computer Engineering, Computer Science (or a related field) Required Skills - Knowledge and hands-on experience of medium scale software project developed and executed in Linux with build configuration and customization. Bonus for familiarity with embedded Linux. - Experience prototyping and implementing challenging software solutions or algorithms in C/C++ based on collaboration and whiteboarding sessions. - Multi process/thread programming such as thread safety and synchronization using frameworks like Boost, C++11, and ASIO event driven when relevant. - Strong background in Object Oriented Programming (OOP). - Inter-System communication over TCP/UDP, Serial Interface such as I2C, SPI, UART. - Experience configuring C/C++ compilers for libraries and optimizations either through an IDE or Makefile - Profile/Optimize software to select/meet target platform - Write clean, efficient, well-documented code - Proficient with SCM tools such as SVN, GIT, and Mercurial - Strong written and communication skills


Your Match

How well this role fits your profile.

Company Intel

What employees say

Worked at Intelligent Automation, a BlueHalo Company? Share your experience

Interested in this role?

Apply on the company's website.

Cover LetterConnect