Skip to content
mimi

Senior Real-Time Software Engineer – C++ & Linux

Intelligent Automation, a BlueHalo Company

Derwood · On-site Full-time Senior 1mo ago

About the role

About Intelligent Automation, Inc. (IAI)

Intelligent Automation, Inc. (IAI) is a technology innovation company headquartered in Rockville, MD. For over 30 years, we have specialized in providing advanced technology solutions and R&D services to federal agencies and corporations throughout the United States and internationally. Leveraging agile R&D processes, a multi-disciplinary collaborative environment, and its substantial intellectual property portfolio, IAI excels in developing concepts into market-focused products and customer-driven solutions. IAI’s core R&D areas include: Air Traffic Management, Big Data and Social Media Analytics, Control and Signal Processing, Cyber Security, Education and Training Technologies, Health Technologies, Modeling and Simulation, Networks and Communications, Robotics, and Sensor Systems.

Job Summary

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 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

Required Experience

  • Bachelors (BS) or Master’s degree (MS) in Electrical Engineering, Computer Engineering, Computer Science (or a related field)

Desired Skills

  • 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

Citizenship Requirement

Citizenship Or Permanent Residency Required

Equal Opportunity Employer

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.

Skills

ASIOBoostC++11C/C++GITI2CIDELinuxMakefileMATLABMercurialObject Oriented ProgrammingSPISVNTCP/UDPUARTYocto

Don't send a generic resume

Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.

Get started free