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
Embedded Systems Intern
Company: Glarenergy
Location: In-Office (Hyderabad)
Stipend Range: ₹1000 to ₹10000
Duration: 3 months
Position Overview
We are seeking a highly motivated and technically proficient Embedded Systems Intern to join our
engineering team. This role provides hands-on experience in the complete embedded system
development lifecycle, focusing on microcontroller programming, sensor integration, and system
prototyping. The ideal candidate will be passionate about hardware and software, eager to learn, and
ready to contribute to innovative projects.
Key Responsibilities
● Firmware Programming: Develop, test, and debug efficient firmware for various
microcontrollers and Processors (Beagle Boards) using Embedded C.
● Sensor Interfacing: Interface and acquire data from a diverse range of sensors (digital and
analog) using standard communication protocols (I2C, SPI, UART).
● Hardware Prototyping: Set up and test development boards and prototype circuits, ensuring
correct functionality and stability.
● Code Documentation: Maintain clean, well-documented code and manage projects using
version control practices.
Required Qualifications
Technical Skills
● Proficiency in firmware programming tailored for embedded systems.
● Demonstrated hands-on experience with popular microcontroller platforms (Arduino, ESP32,
or similar).
● Strong foundational knowledge of sensor technologies and interfacing, including data
acquisition and signal conditioning.
● Basic understanding of electronics and the ability to read circuit schematics.
Soft Skills
● Strong problem-solving and analytical thinking abilities.
● Excellent communication and teamwork skills.
● Ability to manage multiple tasks and meet deadlines.
Work Expectations
● Punctual attendance and adherence to agreed work schedule.
● Professional communication with team members and external contacts.
● Proactive approach to learning and skill development.
● Commitment to maintaining confidentiality of proprietary designs and information.
● Flexibility to adapt to changing project requirements and priorities.
Key Responsibilities
- Design, develop, and maintain scalable applications using the OutSystems platform.
- Build modern Reactive Web and Mobile applications aligned with business and technical requirements.
- Implement integrations with REST APIs, databases, and external systems.
- Collaborate with architects, tech leads, and cross-functional teams for smooth deployments.
- Create reusable, maintainable components following OutSystems best practices.
- Participate in code reviews, unit testing, debugging, and performance optimization.
- Ensure adherence to scalability, security, and deployment automation guidelines.
- Stay updated on new OutSystems capabilities and contribute to continuous improvement.
Mandatory Skills:-
C Programming and data structures.
Linux Internals ( System calls, IPC, Network Programming, POSIX Multi-thread programming)
Desirable Skills :-
C++ and OOPs knowledge
Linux system start-up sysvinit, systemd,
Bootloaders : uBoot
Message bus protocols like dbus
Basic Linux Device driver knowledge
Linux Build framework – Yocto-Bitbake, Makefiles
Python scripting
Debug using tools such as GDB
Version control - GIT and SVN
2) Experience in protocols like UDS and CAN.
3) Experience in AUTOSAR(COM, DCM and MCAL).
4) Experience in CANoe and CAN analyzer tools.
5) Experience in Compiler and Debugging.
6) Experience in using Configuration Management.
7) Knowledge and experience in Rational Rhapsody would be advantageous.
Additional Skills:
1) Good analytical & communication skills.
2) Willingness to take up responsibility & ownership.
3) Self-learning & Self-motivated with a good learning curve.
4) Adaptive & Flexible to challenging situations.
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
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)
o Acceptance criteria: Shall have working experience in creating architectures for at least
4 projects.
Shall be strong in Object-Oriented Design and Thinking.
Shall be strong in documenting software architecture and communicating the same using UML.
Shall be strong in decomposing larger system into smaller units with clear implementation
dependencies marked for planning.
Shall be strong in effort estimation techniques.
Shall possess strong Problem Solving and Analytical Skills.
Shall be strong in C or C++ programing language experience.
Shall possess good understanding of either Linux or QNX or Android Operating Systems
Shall have a strong experience in developing software using in POSIX APIs.
Shall have a strong understanding on Networking, socket programming and working experience
in at least one of the IPC Frameworks like DBUS, SOME/IP, Binders etc.
Working experience with test framework and automation projects such as Robot Framework.
Knowledge on various software licenses and their compatibilities.
Shall posses strong knowledge in bootloaders, system startup, power management, persistency
management, health management and diagnostics framework for automotive systems.
Shall have a good knowledge on Functional Safety.
Shall have a good understanding hardware and processor internals.
Nice to haves:
Knowledge or working experience in AUTOSAR and / or Adaptive Autosar.
Understanding of GNU/Linux and its device driver framework.
Knowledge in “Secure Programming Techniques” is a plus.
Understanding in ARM Trusted Frameworks, Bootloaders & Virtualization Solutions is a plus.
Involvement in open-source projects in the past is a plus.
Knowledge in Package management and installers.
- Degree : B.E. or M.S. EE/CS/CE
- Methodologies: SV, UVM & OVM
- Areas of Work: Digital Verification (both IP / SOC)
- Protocol : Knowledge of PCIe/DDR/Ethernet/USB is Plus
- Familiar with Bus protocols like AXI, AHB, SPI and I2C








