
C++ Embedded Developer
at AI First, New-age Technology Company for the Digital
Location:Bangalore / Chennai
Type: Permanent
Company Type: AI / Digital Product Design Service based
Job Description
* Experience in C/C++ and have strong experience embedded application development and integration in Linux
* Good in creating unit tests, performing code reviews, optimizing performance and ensuring standards for maintainability
* Debugging, profiling, and performance optimization skills
* Have experience working in a fast paced Agile/Scrum environment
Similar jobs
Internship Opportunity – Embedded Systems & IoT
Join our hands-on internship program designed for engineering students passionate about core tech. You'll work on real-time projects involving microcontrollers, sensors, RTOS, circuit design, and IoT protocols.
Gain exposure to AI-integrated embedded applications and build a strong project portfolio with mentorship and placement support.
Location: Bangalore (Hybrid/On-site)
Duration: 2–3 months
Eligibility: Final-year students and pre final year (ECE/EEE/CSE/Mechatronics)
#EmbeddedSystems #IoTInternship #EngineeringInternship #CoreTechCareers #Microcontrollers #RTOS #PCBDesign #IoTProjects #KnowxInnovations #AIoT #TechInternship #SkillDevelopment #HandsOnLearning #BangaloreInternship #StudentInternship
About us:
Arista Networks was founded to pioneer and deliver software driven cloud networking solutions for large datacenter storage and computing environments. Arista's award-winning platforms, ranging in Ethernet speeds from 10 to 400 gigabits per second, redefine scalability, agility and resilience. Arista has shipped more than 20 million cloud networking ports worldwide with CloudVision and EOS, an advanced network operating system. Committed to open standards, Arista is a founding member of the 25/50GbE consortium. Arista Networks products are available worldwide directly and through partners.
About the job
Arista Networks is looking for world-class software engineers to join our Extensible Operating System (EOS) software development team.As a core member of the EOS team, you will be part of a fast-paced,high caliber team-building features to run the world's largest data center networks.Your software will be a key component of Arista's EOS, Arista's unique, Linux-based network operating system that runs on all of Arista's data center networking products.
The EOS team is responsible for all aspects of the development and delivery of software meant to run on the various Arista switches.You will work with your fellow engineers and members of the marketing team to gather and understand the functional and technical requirements for upcoming projects.You will help write functional specifications, design specifications, test plans, and the code to bring all of these to life.You will also work with customers to triage and fix problems in their networks. Internally, you will develop automated tests for your software, monitor the execution of those tests, and triage and fix problems found by your tests.At Arista, you will own your projects from definition to deployment, and you will be responsible for the quality of everything you deliver.
This role demands strong and broad software engineering fundamentals, and a good understanding of networking including capabilities like L2, L3, and fundamentals of commercial switching HW.Your role will not be limited to a single aspect of EOS at Arista, but cover all aspects of EOS.
Responsibilities:
- Write functional specifications and design specifications for features related to forwarding traffic on the internet and cloud data centers.
- Independently implement solutions to small-sized problems in our EOS software, using the C, C++, and python programming languages.
- Write test plan specifications for small-sized features in EOS, and implement automated test programs to execute the cases described in the test plan.
- Debug problems found by our automated test programs and fix the problems.
- Work on a team implementing, testing, and debugging solutions to larger routing protocol problems.
- Work with Customer Support Engineers to analyze problems in customer networks and provide fixes for those problems when needed in the form of new software releases or software patches.
- Work with the System Test Engineers to analyze problems found in their tests and provide fixes for those problems.
- Mentor new and junior engineers to bring them up to speed in Arista’s software development environment.
- Review and contribute to the specifications and implementations written by other team members.
- Help to create a schedule for the implementation and debugging tasks, update that schedule weekly, and report it to the project lead.
Qualifications:
- BS Computer Science/Electrical Engineering/Computer Engineering 3-10 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 5 years experience, Ph.D. in Computer Science/Electrical Engineering/Computer Engineering, or equivalent work experience.
- Knowledge of C, C++, and/or python.
- Knowledge of UNIX or Linux.
- Understanding of L2/L3 networking including at least one of the following areas is desirable:
- IP routing protocols, such as RIP, OSPF, BGP, IS-IS, or PIM.
- Layer 2 features such as 802.1d bridging, the 802.1d Spanning Tree Protocol, the 802.1ax Link Aggregation Control Protocol, the 802.1AB Link Layer Discovery Protocol, or RFC 1812 IP routing.
- Ability to utilize, test, and debug packet forwarding engine and a hardware component’s vendor provided software libraries in your solutions.
- Infrastructure functions related to distributed systems such as messaging, signalling, databases, and command line interface techniques.
- Hands on experience in the design and development of ethernet bridging or routing related software or distributed systems software is desirable.
- Hands on experience with enterprise or service provider class Ethernet switch/router system software development, or significant PhD level research in the area of network routing and packet forwarding.
- Applied understanding of software engineering principles.
- Strong problem solving and software troubleshooting skills.
- Ability to design a solution to a small-sized problem, and implement that solution without outside help.Able to work on a small team solving a medium-sized problem with limited oversight.
Resources:
- Arista's Approach to Software with Ken Duda (CTO): https://youtu.be/TU8yNh5JCyw
- Additional information and resources can be found at https://www.arista.com/en/
- Design, implement, and test production- grade core robotic software components possibly including perception systems, motion planning systems, or command and control systems. • Design, implement, and test software integration components with other robotic platforms and warehouse management systems
- Design, implement, and test customer- specific software components
- Develop testing frameworks and support testing for core software components • Develop logging and data analytics systems for deployments
- Follow production- level code design and development processes including detailed documentation, code reviews, and structured release processes
- Firmware Design and Development experience on different micro-controllers.
- C/C++ programming
- Linux Commands Operating System Concepts
- board bring up, embedded software, Kernel Build, Yocto
- Shell scripting Networking Concepts Openwrt OS Concepts
- Must have good Communication and Presentable skills.
- Experience on any Wifi, Bluetooth, GSM modules is a plus.
- Design, develop, code, test and debug system software.
ORGANIZATION
Launched in 2014, Oxit has continually focused on true innovation in IoT services through the creation
of solutions and products for an adaptive global business marketplace. Our diverse list of clienteles,
ranging across a multitude of industries, has grown to recognize and trust Oxit in partnering in all
aspects of Smart Technology capabilities from designing to prototyping, development and carefully
launching their ideas
ROLE
Proficient in connected objects, an IoT embedded engineer develops innovative solutions that help
users to receive, control and manage information.
Conceptualizing, designing, developing, & managing IoT end devices, middleware, interfaces, and
connectivity
RESPONSIBILITIES
PRIMARY RESPONSIBILITIES
● Analyze, discuss and understand user/business requirements
● Translate business requirements to optimizer solutions, system & firmware specifications
● Design & Implement firmware/software as per specifications and conduct unit tests
● Managing & building end devices and middleware (Gateway development)
● Connectivity solutions, protocol implementation, stack development (ex: Lora)
● Perform integration, acceptance tests, troubleshooting, and debugging
● Work in collaboration with other team members, leadership, and other departments towards
solution implementation and delivery
● Adhere to organization/project process standards and guidelines
● Handling internal (team, departments, and leadership) and external (customers & partners)
interactions
● Collaborate with and support Hardware team towards HW design & development
● Collaborate with and support Software team towards backend development, API definition &
interfacing, Mobile, Cloud, & Web application definition
SECONDARY RESPONSIBILITIES
● Researching, creating, and testing IoT solutions
● Designing platform solutions that are cloud-compatible and work with IoT applications
● Providing solutions to issues related to the connection of networks and platforms
● Contribute to improving quality, accelerating development and deployment - process improvement
and tools improvement
● Showcase ability to play different Agile roles and manage small teams
● Supporting management with client interactions and at times leading it
SKILLS
PRIMARY SKILLS
● Hands-on programming experience in C/C++/Python in Embedded/IoT environment
● Good working knowledge of Linux internals & application development
● Good working experience of RTOS & bare metal programming
● Hands-on experience in device driver development
● Hands-on experience with protocol implementation (wired & wireless)
● Experience in executing projects in an Agile/Waterfall model
● Exposure to Gateways, web/cloud computing technologies, APIs, sockets, & related tools
● Exposure to JavaScript, Node.js, and typescript is an added advantage
● Proficient in C, C++, and Python programming, Java script added advantage
● Good understanding of Linux internals, Linux System programming, and application development
on Linux
● Hands-on experience with Container technologies (LXD, Docker and/or Kubernetes)
● Working knowledge and experience implementing FUOTA, Device management
● Working knowledge of Security - Encryption, Decryption, Flash management
● Working knowledge of Web architecture, Interfacing (APIs, MQTT, etc.)
● Hands on experience with Yocto, Ubuntu Core
● Experience with R Pi or similar platforms
● Working Knowledge and experience with LoRaWan on both Gateway and Devices
● Prior experience working on IoT Gateways
SECONDARY SKILLS
● Firm understanding of IoT architecture and principles
● Knowledge of device and data security
● AWS or related cloud architecture, tools & setup, API development
● LoRa stack experience, Network gateway functionality, networking: TCP/IP, DNS, DHCP, HTTP
● ESP32 architecture, Free-RTOS experience
● Work and collaborate well with others
● Strong communication skills
● Strong analytical and problem-solving skills
WORK ENVIRONMENT
● Minimum 3 years of prior experience
with embedded, firmware, & IoT
● Available full time (40 hours a week)
● Remote working infrastructures
● Flexible remote work (work from
anywhere)
● Certain overlap with EST business hours
● Full time (Mon-Fri, 8 hrs/day)
● Agile way of working & mindset
● Team work, frequent interaction &
collaboration with team & leadership
● Collaborations & meetings through
video conferencing
● Friendly & collaborative environment
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









