Embedded developer -
Experience: 5-7 Years
Skill: -
Strong Embedded C/C++ developer
Similar jobs
Mandatory Skills:
- C++/GPU
- Experience working on products hardware based/embedded.
Key Responsibilities:
- Develop new features using Modern C++, Object-oriented design practices
- Maintain and improve existing C++ codebase (1.5 million lines), running on Linux
- Take responsibility for code quality by providing well-designed unit tests
- Optimize code performance by measuring resource utilization
- Participate in merge-request reviews
- Develop system tests in Python
- Hands on debugging using third-party video and network equipment
- Be a team player who is willing to make mistakes, learn, improve, and accept feedback
Requirements:
- Bachelor’s degree in Computer Science, Electronics or related fields
- 3-5 years of experience with strong programming logic, code analysis/ debugging and problem-solving skills
- Proven software design experience for complex codebases systems
- Expertise in Modern C++ and Object-Oriented software development
- Comfortable developing design for new features, task breakdown and estimation skills
- Comfortable developing on Linux
- Comfortable following git-flow process
- Good written and verbal communication skills
Additional Skills:
- Experience in GPU programming - OpenCL, CUDA, Halide
- Embedded development and debugging experience
- Understanding of real-time processing constraints
- Understanding of continuous-integration principals and tools (such as Jenkins)
- Experience with Cmake
Summary
Miko is an advanced consumer robotics innovation lab focused with the mission of Bringing Robotics and AI to every consumer home. Founded by young and dynamic entrepreneurs from IIT Bombay, Miko is a global deep tech company with offices in US, UK and India, and customer base across 140+ countries. Focused on taking Robotics and AI to every consumer home, Miko is the first of its kind "content on subscription" hardware platform for kids powered by patented technology.
Our flagship products, Miko 3 and Miko Mini (www.miko.ai), are playful companion robots that engage, educate and entertain kids. Their unique approach is to focus on child learning and development through self-initiated contextual topics that encourage conversational learning. It hosts a powerful marketplace for third party content partners to plug their content and connect with Miko users on subscription.
Miko is powered by a proprietary emotional intelligence and adaptive personality engine, complex conversational and multilingual AI framework, edge and hybrid speech & vision recognition along with an active learning and behavioral analysis engine. All of this is built over an autonomous navigation system, which enables Miko to offer a range of benefits for the user.
The team at Miko team is an interdisciplinary team consisting of team members from electronics, embedded system, mechanical, industrial, robotics and AI engineering domains, Human Robot Interface designers, UI/UX designers, mobile and cloud software engineers, content creators, artists, mathematicians, neuropsychologists, marketing and sales mavericks, Customer support professionals and knowledge partners.
The Role
We are looking for a middleware software engineer to join the team. In this role you will be working on designing, developing and optimizing the middleware stack for current as well as new companion robot products.
Work Experience & Qualifications
2 years or higher industry experience in the Software domain. No restrictions on degree/qualifications; only skills matter. (* for Junior role)
Responsibilities
- Designing and developing software on the product to enhance current functionality and add new features. Lead the technical delivery of assigned tasks/projects.
- Consistent coordination and collaboration with the Backend, AI, Product and QA team for efficient development cycles and testing for new features and improvements.
- Operating in an Agile/Scrum environment to deliver high quality software against aggressive schedules
- Ability to diagnose, troubleshoot and perform root cause analysis of critical business and production issues
- Strong technical leadership with experience building software engineering teams. Demonstrate strong ambiguity resolution skills to be able to break down ambiguous problems into simpler milestones and delegate to junior engineers
Requirements & Skills
- 2+ years of experience as a Software Engineer
- Expertise in C/C++ and Java
- Strong understanding of environment management, release management, code versioning best practices, and deployment methodologies.
- Experience with implementing various communication protocols like I2C, SPI, UART
- Experience working on Embedded Linux OS and Android
- Demonstrated experience in developing multi-threaded applications
- Experience with IPC including socket programming
- Should have hands on experience and thorough knowledge in STL, BOOST understanding of data structures and algorithms
- Experience with using Git as a version control system
- Excellent coding and debugging skills
- Ability to work in a fast paced environment
- Excellent verbal and written communication skills
C++ Developers
At Innovatily, we are looking for dynamic developers with at least 3 years of experience who can join us ASAP to work on an International Project with one of the top companies in the US.
This job comes with a salary range of INR 900,000/- to INR 15,00,000/- p.a. and benefits like health and accident insurance, Parental Leave, and opportunity to continually learn and upgrade to latest skills. This opening has the option to work from home.
You should have
- Working knowledge of modern C++, Linux (e.g., Ubuntu), application containers (e.g., Docker).
- Communication pron, modern C++, JavaScript, PHP, Ext JS, GraphQL, JSONata,…) to extend functionality and create new software solutions.
- Create next-generation product.
- Opportunity to become a full stack Developer.
- Build robust & scalable web applications
- Participate in product design, development, verification, troubleshooting & delivery of web applications.
- Design and create relational database schema & application framework as needed
- Work with a worldwide team to integrate the product to meet the requirement
Required Qualifications:
- Degree in Computer Science from a top-tier institution
- Relevant full-time work experience of 4-8 years
- Strong foundation in computer science, with solid competencies in object-oriented software design patterns, software QA methodologies, processes, and test automation.
- Ability to self-teach.
Mandatory Technical Skills:
- PHP, Javascript/AJAX, SOAP/REST, GIT
- MySQL/NoSQL
- Linux
- Software development life cycle (SDLC)
Desirable Technical Skills:
- Linux scripting
Role - Strong Experts in C++11/C++14 (Embedded Linux)
About GloballLogic - www.globallogic.com
Experience - 5 to 18 years
Location: Bangalore, India
Must have Key Skills
Strong in Embedded Linux system experience
Strong, C++ 11/14 programming OOPS, OOAD, Design Pattern
Linux, ADS pipelines, STL
Embedded systems experience
Proc filesystem
Socket programming
Memory management in Linux.
debug memory
Threads - synchronization
Linux IPC - sockets, accept system call
C++ STL container
Virtual functions - vptr, polymorphism.
Smart pointers
application development in multi-process/multi-thread environments using C++/C++11/C++14.
application/middleware development for consumer electronic devices.
ndk/sdk kit development
video domain experience
Linux system experience
Expertise in Linux System, Kernel level programming(Good to have)