
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

Similar jobs
Job Summary:
Conceptualize, designs, codes, debugs and performs development activities in accordance with designated standards and procedures to meet specific project requirements. Shares technical expertise and provides training and guidance to other team members.
Essential Job Duties and Responsibilities:
- Using the current programming language and technologies provide creative, thorough and practical solutions to a wide range of technical problems.
- Share technical expertise within the department and other departments as requested.
- Analyze and contribute to system and subsystem requirements specifications and design definitions.
- Design, develop and test of applications and programs to support the company’s products.
- Design, develop and test software programs following established quality standards and in accordance with internal engineering procedures including coding, unit testing, peer reviews and software configuration control.
- Complete high- and low-level detailed software design specifications, storyboards and interface specifications.
- Provide support of products through conception to product delivery including problem solving, defect maintenance and support to customer services (which may require out of hours support in certain circumstances).
- Prepare reports, manuals, procedures and status reports.
- Provide training and guidance to other team members.
- Supports the bids and proposal and customer variation requests.
- Keeps abreast of improvements and developments within software engineering, supporting continuous improvement within engineering.
- Comply with Cubic’s values and adherence to all company policy and procedures. In particular, comply with the code of conduct, quality, security and occupational health, safety and environmental policies and procedures.
- In addition to the duties and responsibilities listed, the job holder is required to perform other duties assigned by their manager from time-to-time, as may be reasonably required of them.
Education and Qualifications
Essential:
- Bachelor of Science degree in computer science, electrical engineering, or related field or equivalent professional experience or combination of both.
C++ Embedded development experience requirements:
- 6+ years of C++ experience (C++ 11 C 14 is mandatory )
- Delivered highly functional, performance-driven, user-friendly applications.
- Proficient client-side development experience.
- Experience in developing multi-threaded applications.
- Experience with REST, JSON C web services.
- Experience using a crash reporting solution.
- Experience of debugging on target hardware.
Essential:
- Experience in Software Engineering with a proven track record of specification, design and development.
- Demonstrable experience of defining test plans and test data requirements.
- An effective problem solver with the ability to understand and resolve complex issues.
- Experience in troubleshooting and debugging applications.
- Organized with the ability to prepare reports, manuals, procedures and status reports.
- Experience of Object-Oriented Design (e.g. UML) and implementation, along with Design patterns.
- Ability to contribute to the development of the architecture for applications.
- Experience of maintaining and improving coding standards.
- Able to build reusable code and libraries, ensuring thorough application documentation for future use.
- Experience of software best practices such as Automated Testing (Google Test and VSTest), Continuous Integration, Test Driven Development, SOLID and Clean Code principles.
- Scrum or Kanban experience. GIT and Jenkins experience.
- Experience using DOORS, Test Rail and JIRA
- Experience working with test teams to optimize application performance.
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.
Summary:
Hyperspec is building a real time local map for self-driving cars and using cross view localization to enable ubiquitous autonomy. Hyperspec is a VC funded startup.
The principal embedded systems engineer will have deep expertise in embedded systems design, development and worked for years on embedded systems teams. This person is a leader and mentor to junior engineers and shares knowledge about the design and development of embedded systems.
Responsibilities:
- Serves as an expert in all aspects of embedded projects and embedded systems—including designing, developing, testing, and perfecting designs
- Responsible for updating and working with executive leadership on the development of embedded systems and status of projects
- Provides guidance and mentoring to other members of the team
Requirements:
- Minimum of bachelors' degree in computer science or engineering
- At least ten years of engineering experience with expertise in software engineering, data structures, and programming techniques
- Deep expertise in C/C++ programming
- Experience with FPGAs, PCB, Xilinx, Altera, or similar SoCs.
- Experience with ISPs, Cameras, Switches a plus.
- Experience in working with real-time operating systems, communications protocols and firmware design.
- Experience in interfaces, IP protocols, and hardware subsystems.
- Experience in working as part of a team and leading teams.
Software development for video streaming solutions. The position is for a developer role who will translate functionality building blocks and components into to software code, integrate the functional components in the architectural framework. The position will be responsible for complete software development including requirements analysis, design, implementation, unit test, integration. Expert in C++, C#, Network protocols like TCP/UDP, design patterns and principles. Hands on with network protocols in C#. Understand cloud technology.
Strong debugging skills. Video streaming hands is preferred. Video Management solutions (VMS) hands on is big plus. It requires closely working with SMEs/ domain experts. Responsible for algorithm development, programming, unit testing, implementation, documentation, maintenance and support of systems software’s in adherence with Industry standards, processes and best practices. Develop high quality, secure, scalable software solutions based on technical requirements specifications and design artifacts within expected time and budget. Assist team members in the development of applications, components, system to system interfaces and complete software solutions. Collaborate with cross-functional teams to determine functional and non-functional requirements for new software or applications Collaborate with SMEs, domain experts, quality assurance and end users to produce cutting-edge robust software solutions Develop product specifications with attention to safety criticality, robustness & reliability, extendibility & flexibility Evaluate existing software solutions to identify areas for improvement, modularization Design and documentation of evolving architecture in terms of UML diagrams, architectural diagrams, state-machines, flow-charts etc. Code implementation, debugging and unit testing
Work with project team to meet scheduled due dates, while maintaining the software quality. Assistance in testing activities as per standard V&V practices and Quality Assurance Maintain thorough documentation of software artefacts as per software development guidelines for moderately-complex projects. Actively look for opportunities to enhance standards and improve process efficiency.
Skills
- Minimum 5+ years of proven experience as software engineer.
- Strong in Network protocols, OOPS concepts and data structures.
- Familiarity with application software development as well as embedded software development
- Experience in software development and coding in various languages (C, C++, C#)
- Excellent knowledge of software and application design, architectural styles and design patterns, architecture tradeoff analysis
- Proficient understanding of any one of code versioning tools (Git, SVN, and Mercurial)
- Familiarity with formal change control and support processes (JIRA, BitBucket, Scrum etc.)
- Understanding of V&V approaches and software quality assurance principles
- Experience with service-oriented architecture (SOA), and cloud technologies would be an added advantage
- A technical mindset with great attention to details, innovation
- Good analytical, communication and presentation skills
Key Shared Accountabilities
Customers: Competence to build and effectively manage interpersonal relationships at all levels with different clients and vendors.
Business Team: Work Closely with business team to understand the needs and deliver by maintaining harmonious relationship.
Desired Behavioural Values
- Commitment to common purpose and goals
- Seating respect on the table
- Displaying Integrity and Ethic
- Taking initiative and ownership
- Being passionate about making a difference
- Constant networking with thought leaders, analyst & special interest groups.
- Collaborate with SMEs, domain experts and quality assurance to produce cutting-edge robust software solutions.
- Dreamer, Creative, Passionate & self-motivated & self-starter
- Actively listen to others and demonstrate understanding of other points of view.
- Showcase likeliness to adjust to changing conditions or priorities.
- Take the initiative to identify, work on problems proactively and lead by example.
- Consistently provide ideas, opinions, or information in a professional way.
- Understand IP & trademark policies and actively promote safe practices in projects.
Primary Skill: System Software Development
Skill sets req:
- Linux porting/development; Linux kernel concepts
- Expertise in Linux BSP device driver development
- Customizing kernel + Porting + Developing Applications Linux Device Driver Development (Character devices) Good Concepts of Network Drivers File Systems Concepts
- Expertise in porting, network stack; optimization, network programming
- Bootloader/Uboot porting
- Camera driver development (Good to have)
ROLES AND RESPONSIBILITIES:
• Articulate complex problems, communicate viable architecture and design approach in a clear and concise manner.
• Thrive in a collaborative team environment and work with ambiguous product requirements.
• Evaluate opensource technologies, development stack and strive for new learning, continued growth by applying industry best practices and processes.
• Provide thought leadership in cloud based VoIP(Voice/WebRTC) services and bring your passion for technology to motivate and inspire on a day to day basis.
SKILLS REQUIRED
• 4+ years experience in building highly available, fault tolerant and scalable real-time communications(Voice and WebRTC) systems in the cloud (AWS preferred).
• Demonstrated history of building complex, high-performance applications in C/C++.
• Proven expertise in network and system performance optimizations(including kernel, containers and virtualization technologies).
• Proficiency in telecom protocols (SIP, SDP and RTP/RTCP) and internet protocols(IPv4/IPv6, TCP and UDP) is desirable.
• Deep understanding of all aspects of WebRTC from audio codecs, to networking (ICE, STUN, TURN) up to server side components needed to deploy the technology at scale (SFU, MCU, Relays) and network security(TLS, SRTP).Strong analytical, problem solving and troubleshooting skills.
• Programming experience with Python, Golang and Lua will be a plus.
• Prior experience working with Asterisk, FreeSWITCH, RTPEngine, Kamailio, or OpenSIPs will be a plus.










