
About Civil Maps
About
At Civil Maps, we believe that efficient, safe mobility can revolutionize the way we live and interact with the world around us. To reach this future, we provide autonomous vehicles with cognition, enabling them to crowdsource 3D maps and make better decisions for safe driving. Our first milestones include providing real-time, localization in six dimensions and producing augmented reality maps, to be used by AVs and humans. Our process of questioning established methods and our artificial intelligence expertise allow us to define the mobility solutions of the future.
Civil Maps' resources are augmented through its partnerships with the leading geospatial, governmental and academic institutions including U.S. Department of Energy, National Energy Research Scientific Computing Center, Verizon Innovation Program, University of California Berkeley and Stanford University.
Connect with the team
Similar jobs
Job Objective:
We are seeking an experienced Developer with a strong background in C++, CUDA programming,
and Linux to guide our development team in building cutting-edge solutions for device
integration and high-performance computing tasks. This is a hands-on leadership position that
combines technical expertise with team management skills to deliver high-quality software
products.
Primary responsibilities:
Software Development:
• Develop and maintain high-performance applications using C++ and CUDA.
• Design and implement parallel algorithms for GPUs to accelerate computational
workloads.
Performance Optimization:
• Optimize CUDA kernels for performance, scalability, and memory efficiency.
• Analyze performance bottlenecks and propose innovative solutions.
Code Review and Testing:
• Conduct code reviews to ensure adherence to coding standards and best practices.
• Develop and execute test cases to validate functionality and performance.
Collaboration:
• Work closely with the software engineering and research teams to understand
requirements and deliver robust solutions.
• Provide technical guidance and mentoring to junior team members when necessary.
Documentation:
• Write and maintain technical documentation, including design specifications and user
manuals.
Required Skills:
• C++: Strong proficiency in modern C++ (C++11/14/17/20).
• CUDA Programming: Extensive experience in developing, debugging, and optimizing
CUDA applications.
• GPU Optimization: Familiarity with memory hierarchy, shared memory, streams, and
warp-level operations in CUDA.
• Parallel Computing: Solid understanding of parallel algorithms and multi-threaded
programming.
• Mathematical and Analytical Skills: Strong foundation in linear algebra, calculus, and
numerical methods.
• Tools: Experience with debugging/profiling tools like Nsight, CUDA Memcheck, or
Candidate should have 6-9 years of experience in IoT embedded systems. He/ She should be
passionate, tech savvy, academically sound, have interest in embedded devices and
technologies.
Experience:
• Exposure to Microcontroller/Microprocessor Architecture /Family e.g. ARM Cortex,
Microchip, Xtensa ESP32, TI CC32XX, STM32
• Knowledge of Bare metal and any RTOS (Free RTOS, uC OS, EmbOSs, VxWorks, QNX)
• Knowledge of Microcontroller peripherals and low level drivers e.g. ADC, DAC, I2C, SPI,
UART, CAN, RS485, DMA, Ethernet, Display
• Knowledge of networking concepts like OSI layers, embedded TCP/IP stacks and common
IP protocols
• Knowledge of RF protocols WIFI, Bluetooth/BLE, IoT Cellular
• Knowledge of IoT communication protocols MQTT, COAP, AMQP
• Knowledge of Build toolchains and framework such as IAR, GCC, Keil, Mplab
• DFMA and DFMEA, Design release process
• Coding standards, guidelines and compliance tools
• Version control and repositories using git tools
• Software quality assurance and automated testing tools Experience / Skills Embedded software design cycle
• Documenting Software Design (flow charts, state diagram, logic design, analysis, implementation, debugging and testing etc)
• Good hands-on programming in Embedded C, C++.
• Programming in scripting languages such as batch, shell, python is a plus.
• Experience with AWS/Google cloud for device connectivity. Exposure to IoT cloud services. e.g. AWS IoT
• Software and Hardware integration testing and troubleshooting
• Protocol debugging using protocol analyzer.
• Understanding of Schematic/ Hardware design around microcontrollers like ST, TI, Atmel, Microchip, ARM core
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
- Working Experience in
· C and/or C++ programming
o Should have Project working experience in C or C++
o Should have done feature enhancement and/or Bug fixing using C/C++.
· System Programming knowledge in
o Muti-threaded programming, Process contexts/forks/execs and system calls
o IPCs (like Socket programming, Message Queues, semaphores)
o Linux Operating system
o File access calls, like file descriptor handled operations.
· Enterprise Security domain and SaaS
o IPSec, SSL VPN tunnelling
- 8+Years of Exp in C++ Developement
Software: C++, Jenkins, Visual Studio, Linux, CheckMarx, GitHub, Google test framework.
Application Architecture: Scalable, Resilient, Cloud deployable, high performance based.
DB: Oracle
Libraries: CPLEX (knowledge of CPLEX is a plus)
The ideal candidate will be responsible for developing high-quality WIFI applications. They will also be responsible for designing and implementing testable and scalable code.
Job requirement and Skills
- Embedded development in C/C++ on Linux
- Experience with WiFI chipsets (Atheros / Qualcomm / Broadcom)
- Worked with WiFi drivers and WiFi stack
- Strong debugging skills
Experience
- Minimum 5-10 years of experience
- Educational Qualifications: BE/ME
- Experience developing RRM, SON features in WiFi will be great .
Skills You'll Need
- At least 3 years of C++ programming experience in a Linux environment.
- Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
- Experience in Object-Oriented design and multi threaded programming
- Experience in creating/supporting cross-platform multi threaded applications
- Strong analytical and problem solving skills
- Ideally some experience in developing low latency systems
- Experience with trading or execution systems preferred
- Bachelor's degree in Computer Science or Computer Engineering or related field
- Reliable and predictable availability
Ideally in Mumbai Metro Area but open to anywhere for the right candidate.











