

Job Description: Senior Software Engineer- Embedded Systems
Videogram is looking for Software Engineer in Embedded Systems who will be responsible for designing the embedded systems and installing them in machines and tools. You will be playing an important role in our software team who will be responsible to design and develop the software that controls the processor (micro-controllers and digital signal processors) of the machine. You come with a role as a professional Embedded System Software Engineer to execute a complete embedded software development lifecycle.
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment. Responsible for the complete embedded software development lifecycle
- Design, develop, code, test, and debug system software
- Coordinate with the engineers from other disciplines to develop the end product of the requisite standards
- Customize the software to suit the needs of the product nature and expected functioning
- Debug the system to remove the anomalies and inconsistencies
Requirements:
- Candidates require a bachelor's degree in computer science, electrical engineering, software development, embedded software, etc.
- The candidate should be an undergraduate in Computer Science or a relevant field
- Hands-on experience in C++11 or later programming languages
- Knowledge of GIT Version control
- Experience in doing bare metal or RTOS development
- Hands-on experience in developing the code in Linux
- They require exceptional programming skills and competence in using software tools.
- Knowledge of operating systems and of the interaction between hardware/software is important for this profile.
- The attributes of problem-solving ability, analytical skills, proactive behavior, and an adaptable approach are important in this position.
- This discipline of engineering provides scope for creative minds and poses challenges to perform quality work.
- Scripting in Python & Bash is an add-on
- Experience in any of the following technologies:
UART | SPI | I2C |MIPI DSI |Display Port | Low-Level Sata
Additional/ Desirable Interests:
- Personal interest in videography/ photography and audio production
- Experience working programmatically with videos/ images/ audio
- Exposure to low-level details of any video/ image codecs
- Exposure to movie container file formats especially QuickTime/mp4
- Working knowledge of exFAT file system

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
Job Description:
- Design and development of automotive feature/function software/components (ACC, AEB, TSR, LKA etc.) for ADAS/AD systems
- Coordination and regular interaction with different stakeholders and teams like testing, requirements, leads etc.
- Participate in SW requirement generation, SW architecture, detailed design etc.
Requirement:
- 3-7 years of experience in development of Algorithm & Functions for advance driver assist systems (ADAS), Autonomous driving (AD)
- Development experience with safety critical systems
- Experienced in development using MATLAB Simulink, TargetLink, Stateflow
- Experience in modelling and validation of control systems
- Knowledge of SIL, Performance Test, Functional testing
- Embedded software development using C, C++
- Issue management and version control
- Knowledge of ASPICE processes, Static analysis, MISRA checks etc.
- Strong written and verbal communication skills
- Proactive approach for problem solving
Good to have:
- Knowledge of ADAS/AD functions (ACC, TSR, AEB, LCA etc), Data Analysis
- Experienced in managing and authoring of function specification requirements
- Familiarity with AUTOSAR RTE
Nice to have:
- AUTOSAR, Functional Safety (ISO26262) exposure
- Scripting Knowledge - Python, MATLAB
- Working knowledge of automotive protocols like CAN, Ethernet etc.

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.
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.

You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
Started in 2015, this lifestyle and accessories startup has taken over the consumer electronics sector in India. Our client has a product range that includes an extensive catalog of headphones, speakers, travel accessories, and modern earphones. It believes in providing cutting edge electronic products stamped with durability and affordability.
The brand is associated with some of the major icons across categories and tie-ups with industries covering fashion, sports, and music, of course. The founders are Marketing grads, with vast experience in the consumer lifestyle products and other major brands. With their vigorous efforts toward quality and marketing, they have been able to strike a chord with major E-commerce brands and even consumers.
- Developing drivers and middleware for mobile and wearable computing on cutting edge new hardware components.
- Optimizing constrained environments of low power mobile devices by writing excellent C/ C++ solutions.
- Collaborating with our business development team, providing support in customer communication and other additional service inquiries, sales leads and sales support.
- Designing new features / hardware introduction
- Implementing and testing software according to design
- Creating tools to automate processes
- Specifying requirements for new/legacy functionality
- Defining feature design and system architecture
- Supporting feature and maintenance teams
- Closely cooperating with development teams
- Closely cooperating with Product Technology Area members (Product Owners, Technical - Specialist, Architect, Subject Matter Experts)
What you need to have:
- BE – CS/ ECE, MS, ME, MTech
- Very Strong C/ C++ experience in an embedded environment
- Expertise in Python Framework
- Good working experience in Unix / Linux operating system
- Must have good knowledge of Bluetooth, BLE, Wi-Fi standards
- Candidates having experience in developing Hearables (TWS, Neckband, headphones) and IoT systems are preferred
- Good knowledge of SDLC,SQA
Develop firmware, system software for medical devices\ Automotive ECUs\ IoT edge devices & gateways. Implement the logic and protocols and communications on 32-bit microcontrollers, configure OS, timers, tasks, interrupts, and communicate with external modems, SoCs, trans-receivers to design, code, and test desired functionality as per customer requirements
Job Requirements :
- Hands-on experience in firmware development using C language
- Hands-on experience in writing low-level device drivers for microcontrollers
- Know of real-time Operating system concepts, tasks, and interrupts’ configuration
- Hands-on experience with in-circuit debuggers
- Knowhow of wired and wireless communication protocols
- Basic understanding of HW circuits, power supply designs, sensors, and actuators’ interfaces
- Experience in implementing SW development quality processes like ISO 9001 or ASPICE
- Good written and oral communication skills


- Work directly with the other Software/Firmware Engineers and Electrical/RF/Systems Test Engineers to write needed software
- Design and implement software platform for firmware on embedded CPUs with multiple OS such as Windows, Linux, FreeRTOS, TI-RTOS and embedded Linux
- Use compliers, debuggers revision control and automated build systems.
- Design/develop components of software platform for use by other developers to extend its capabilities and build custom applications/behavior on top
- Develop build methodologies, debugging tools/utilities
- Develop and release Software using Agile methodology
- Write unit tests and support continuous integration and automated test methodology
- Brainstorm for new ideas and ways to improvement product and processes
- Consult with peers for feedback during debug/testing stages
- Document and maintain design processes


