
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 Title: Senior Software Engineer (6-Month Contract)
Location: Bengaluru
Experience: 8+ Years
Mandatory Skills:
- C++ and C# programming
- Windows system-level programming
- Strong OOP, data structures, algorithms, and design patterns
Desired Skills:
- Knowledge of security fundamentals (authentication, cryptography)
- Familiarity with networking protocols (TCP/IP, TLS/SSL)
- Experience with REST clients and Windows security mechanisms
Responsibilities:
- Design, develop, and maintain Windows-based applications
- Write clean, efficient code and perform code reviews
- Collaborate with team members and communicate effectively
- Contribute to testing strategies and ensure software quality
- Prepare technical documentation and provide project status updates
Soft Skills:
- Self-driven and proactive
- Strong communication and teamwork skills
Contract Duration: 6 months
Key Responsibilities
● Contribute to firmware architecture discussions and implement embedded solutions
aligned with product requirements.
● Design, implement, and maintain low-level code (C/C++ and Assembly) for device
drivers, RTOS-based systems, and communication protocols.
● Work with microcontrollers (ARM Cortex-M, RISC-V, etc.), SoCs, and interfaces (UART,
SPI, I2C, USB).
● Participate in board bring-up, debugging, and validation using JTAG/SWD, logic
analyzers, and oscilloscopes.
● Support OTA updates, bootloaders, and watchdog implementations to ensure robust
device operation.
● Collaborate with QA and production teams on testing, DFU flows, and manufacturing
integration.
● Document design specifications, APIs, and debugging procedures for internal use.
● Stay updated on embedded industry practices, toolchains, and frameworks to enhance
development quality.
Qualifications / Skill Set
● Bachelor’s or Master’s degree in Electrical/Electronics Engineering or related field.
● 4–7 years of hands-on experience in embedded systems and firmware development.
● Strong programming skills in C/C++ with familiarity in Assembly.
● Experience with FreeRTOS or similar RTOS.
● Hands-on expertise with STM32, Nordic, or Renesas controllers is a plus.
● Knowledge of power optimization, OTA mechanisms, and firmware security.
● Skilled in debugging embedded systems using JTAG/SWD and related tools.
● Experience with Git-based workflows; scripting knowledge in Python is desirable.
● Prior experience delivering production-grade firmware is an advantage.
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
Bachelors/Masters Degree in Engineering
Position : BSP Engineer
Total experience : 4+ yrs to 10 yrs
Desired Skills And Experience
4+ years of experience in application development, drivers development.
At least 4 years of working experience in the design and development of u-boot and Linux kernel subsystems and drivers.
Excellent programming skills in C/C++ and Hands-on experience in ARM-based SoC.
Experience in BSP and Boot loaders
Linux Device drivers Development and knowledge of RTOS.
Device drivers experience preferably for following devices: UART, I2C, I2S, SPI, GPIO, PCIe, MMC, USB etc.,
Hands-on experience on WIFI and SDIO has added advantage.
Strong debugging skills.
Location:Bangalore / Chennai
Type: Permanent
Company Type: AI / Digital Product Design Service based
Job Description
* Experience in C/C++ and have strong experience embedded application development and integration in Linux
* Good in creating unit tests, performing code reviews, optimizing performance and ensuring standards for maintainability
* Debugging, profiling, and performance optimization skills
* Have experience working in a fast paced Agile/Scrum environmentDomain Skills
Leads a team of Engineers for designing and architecting next generation platform solutions for clusters/Interior monitoring systems
Architecting the design for new features and technologies for Platform.
Expertise in programming using C, C++ and good understanding of OOAD & UML
Capable of analyzing HW schematics to realize the SW requirements.
Support and resolve issue resolutions and clarification for cross-functional teams.
Support team lead and project manager at program level in resolving open issues
Technical Skills
Expertise in memory management (eMMC, NAND)
Design, Develop and test device drivers in Linux/Android/QNX platform.
Multithreaded programming, usage of IPCs, Interrupts & synchronization methods.
Expertise in using the communication protocols (I2C, SPI & UART) in the device driver.
Expertise in handling Device Tree based configurations.
Strong C & C++ programming skills, OOPS concepts
Linux Architecture knowhow
Strong in software development for real-time embedded systems
Experienced in Design/Architecture Tools like EA
Expertise in SCM Tools like GIT/GERRIT
Ability to create and review changes for Gerrit and participate in a continuous integration loop
Ability to create/understand the build infranstructure using CMake for the middleware components
Experience in Unit test tools like cppunit, gtest.
Know-how and experience of SAFe/Agile Development
Knowledge in Automotive Safety Standards and Processes (ASPICE).
Logical, Analytical and Debugging/Problem-Solving skills
Qualifications
B.E/B.Tech in Computer Science with hands on with Embedded software development on RTOS
Flux Auto builds autonomous vehicle technology for commercial and industrial applications.
Responsibilities:
- Work on Embedded Software for deployment on the self-driving vehicle.
- Investigate, develop different system design and architecture for ADAS system.
- ROS version of Firmware package for multiple sensors with different communication protocols.
- Work on Serial communication (GMSL/CAN/LIN/FlexRay/Ethernet/UDP).
- Work on Multi threading and Data preprocessing.
Requirements:
- Experience in the fields of firmware development of Camera, Radar, Lidar, inertial sensors, Micro Controllers, ISP, Serdec.
- Candidate should have a strong background in Embedded system and Communication protocols.
- Candidate should have hands-on knowledge of data structures and algorithms for Data processing, and familiar with ROS (robot operating system)
- Candidate should have hands-on knowledge on Multiple sensors, Data pre processing (Clustering, noise removal, etc.) and image preprocessing (Histogram equalization, Tone mapping, etc. )
- Candidate should have real-world experience in implementing Firmware packages for multiple sensors and communication protocols
- Candidate should have experience in programming in C++ and with robust, safety-critical, efficient code
Additional requirement: Active U.S visa.
Good to Have:
- Domain knowledge and implementation experience with multiple sensor, inertial sensors, and general Embedded System Architecture
- Real world experience with system integration and deployment
- Worked on sensor fusion and Embedded systems
- Experience with Nvidia SOCs and Drive works Architecture
Benefits:
- Health Insurance
- Employee Stock Options
- Work From Home
- Flexible work hours
- Monthly Team outings and events
- Budget for Upskilling
- Flexible vacation
Equal Opportunity Employer:
Flux Auto's employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, age, gender identity, genetic factors, military/veteran status or other characteristics protected by law.
Vaccination Requirements:
Flux Auto is implementing new requirements for employees to be fully vaccinated from COVID-19.
Apply Now!
- Develop embedded Linux Applications
- Work with a worldwide team to integrate the product to meet the requirement
Required Qualifications:
- Degree in Computer Science from a top-tier institution
- Relevant full-time work experience of 4+years
- Strong foundation in computer science, Object-Oriented software, unit testing & test automation with scripts
- Ability to self-teach.
Mandatory Technical Skills:
- Expert level programming in C/C++
- Linux systems programming, data structures & algorithms
- Networked applications
Desirable Technical Skills:
- Linux Board Bring up, device drivers would be an advantage









