
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
We are seeking a high-caliber Firmware Lead to join our Engineering team at Gradera. In this role, you will be the technical anchor for the firmware squad, responsible for translating high-level architectural visions into robust, executable low-level designs (LLD). You will lead the design and development of firmware solutions on NXP-based hardware platforms, ensuring seamless real-time data acquisition and integration with cloud-based Machine Learning (ML) platforms. We are looking for a seasoned expert who can work independently without any supervision, taking full ownership of the firmware lifecycle from hardware abstraction to cloud-edge synchronization.
Our Core Tech Stack
Embedded & OS
- NXP SoCs/MCUs: i.MX, LPC, and Kinetis series.
- Yocto Project: Custom layers, recipes, BitBake, and kernel configuration for Linux.
- RTOS Platforms: Deterministic performance, task scheduling, and interrupt handling.
Development & Integration
- Languages: Mandatory proficiency in C/C++ and C# (.NET on embedded targets/IoT).
- Communication: MQTT, WebSockets, CAN, UART, SPI, and I2C.
- Cloud & ML: Azure IoT Hub, AWS IoT Core, and data streaming via Kafka or Kinesis.
Infrastructure & Security
- Security: Secure boot, encryption, and device authentication.
- DevOps: Containerization (Docker) and CI/CD for firmware.
Key Responsibilities
- Architectural Ownership: Convert high-level blueprints into detailed technical designs for NXP-based systems, ensuring optimal performance across hardware and software layers.
- Autonomous Execution: Lead the end-to-end development of firmware modules, making critical technical decisions and resolving complex blockers without supervision.
- ML Pipeline Leadership: Collaborate with Data Engineering and ML teams to architect streaming and batch ingestion pipelines, ensuring data is correctly structured for ML training.
- Cloud-Edge Synchronization: Design secure and reliable transmission protocols for device-to-cloud communication, focusing on edge-to-cloud integration.
- Standards Enforcement: Act as the guardian of engineering excellence, implementing security best practices (secure boot, TLS) and ensuring high code quality.
- Technical Mentoring: Act as a technical beacon for the squad, conducting rigorous code reviews and mentoring senior engineers in Yocto Linux and RTOS concepts.
- Strategic Troubleshooting: Lead the debugging of critical firmware issues across hardware and software layers, including OTA update implementations.
Preferred Qualifications
- 8 to 10 years of professional experience in embedded firmware development.
- Proven ability to work independently and lead technical squads in a fast-paced environment.
- Expert-level mastery of the Yocto Project and RTOS constraints.
- Deep proficiency in C/C++ and C# for embedded systems.
- Demonstrated track record of delivering low-level designs for edge-to-cloud ML systems.
Highly Desirable
- Industry Experience: Exposure to industrial domains such as Manufacturing, Logistics, or Transportation is highly regarded.
- Experience with Edge AI / TinyML and industrial protocols (Modbus, OPC-UA).
- Knowledge of Cybersecurity standards for secure device provisioning.
Job Description – Android AOSP Developer
Job Title: (Senior) Software Developer
Location: Remote
Job Summary:
TechGrit India is seeking a highly skilled Android AOSP Developer with 5-8 years of experience to join our team. This is an immediate requirement. The successful candidate will be responsible for designing, developing, and maintaining high-quality software products that meet the needs of our customers. This role will work closely with other members of the development team to ensure that software solutions are delivered on time and within budget.
Key Responsibilities:
- Develop software applications using C++ and other programming languages as needed
- Write clean, efficient, and maintainable code that meets the requirements of our customers
- Design, develop, and maintain software systems, components, and libraries
- Collaborate with other members of the development team to ensure that software solutions are delivered on time and within budget
- Participate in the testing and debugging of software applications, and provide support to the quality assurance team as needed
Requirements
- Bachelor's degree in Computer Science, Engineering, or a related field
- 5+ years of experience in software development using C++ in a Linux/Ubuntu environment
- Experience working with Android AOSP code base.
- Strong understanding of object-oriented programming concepts and design patterns
- Strong analytical and problem-solving skills, with the ability to identify and solve complex technical problems
- Strong communication skills and the ability to collaborate effectively within a team.
- Bachelor's degree in Computer Science, Information Technology, or related field (preferred, but not mandatory).
Developers with these skills will excel in this role:
- C++ in a Linux/Ubuntu environment
- TCP/IP networking and protocols
- Multi-process Multi-threaded environment
- High performance, High Availability server software
- Video H.264 encoder/decoder
- Android, iOS, Linux client-side app development ( C++)
About TechGrit:
TechGrit is a custom software development services company dedicated to accelerating business growth through high-performing Agile teams. We specialize in delivering diversified and unique solutions across various industries, including ConstructionTech, HealthTech, FinTech, and HighTech. Our team of champion developers works closely with clients to design and develop custom software solutions that meet their business needs.
Our Mission:
To deliver high-quality and cost-effective software solutions that help companies and entrepreneurs achieve their goals and stay ahead of the competition.
Our Vision:
To be the most trusted technology partner for our customers, accelerating their business growth through innovation, reliability, and excellence by best-in-class people.
Our Core Values:
- Customer Obsession
- Excellence
- Innovation
- Teamwork
- Integrity
- Empathy
Join TechGrit and be part of a team that values innovation, excellence, and teamwork. We are committed to creating an inclusive environment where all employees feel valued and respected. If you are passionate and want to contribute to our mission and vision, we would love to hear from you.
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
- 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)
• Experience in system design and building IoT systems in resource and power constrained environments
• Proficient in C language on embedded platforms and familiarity with hardware design of embedded system is a plus
• Development on Linux Platform/RTOS with an emphasis on embedded device driver development, multi-threading, and firmware debugging
• Experience with mesh network or sensor network and communication
• Good understanding of multiple IoT platform components is essential
• Solid working knowledge using IoT hardware platforms, communication boards, and gateways
• Hands-on in internet protocols and software development using protocols including LoRA, Wi-Fi, BLE, ZigBee, NB-IoT, M2M,6LoWPAN, Ethernet etc.
• Expert hands-on proficiency in developing applications using one or more technology stacks
• Strong hands-on understanding of scalability, security, high availability, and operational requirements
• Sound and proven decision-making skills to influence the technology choice and implementation methodologies
• Hands-on in object-oriented programming principles, design patterns, and software architecture
• Good with rapid problem solving, a strong technical background, and passion for continuous improvement
• Must have had hands on experience with Connected smart products having Product and Application software, data and Cloud
• Must have intimate knowledge of tools and processes used for Product(firmware) and/or Application software and/or Device hardware and/or Cloud
• Must be intimately familiar with Agile and Scrum, in the creation of dashboards for Sprints. An expectation would be to implement Scrum within the organization
• Must have strong familiarity with SMAC(social media, mobile, analytics and cloud) trends and application to saleable product categories
• Must have worked closely with Mechanical/Electrical/Electronics engineering teams in the development of smart/connected products.
Summary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will identify and fix issues and work collaboratively with engineers, product managers, and others on various teams.
Responsibilities:
- Design and build embedded systems, including embedded system firmware
- Test and debug the systems
- Monitor and maintain the system after development
- Improve system efficiency and stability after development
- Collaborate with customers to create systems based on their needs
Requirements:
- Minimum of a bachelor's degree in computer science or engineering
- Professional experience in embedded systems
- Significant programming experience in C or C++
- Experience in trouble-shooting embedded systems and microcontroller peripherals
- Experience in working in real-time operating systems
- Experience in interfaces, IP protocols, and hardware subsystems
- Proficiency in working with common embedded systems communication protocols
- Strong interpersonal and writing skills
- Ability to work as part of a team
- Exceptional analytical and problem-solving skills
- Self-motivated and passionate about your work and embedded systems
- Always eager to learn and improve
QUALIFICATIONS: B.E./ B.Tech. (Electronics/ Electrical/ Mechatronics/ Mechanical)
EMPLOYMENT: Permanent / Full Time
LOCATION: Ahmedabad
EXPERIENCE: 1 to 3 years within automotive industry / software development.
ROLES AND RESPONSIBILITIES
- Develop, Debug simulink/stateflow models according to functional, technical requirements, MAAB guidelines.
- Derive software requirements from system level requirements and establish bi-directional traceability within the models and generated code.
- Generate Code from developed models, generate test vectors, automate tests and document code reviews, test results.
- Automate the data exchange flow between MATLAB models, excel sheets, code testing using m-scripts.
SKILLS AND EXPERIENCE
- Experience in model based development and testing using Mathwork Tools such as MATLAB/Simulink, Stateflow, autocode generation tools Embedded coder or TargetLink.
- Good understanding of the Automotive software development cycle and tool chains
- Should possess a good understanding of C coding, m-scripting, with good debugging and software testing skills.
- Experience in developing MATLAB/ Simulink models from scratch for automotive applications.
- Should have experience in requirements management, and be able to write test cases from them.
- Experience in MBD testing such as MIL/ SIL/PIL.
- Good communication skills in English and Hindi Language.
- Experience in MATLAB verification and validation toolbox like Simulink Design Verifier, Simulink Test, Simulink Coverage is advantageous.
- Basic understanding of Control System Design and Electric Vehicles is a plus.
MINIMUM QUALIFICATIONS, Roles and responsibilties:
- BS/MS in Computer Engineering or related technology field
- 10+ Years of Experience in Software Development
- Experience in writing code for embedded systems, Proficient in C/C++ coding and intel DPDK
- Understanding of network interface drivers
- Experience with VMware, AWS, MSAzure, Google Cloud Platform.
- Knowledge of micro services and containerization
- Experience in building Networking Security Products
- Knowledge of Networking, TCP/IP Protocol Suite
- Design, code embedded features/solutions for the ShieldX Product
- Design write, extend and troubleshoot datapath code for switching, routing, NAT, TCP and TLS
- Work closely with other development , Product and Test Teams
- BS/MS in Computer Engineering or related technology field
- Excellent communication and Team player skills
- Should be a self-starter and be able to adopt to dynamic fast-paced environment.
- Able to work 40 hours a week











