Company
Ishitva aims at solving one of the biggest challenges faced by the world currently, which is sorting and recycling of Plastic and other Dry Waste. We build automation solutions for waste management industry using industry 4.0 tools, including Artificial Intelligence, Machine Learning and IoT. Our solutions use computer vision to make sorting of waste more efficient at different stages of the waste value chain. With a futuristic vision of revolutionising the recycling industry, today we provide solutions for automated picking, sorting, and segregation of dry waste including plastics.
Ishitva is recognised as top 10 leading AI based start-ups in the country and we are looking to build a team of young and energetic members who will work towards creating innovative solutions for some of the most urgent and important issues faced by the world. We are building a diverse team of professionals, engineers and environment enthusiasts to help us transform the waste management practices across the country
Roles and Responsibilities
About the Role
We are looking for a highly skilled Senior C++ Software Engineer to design and develop high-performance software for industrial automation and AI-powered machine vision systems. The ideal candidate should have strong expertise in Modern C++, Linux, multithreading, system architecture, and debugging complex software. The role involves working closely with hardware, AI/ML, embedded systems, and product teams to build reliable software for 24×7 industrial operation.
Key Responsibilities
Design, develop, and maintain production-quality C++ applications.
Develop scalable and maintainable software using Modern C++ (C++17/C++20).
Design software architecture and technical solutions for complex systems.
Optimize application performance, memory usage, and CPU utilization.
Develop multithreaded and concurrent applications.
Integrate cameras, sensors, industrial devices, and communication protocols.
Debug complex software issues using GDB, Valgrind, sanitizers, and profiling tools.
Write clean, reusable, and well-documented code.
Conduct code reviews and mentor junior engineers.
Collaborate with AI/ML, Embedded, Electronics, QA, and Product teams.
Participate in requirement analysis, design reviews, testing, deployment, and maintenance.
Ensure software reliability for continuous 24×7 industrial operation.
Key Skills
Required Technical Skills
Programming :
Strong expertise in C++ (C++14/17/20)
Object-Oriented Programming (OOP)
STL
Templates
RAII
Smart Pointers
Move Semantics
Exception Handling
Operating System :
Linux (Ubuntu)
POSIX APIs
Process Management
Signals
Shared Memory
IPC
Socket Programming
Multithreading :
std::thread
Mutexes
Condition Variables
Atomics
Thread Pools
Synchronization
Lock-free programming (preferred)
Software Design :
SOLID Principles
Design Patterns
Modular Architecture
UML
API Design
Debugging & Performance:
GDB
Valgrind
AddressSanitizer
ThreadSanitizer
Perf
Profiling
Memory Leak Analysis
Version Control :
Git
GitLab
Build Systems :
CMake
Make
GCC
Clang
Preferred Skills :
Qt (Widgets/QML)
OpenCV
Computer Vision
AI/ML Integration
CUDA or GPU Programming
TensorRT
ONNX Runtime
Industrial Communication (Modbus, RS485, Ethernet/IP)
Docker
CI/CD
Unit Testing (Google Test)
SQLite
Pay: ₹800,000.00 - ₹1,000,000.00 per year
Benefits:
- Paid sick time
- Provident Fund
Work Location: In person