What are the responsibilities and job description for the Real-Time Software Engineer - C++ & Linux position at Intelligent Automation, a BlueHalo Company?
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
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.
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.
(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.
- Bachelors (BS) or Master’s degree (MS) in Electrical Engineering, Computer Engineering, Computer Science (or a related field)
- 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
- 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
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.
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.