

Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.

Similar jobs

• 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 us
ob Description
We are seeking candidates who can have a great conversation with Window/*nix kernel in C/C++ or Rust. The candidate will work with eBPF and Windows/Linux Kernel. The candidate will work closely with the Computation Engineer to port the ML layer into the kernel module.
Requirements
- C/C++ is a must. Rust knowledge is a huge plus.
- Good exposure to debugging (more than just `!analyze -v`). We suck at debugging here, so can use your help!
- Great version control (Git) hygiene and familiarity with CI/CD. Test- and issue-driven development (that's our new term).
- Candidate should prioritize documentation to meeting (can't emphasize enough). Who has time to talk and listen (and forget) when one can write and read? During the interview, we may ask you how to organize your notes, references, and knowledge.
- Familiarity with scripting languages such as Python/Powershell/bash is appreciated. Python is used a scripting language everywhere in our stack.
- If you don't know Java, that's +1 ;-p (just kidding).
Regards
Team Merito
Skill Required
Technical
-
● The suitable candidate shall have most of the following knowledge /skills/experience:
-
● Clear fundamentals of Analog and Digital Electronics. Knowledge of Full Hardware
-
Design Life Cycle.
-
● Knowledge of Circuit Simulation (PSPICE, NI Multisim, etc).
-
● Hand- On experience with HW designing rules, PCB Layout in Cadsoft Eagle/Altium Designer etc.
-
● Should have knowledge & experience with designing & developing 8/16 bit Microcontroller based close loop control systems and Arduino Platform.
-
● Circuit building and Circuit Analysis Skills.
-
● Component Data Sheet analysis skills.
-
● Project Requirement Analysis Protocols/Ethernet, Wi-Fi, USB, Serial interfaces(SPI, I2C, RS485, RS422, RS232).
-
● Hands-on experience in utilizing test equipment like DMM, Oscilloscopes, Logic Analyzers, Function/Signal generator/Solder Station (SMD/DIP).
-
● Knowledge about Board Bring Up process.
-
● Testing (Integration testing, protocol/Driver testing, etc.).
-
● Experience in Embedded C programming and embedded system integration and can develop test cases for the same.
-
● Knowledge of IoT Open Source Programming / Development.
-
● Candidate will be responsible for research & development of M2M/IoT products.
-
● Candidate will be responsible for end-to-end embedded system integration.
-
Others
Abilities on the following shall be of added advantage:
-
● Component Procurement
-
● Vendor Interaction
-
● Tools Management
-
● Costing and resource estimation
-
● Team management, Good Communication Skills, Pleasant Personality, Positive Attitude & Highly Creative
-
-
Decision level
Contributory: Makes major contribution to decision or policy judgment on Technical matters of IoT/ M2M Projects, Vending MachinesDemonstrate (Key competencies)
Healthy knowledge of most of the following:
-
● Embedded C
-
● 8/16 bit Microcontrollers
-
● Atmel Studio/ Arduino IDE
-
● Schematic / PCB layout design in Cadsoft Eagle / Altium Designer (SMD/DIP)
-
● Hands-on experience on Test equipment and solder stations (SMD/DIP)
-
● M2M / IoT based development
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


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)

Software Engineer(Layer 2/Layer 3)
Location : Gurgaon (WFH currently)
Experience/ Skills Required : 5 to 10 years
To be successful in this role you should be well versed with the concepts of networking and comfortable in C programming in a linux environment for embedded software. As we use Linux, experience with this operating system is a mandatory requirement, knowledge and experience on OpenWrt is a bonus. Working experience with router software development for layer 3 and layer 4 features.
Domain knowledge required: IPv4, TCP/UDP, IPv6, NAT, Firewall (iptables), DHCPv4, DHCPv6, IPv6 prefix delegation, Port forwarding, Source based routing, Policy based routing, L3 QoS, IGMP proxy, IPv6 MLD snooping, DNS, DNS proxy. Knowledge on VoIP is a bonus.
Management methods: TR069, SNMPv2, CLI.
Operating system: Linux, OpenWrt
Programming languages: C(must have), Python
Working for us means having a healthy interest in Software but most of all, you like to work in a team. You like to take initiative and have the “just do it” approach. Having the right mentality and attitude are more important for us than a degree. Dedication, investigation and responsibility are keywords for us. Preferred years of experience in industry/technology: 5-10 years.
Role:
As a Software Engineer you develop new software features and solutions for our fibre connectivity product portfolio. The position offers a wide range of possibilities to work with everything from low-level Linux drivers to high-level applications. You develop for various protocols and HW interfaces, often in complex network scenarios in combination with customer specific requirements. The team is responsible for all SW development for existing and new Home Gateways. This means development of Linux drivers, network functionality, remote Management (TR-069) and VoIP application (sipapp). The development is mainly done in C and in Linux environment, knowledge in Python is an add-on. Products and development are realized in Agile.
∙ Computer Science related Bachelor's Degree or equivalent experience
∙ Min 2 years of experience on GCP / AWS / Azure cloud system ( Overall 5+ years of experience)
∙ Familiarity with LAMP stack technologies, experience supporting
∙Must be capable of working on Linux System.
∙ Familiarity with SQL, Apache, File storage, Load Balancers and Agile methodologies ∙ Knowledge of shell scripts, Linux system administration.
∙ Strong DNS management and automation background
∙ Strong scripting (bash, php, perl) skills
∙ Good understanding of TCP/IP networking and troubleshooting
∙ Clear communication and documentation of projects and procedures
∙ Strong problem solving skills
∙ Demonstrated ability to manage timelines, dependencies, deliverables, milestones and resource allocation and management in projects.
∙Strong Cloud Architecture experience.
∙Cloud Security
∙Added Advantage with knowledge of Microservices/API/ Queue systems
∙knowledge of cloud computing technologies and current computing trends. ∙Understanding and willingness to embrace CI/CD and automation tooling such as Jenkins and GIT
Responsibilities:
∙ Set up technical server infrastructure, providing technical assistance to development teams, monitoring site performance, and troubleshooting issues when they arise.
∙ Set up and maintain a development server environment and a live server environment with a process for testing and deploying changes to live sites.
∙ Take an active role in designing, implementing and maintaining a scalable and robust enterprise server environment.
∙ Administer Apache web server, Load balancer and MySQL Server
∙ Work on System Security and IPTable configuration
∙ Optimize servers for high traffic, security, and other system issues. ∙ Evaluate and propose new or improved system architecture.
∙ Document system configuration, processes, and procedures.
∙ Share responsibility with team members for rotating on-call duties.
Experience in integration of different hardware expected. Should have knowledge in Automation and latest trends in it.

