
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
Basic Qualification: BE / Btech Computer Science
Desirable Skills:
1.Software development using Embedded C, C++ with programming standards (MISRA)
2.Knowledge of bus systems, which are used in the automotive industry, like CAN, LIN, I2C, SPI, etc)
3.Software development processes –A-SPICE V-cycle
4.Experience with development of control units for the automotive industry, especially experience with the development based on AUTOSTAR basic software.
5. Experience in the automotive industry according to common development and parameterization tools (i.e. Vector CANoe).
6.Knowledge of standards for safety-critical software (ISO 26262) is a plus.
Lifespark Technologies is looking for individuals with a passion for impacting real lives through technology. Lifespark is one of the most promising startups in the Assistive Tech space in India, and has been honoured with several National and International awards. Our mission is to create seamless, persistent and affordable healthcare solutions. If you are someone who is driven to make a real impact in this world, we are your people.
Lifespark is currently building solutions for Parkinson’s Disease, and we are looking for an embedded software lead to join our growing team. You will be working directly with the founders on high impact problems in the Neurological Healthcare domain. You will be solving some of the most fundamental and exciting challenges in the industry and will have the ability to see your insights turned into real products every day
Responsibilities :
1. RTOS based multithreaded software development
2. Building future ready, scalable software architectures
3. Liasing with hardware team to decide project requirements
4. Realtime IoT functionality development on ESP32 platform
5. Integration of third party services for cloud based communications and computation
6. Maintaining and documenting software via git (GitLab)
7. Coordinating releases, setup and maintenance of CI/CD pipelines
8. Managing AWS based backend services, integration with AWS services such as S3,
Sagemaker
9. Firmware security, Flash encryption, Bootloader encryption, secure communications
10. Deep integration with hardware team - stress testing hardware
11. Development of device drivers
12. Software testing and maintenance
Recommended experience :
1. Good command over Linux
2. Familiarity with real time tasks and timing sensitive system design
3. Familiarity with BLE/Wifi/etc IoT communication protocols
4. Familiarity with major third party platforms for cloud and ML/AI integration
5. Testing actual physical outcomes of programmed solutions
6. Deep familiarity with ESP-IDF
Location : IIT Bombay, Mumbai
Working mechanism : In-person
Compensation range : 4-12 lpa + ESOPs
• 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.
About Apexon:
Apexon is a digital-first technology services firm specializing in accelerating business transformation and delivering human-centric digital experiences. For over 17 years, Apexon has been meeting customers wherever they are in the digital lifecycle and helping them outperform their competition through speed and innovation. Our reputation is built on a comprehensive suite of engineering services, a dedication to solving our clients’ toughest technology problems, and a commitment to continuous improvement. We focus on three broad areas of digital services: User Experience (UI/UX, Commerce); Engineering (QE/Automation, Cloud, Product/Platform); and Data (Foundation, Analytics, and AI/ML), and have deep expertise in BFSI, healthcare, and life sciences.
Apexon is backed by Goldman Sachs Asset Management and Everstone Capital.
To know more about us please visit: https://www.apexon.com/" target="_blank">https://www.apexon.com/
Desired Candidate profile:
- 5+ years of Embedded/Linux SW Development relevant Experience in Embedded C++.
- Expert knowledge in writing software for embedded Systems (Embedded C++ language).
- Experience on OTA would be an added advantage
- Work experience in software development on bare metal, RTOS or Internal Linux.
- Work experience in developing firmware for 8/16/32 bit microcontrollers (ARM, RISC etc)
- Good understanding w.r.t usage of 1. RTOS like MQX.
- Bootloader and software update concepts.
- Communication protocols like TCP/IP,MQTT.
- Socket programming in Linux environment.
- Good knowledge on protocols like (RS485, SPI, I2C, ADCs, CAN, LIN)
- Knowledge of Blue-tooth communication protocols for BLE 4.2/5.1.
- Proficient in the use of embedded SW Development tool chain (Flash/ debug tool chain, IDE).
- Version Control Systems –GIT
- Should have detailed knowledge on microcontrollers/microprocessors
- Experience in scripting languages like Shell / CAPL / Make/Python etc.
- Experience in using tools like Logiscope / Function Generator / Oscilloscope, etc.
- Good knowledge in reading schematics and datasheets.
- Excellent analytical skills and problem-solving skills.
- Strong communication and interpersonal skills.
- Must be a self-starter.
- Ability to work as part of a dedicated project team and independently
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.
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
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
Job Description:
WLAN Linux Device Driver development (802.11ax preferred)
- WLAN Debugging
- WLAN Firmware development (802.11ac, 802.11n)
- Networking/Wireless Domain knowledge
- Hostapd, Supplicant
- Cross compiling/porting experience
- Performance optimization & Firmware enhancements
Must have Skills:
- 1-10 years of experience in Embedded Software Design, Implementation and testing
- Good knowledge of C or C++
- Basic knowledge in Scripting (Shell, Perl or Python)
- Proficiency in Problem Solving and Debugging skills
- Excellent team working skills
- Experience with version control e.g. GIT
- Basic experience of working in Linux OS
- Network Drivers
- WLAN Protocol Knowledge – 11n, 11ac
- WLAN Linux Device Drivers
- Hostpad, Supplicant
- WLAN Debugging
- Fluent in English
Desired Candidate Details:
- Design, development, and maintenance
- WLAN Stack development and debugging
- Feature Enhancements, Applications, Tools for SDKs
- Basic module level unit testing, System testing
- Providing support to technical documentation team and field application engineers
- Close collaboration with the Chipset Vendor on the Software Development
- Participations in the Product design and Software Design Documentation – High level / Module level / Low level design
- Troubleshooting software and architectural issues
We are looking for a seasoned Wireless LAN Software Engineer to join our Wireless & Networking team in Chennai, Pollachi, Kochi (Cochin), Gurugram, Manesar, Bengaluru (Bangalore). The candidate must be an experienced Engineer and a good team player, who will work on Wireless software solutions which will enable us to develop the products for our customers quickly with industry leading quality. Working with Embedded Software in agile development projects, you will be responsible for creating and maintaining software of Wireless Access Point and Router Products including Module design, Development, JIRA Updates and Unit testing of the Software that is meeting industry standards, creating demos of the solution and customer support.
RESPONSIBILITIES AND QUALIFICATIONS
Responsibilities
+ Design, build and maintain low latency, high-performance electronic trading platform components, with a focus on market data, exchange and client connectivity and risk controls.
+ Deliver continuous optimization for latency, scale and resiliency improvements.
+ Participate in system builds for various markets globally, have curiosity and interest in understanding market microstructure details, work closely with engineering, sales and product teams globally for successful delivery of projects.
+ Basic Qualifications
+ Bachelors or Masters degree in computer science or engineering or equivalent experience
+ 5+ years of professional experience developing deterministic high performance, low latency systems in python/C++ (counted in single digit microseconds)
+ Prior experience with FIX and binary exchange connectivity and market data protocols preferred
+ Strong knowledge of object oriented programming, data structures, algorithms and design patterns
+ Critical path analysis, performance optimization and hardware acceleration.
+ Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack
+ Experience developing distributed architecture systems and messaging protocols
+ Strong analytical and problem solving skills
+ Comfortable in a fast-paced environment, self-motivated, results driven and commercially focused
Preferred Qualifications
+ Software development in python/C++ in the context of high performance (low- latency, high-throughput) real-time computing.
+ Familiarity with STL and C++11 language extensions, Boost
+ Network programming (sockets, TCP/UDP/Multicast protocols)
+ Multi-threading, concurrent programming
+ Intimate knowledge of compilers, flow of data at hardware level (memory/ caches, buses) + Some experience with FPGA or other hardware acceleration technologies
+ Experience processing large static datasets as well as high volume ticking data sources
+ Over 3 years' experience in Financial industry (Plus)











