24 Sep
|
Big Bang Boom Solutions Private
|
Chennai
24 Sep
Big Bang Boom Solutions Private
Chennai
Key Responsibilities (100% Hands-On)
- Multithreaded Pipeline Development: Design and implement thread-safe data processing pipelines to handle high-rate sensor streams (video frames and RF IQ data) concurrently without blocking critical execution paths.
- Algorithm Parallelization &
- Porting:
Translate computer vision workflows (OpenCV) and digital signal processing (DSP) logic into efficient, production-ready C++ code, utilizing multi-core processor architectures to maximize throughput even generic algorithm porting knowledge sufficient.
- Real-Time Data Processing: Optimize modules responsible for the ingestion, synchronization, and manipulation of live telemetry from optical sensors (EO/IR cameras) and RF payloads (SDRs) using efficient memory buffers.
- Concurrency Management: Write clean code utilizing modern C++ concurrency primitives to prevent race conditions, deadlocks, and thread-contention bottlenecks.
- Hardware Offloading: Assist in optimizing tasks leveraging SIMD vectorization (ARM NEON, AVX) and utilize deployment tools like TensorRT or OpenCL under the guidance of senior engineers.
- Profiling &
- Debugging: Regularly profile multi-threaded modules to detect, isolate, and fix memory leaks, execution bottlenecks, thread sync latencies, and CPU/GPU usage spikes.
Required Skills &
- Qualifications
- Education: Bachelor’s degree in Computer Science, Embedded Systems, Electrical/Aerospace Engineering, or a related technical field.
- Experience: 2–3 years of professional experience writing production-grade C++.
- Multithreading &
- Concurrency:
Solid practical understanding of multithreading concepts, including std::thread, mutexes, locks, condition variables, atomic operations, and building/using thread-secure queues.
- Core C++:
Strong working proficiency in Modern C++ (C++14/17), with a solid grasp of pointers, references, smart pointers, RAII, memory management, and the STL.
- Computer Vision Foundations: Practical, hands-on experience using OpenCV for image processing tasks (e.g., resizing, color conversions, filtering, and multi-threaded image block operations).
- Linux &
- Build Tools: Comfortable developing in a Linux/Embedded Linux environment and writing/modifying CMake scripts for cross-compilation toolchains.
- Debugging Tools: Familiarity with standard profiling and debugging tools (e.g., GDB, Valgrind, ThreadSanitizer, perf).
- Python: Programming and algorithm implementation knowledge
Preferred / Bonus Skills
- Experience with parallel processing libraries such as OpenMP or Intel TBB (Threading Building Blocks).
- Exposure to Real-Time Operating Systems (RTOS like FreeRTOS, Zephyr, or VxWorks) and deterministic scheduling.
- Basic understanding of RF data (IQ signals) or digital signal processing (FFTs, filters).
- Knowledge of video frameworks and streaming pipelines (e.g., GStreamer, FFmpeg).
- Security Clearance: Ability to obtain or maintain a government security clearance is highly desirable.
- Understanding Object-Oriented Programming (OOPs) concepts.
- Experience working on multithreaded or concurrent applications.
- Hands-on experience with OpenCV, particularly in real-time image processing applications.
- Knowledge of the C++ Standard Template Library (STL).
- Experience with C++11 (mandatory). Knowledge of newer standards such as C++14 or C++17 will be considered an added advantage.
- Understanding and practical experience with software design patterns.
- Basic knowledge of data structures and problem-solving.
📌 C++ Software Engineer (Chennai)
🏢 Big Bang Boom Solutions Private
📍 Chennai