
Responsibilities
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment
- Design, develop, code, test and debug system software
- Review code and design
- Analyze and enhance efficiency, stability and scalability of system resources
- Integrate and validate new product designs
- Support software QA and optimize I/O performance
- Provide post production support
- Interface with hardware design and development
- Assess third party and open source software
Requirements
- Proven working experience in software engineering
- BS degree in Computer Science or Engineering
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems
- Familiarity with software configuration management tools, defect tracking tools, and peer review
- Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills

About Karnarogyam Pvt Ltd
About
Company social profiles
Similar jobs
Responsibilities:
· Collaborate with cross-functional teams, including hardware engineers, system architects, and product managers, to define software requirements and specifications for embedded systems.
· Design and develop efficient, reliable, and scalable embedded software solutions that meet the defined requirements.
· Write, test, and debug code in programming languages commonly used for embedded systems, such as C, C++, and assembly language.
· Interface with hardware components, such as sensors, actuators, microcontrollers, and communication interfaces (UART, SPI, I2C,CAN etc.).
· Develop and implement device drivers, firmware, and low-level software to control hardware peripherals.
· Participate in code reviews to ensure code quality, maintainability, and adherence to coding standards.
· Perform unit testing, integration testing, and system testing of the embedded software.
· Analyse and optimize system performance, memory usage, and power consumption.
· Collaborate with the quality assurance team to identify and resolve software defects.
· Stay up-to-date with industry trends, tools, and technologies related to embedded systems and software development.
· Document software design, code, and test procedures for internal and external use.
· Provide technical support to other teams during product integration, testing, and deployment.
Qualifications:
· Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, or a related field.
· Proven experience in embedded software development, including designing, coding, testing, and debugging.
· Proficiency in programming languages such as C and C++.
· Familiarity with Embedded C, 32-bit microcontroller,16-bit microcontroller hardware interfaces.
· Knowledge of real-time operating systems (RTOS) and multi-threaded programming.
· Strong problem-solving skills and ability to troubleshoot complex hardware-software interactions.
· Excellent communication skills and the ability to work effectively in a team.
· Familiarity with communication protocols (UART, SPI, I2C, CAN, Ethernet) is desirable.
· Knowledge of security considerations in embedded systems is an advantage.
Location: Chennai
Developer Software (Embedded)
Location: Udaipur
Qualification: BE in (Electrical/Electronic Engineering)
Technical
· Experience in design and development with structured Software Development Life Cycle for embedded applications
· Proficiency in C language or assembly programming, Microcontroller, Micro Processor.
· Preferably experience in working and understanding the metering domain
· Proficiency in development processes, tools/IDE (KEIL, IAR, Eclipse) & test automation
· Unit testing skill
· Interface RS485, RS232, SPI, I2C, USB, LCD, Keypad, Flash, EEPROM
· Coding Standards and MISRA rules are preferable
· Knowledge of ARM / MIPS / Coldfire / MSP430 / dsPIC / 8051 and other popular processor
· Experience in working on communication products based on GPRS, ZIGBEE, ZWAVE, Ethernet, Power line communication, DLMS, MODBUS
Job Description
· Understand improvement requirements and develop improvement solutions & package, according to technical specifications / high-level solution design
· Responsible to carry out effective and timely unit testing, in order to, deliver first time right solutions
· Development of automation framework/compiler / emulators to speed up business delivery cycle in NPI programs
· Keep track of new trends, continuously learn and self-develop skills by ensuring effective knowledge sharing through group meetings and training. Impart training to new joiners as and when assigned
· Proficiency in developing embedded software design with high reusability using relevant tools and BSM or flow diagram
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
- Very strong knowledge in Embedded C including
- Data structures
- Function pointers
- Bitwise operations
- Experience with Finite State Machine (FSM) software design
- Required experience in AVR microcontrollers and projects to demonstrate it
- Familiarity with ARM 32 bit microcontrollers (Cortex M or any other)
- Required experience with common communication protocols like SPI, UART, I2C etc.
- Comfortable with reading datasheets and basic hardware schematics
- Comfortable with linux development environment including the use of GCC, gdb, makefile
Soft Skills
- Good communication skills
- Self-driven
- Passion for embedded engineering
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
- 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
MINIMUM QUALIFICATIONS, Roles and responsibilties:
- BS/MS in Computer Engineering or related technology field
- 10+ Years of Experience in Software Development
- Experience in writing code for embedded systems, Proficient in C/C++ coding and intel DPDK
- Understanding of network interface drivers
- Experience with VMware, AWS, MSAzure, Google Cloud Platform.
- Knowledge of micro services and containerization
- Experience in building Networking Security Products
- Knowledge of Networking, TCP/IP Protocol Suite
- Design, code embedded features/solutions for the ShieldX Product
- Design write, extend and troubleshoot datapath code for switching, routing, NAT, TCP and TLS
- Work closely with other development , Product and Test Teams
- BS/MS in Computer Engineering or related technology field
- Excellent communication and Team player skills
- Should be a self-starter and be able to adopt to dynamic fast-paced environment.
- Able to work 40 hours a week






