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
About Soliton:
Soliton Technologies Pvt. Ltd., a high-technology software company headquartered in Bangalore, India.
Soliton works with global companies, from start-ups to Fortune 500, across industries including Semiconductors, Medical Devices, Automotive, Industry 4.0, and Robotics to help them increase their competitiveness and release great products through Software Engineering Services.
Soliton Technologies has once again been certified as a Great Place to Work® in the Mid-Sized Organizations Category, recognized & issued by the Great Place to Work® Institute, India. This certification acknowledges Soliton’s belief in continuously & constantly raising its standards to deliver an excellent experience for all and in creating a conducive environment for people to thrive.
Responsibilities:
- Primary focus of this position is to architect, develop complex software/firmware modules for machine control in semiconductor inspection systems.
- Project involves demanding real-time embedded applications including interrupt-driven task-based multi-threaded software for electro-mechanical control system running on a real-time operating system (RTOS) such as real-time Linux and /or VxWorks for a high-reliability application.
- Develop SW/FW using C/C++ on Linux/RTOS to communicate with custom and 3rd party motion controllers using interfaces like Ethernet, Serial-RS232 and/or USB.
- Work closely with multidisciplinary engineering teams, including electrical, mechanical, optics and other software teams to acquire in-depth domain knowledge and solve system problems.
- Understand system level requirements and translate them into software design and implementation.
- Define and execute test plans to measure the performance of key subsystems. Document, analyze and present the testing results.
- Participate in all stages of software development, including design, implementation, deployment, testing and troubleshooting.
- Work with SCM (Software Configuration Management) team to setup build env and deployment framework.
- Possess high curiosity, be a fast learner, and have the strive to turn prototype ideas into quality production code used in mission critical applications.
- Join team to develop groundbreaking and creative solutions to exciting problems rarely found elsewhere.
Qualification:
- BE / ME / MS or PhD in Electrical Engineering/Computer Science/Control Systems or similar fields.
- 5+ years of working experience in an industrial environment in the field of embedded software development.
- Strong knowledge of C/C++ programming, Object-Oriented Design & Programming (OOD & OOP).
- Strong knowledge of Linux/RTOS OS environment, multi-threading, synchronization and SW architecture design.
- Knowledge of communication protocols like Serial-RS232, Ethernet/EtherCAT/ TCP-IP socket/network communication and related programming.
- Strong software debugging and troubleshooting skills are required.
Preferred Skills:
- Excellent communication skills. Self-motivated to excel in responsible tasks.
- The candidate should have strong analytical capabilities, strong written and verbal communication, and interpersonal skills to communicate and present their software design for reviews.
- Must demonstrate perseverance and ability to work collaboratively within a team setting.
- Hands on experience and laboratory exposure to electrical, mechanical and optical measurement instruments.
- Experience in Semiconductor fab operations/Manufacturing technology.
- Linux administration knowledge and UML knowledge.
- Knowledge of Python or other scripting language.
- Knowledge of motion control system with Stepper/Servo/Piezo motors, servo control loop (e.g. PID), classical or modern control theory.
- Systems thinking based on first principle and physics.
Additional Details:
- Hybrid/Work from office (Bangalore/Coimbatore).
For more information, visit https://www.solitontech.com/ and refer Impact Report.
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)