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
Position: Senior Embedded Software Engineer – PCIe / Embedded Linux
Location: Bangalore (Preferred)
Experience: 7+ years
Night Shift
About the Role:
We are seeking a highly skilled Senior Embedded Engineer with strong expertise in Embedded Linux and PCIe protocol development. The ideal candidate will have deep technical knowledge of PCIe (Gen4 and above) and experience in developing and debugging embedded systems at both hardware and software levels. Exposure to AI/ML or accelerator-based systems will be considered a strong plus.
Key Responsibilities:
- Design, develop, and optimize embedded software on Linux and RTOS platforms.
- Implement and validate PCIe-based communication and device drivers (Gen4 minimum, Gen5/6 preferred).
- Work closely with hardware and system teams to debug low-level issues related to PCIe interfaces.
- Develop firmware and system-level software components for high-performance embedded platforms.
- Participate in board bring-up, performance optimization, and hardware/software integration.
- Contribute to system architecture discussions and design reviews.
- Document design, testing procedures, and performance analysis.
Core Skills Required:
- Embedded Linux development (mandatory).
- Deep understanding of PCIe protocols (Gen4 minimum; Gen5/6 preferred).
- Strong knowledge of low-level driver development, DMA, interrupts, and memory management.
- Experience with Embedded RTOS environments.
- Familiarity with hardware debugging tools (e.g., JTAG, logic analyzers, oscilloscopes).
- Proficiency in C/C++ and scripting (Python, Shell).
- Excellent problem-solving and debugging skills.
Preferred Skills (Good to Have):
- Exposure to AI/ML hardware accelerators or data processing units (DPUs).
- Understanding of SoC architecture and high-speed interconnects.
- Experience working with multi-core systems and performance tuning.
Education:
- Bachelor’s or Master’s degree in Computer Engineering, Electronics, or related field.
The Senior Software Engineer works with an experienced cross-functional team to deliver innovative wireless communication security products. They will utilize real world knowledge and a disciplined approach to product development, and adapt readily - Time-To-Market demands, ensuring product quality and timely delivery in a highly dynamic market environment.
ESSENTIAL FUNCTIONS :
- Design and deliver server platform based software products from conceptual stages to production delivery.
- Work independently on all phases of server centric software development including specification, architecture design, rapid prototyping, efficient coding, integration, debug and unit testing. Support UL and EN regulatory compliance
- Work collaboratively and effectively as part of a small team on fast paced projects that have tight deadlines.
- Support manufacturing life cycle for new products from NPI to production run and incremental software release of functionality.
- Lead, train, and mentor junior engineers
- Document and present design requirements to staff
- Possess a demonstrated ability to communicate with customers via email and phone
REQUIRED SPECIFIC JOB KNOWLEDGE, SKILL AND ABILITY :
The individual must possess the following knowledge, skills and abilities and be able to explain and demonstrate that he or she can perform the essential functions of the job, with or without reasonable accommodation, using some combination of skills and abilities.
- Must be an excellent SW developer. We expect experience developing software C/C++ in Linux and Perl. Other scripting languages is a plus (i.e. Python).
- Strong experience with SQL, Database design (MySQL a plus)
- Experience with Network Security Administration and understanding of the full SDLC.
- Experience with Multithread, Socket connection, OpenVPN server setup, OpenSSL, Certificate, Encryption, and TCP/IP troubleshooting.
- Experience with Testing tools, virtualizing servers, and using source control (SVN a plus).
- Experience with Linux development infrastructure, tool chain and build environment (Jenkins a plus).
- Experience developing both Linux application software; installing Linux software and configuring Linux systems.
- Experience with Application server remote update, and Apache Server authentication.
- Proven record of designing and delivering complex networking products from inception to production delivery.
- Previous experience developing quality software for commercial products.
- Experience with communication systems involving wireless, radio, security and mesh networking technologies is a plus.
Experience with OSI networking protocols and applications is a plus.
- Experience with system development tools, including Source-Level Debuggers, Protocol Analyzers (Wireshark), Code Analysis tools, etc.
- Experience with any of the following is nice to have: Apache Server, GPIO, TCL/Tk, BACnet, Cloud server setup, and WebGUI design (javascript and jQuery a plus).
Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less
• 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.










