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 Miko
About
Similar jobs
Job Title: Senior Software Engineer
Location:PUNE
Job Type: Full-time
About the Role:
We are seeking a Senior Software Engineer with at least 1 year of experience in ad tech (preferred) to join our dynamic team. The ideal candidate will have strong proficiency in Java and possess problem-solving skills to design, develop, and maintain scalable software solutions in the ad tech industry.
Key Responsibilities:
- Develop and maintain high-quality Java-based applications.
- Collaborate with cross-functional teams to design and implement new features.
- Troubleshoot and debug issues, ensuring optimal software performance.
- Write clean, scalable, and efficient code while adhering to best practices.
- Participate in code reviews and provide mentorship to junior engineers.
Requirements:
- Proven experience with Java and software development.
- At least 1 year of experience in ad tech (preferred).
- Strong understanding of object-oriented design and data structures.
- Excellent communication and collaboration skills.
- Ability to work independently and manage time effectively.
Responsibilities:
- Define the code review process for the team to follow and perform code reviews.
- Design, implement, and maintain Java-based applications that can be high-volume and low-latency.
- Ensure application designs conform with business goals.
- Develop and test software & Identify and resolve any technical issues arising.
Required Skills:
- 7+ years of experience developing web applications using J2EE / Java.
- Possess knowledge and skills in software programming in Core Java, J2EE, Microservices-related technologies, Spring Boot, Spring MVC, Rest API, JavaScript, and XML.
- Experience developing enterprise-level web applications and RESTful APIs using Microservices.
- Excellent in design patterns, data structures & algorithms, and OOAD.
- Experience in working with the E-Government Projects/ CCTNS application.
Experience: 2-8 years
Skills
* Hands-on development skills in Java8 features like Streams, Lambda expressions, Enhanced for loops, Parallel processings, etc.
* Hands-on development skills in Springboot, Microservices & JPA/Hibernate.
* Experience in designing, analyzing and troubleshooting large-scale distributed systems.
* Experience in any Java based rule engine implementation for workflows.
* Experience in Dockers, ElasticSearch, Messaging and any RDBMS.
* Experience with Swagger, Git, Jenkins & Maven.
* Experience with any of Nosql databases.
- JAVA Microservices with AWS needed
- Provide solution architecture & design involving Cloud and DevOps
- Develop new microservices in a cloud-native way.
- Ensure the unit testing and code coverage are achieved as per the agreed percentage.
- Build reusable code and libraries for future use.
- Optimize application for maximum performance and scalability.
- Collaborate, and coordinate with team members and key stakeholders.
- Communicate effectively with different stakeholders.
- Ensure best practices & standards are followed during SDLC.
- Takes ownership of the whole solution from a technical perspective and ensures adherence to defined Architecture & Design.
- Ensures the latest technology standards, and guidelines are utilized for development.
- Performs consistent & adequate code reviews & feedback to the team.
- Training and induction of new resources on the projects.
Skills and Qualifications
- Deep understanding of OOPs and OOAD.
- Expert and hands-on in Java JEE and Spring framework, Spring Boot.
- Should have experience with RESTful web services and API standards.
- Should know various integration patterns in distributed environments.
- Working knowledge of microservice architecture and different design patterns.
- Hands-on in writing unit tests with Mockito and code coverage tools.
- Hands-on data modeling (Logical physical).
- Knowledge of RDBMS, SQL and any ORM framework (JPA, Hibernate etc.)
- Should know Event-driven and asynchronous programming using message broker.
- Should know about cloud IaaS, PaaS, SaaS and Serverless models of any cloud provider (AWS, Azure, GCP), preferably AWS.
- Knowledge of JavaScript frameworks like NodeJS (For the Backend) and Angular React (For Frontend) will be added advantage.
- Good to have DevOps related technologies like Container (Docker), Container Orchestrator (Kubernetes EKS)
- Excellent in communication
Responsibilities for Staff Engineer role:
- Having experience in Java along with Springboot, Micorservices, RDBMS
- Experience required: 6yrs to 8 yrs.
Job Description
- Design & implement backend APIs
- Mentor junior developers technically.
- Actively work to reduce tech debt in the backend
- Work towards more stability & scalability of the backend
- Tech stack - Java, AWS etc.
Eligibility
- 2-8 years of product company experience
- Advanced understanding of AWS stack
- Prior knowledge of solving problems at scale.
- Bachelor/Master's in computer science or relevant fields
- 10+ years of Relevant Experience
- Strong sense of ownership
- Excellent Java and object-oriented development skills
- Experience in building and scaling microservices
- Strong Knowledge in RDBMS & NoSQL databases
- Strong problem-solving skills, technical troubleshooting and diagnosing
- Expected to be a role model for young engineers, have a strong sense of code quality, and enforce code quality within the team
- Excellent understanding of Debugging performance and optimization techniques
- Experience in Java, Mongo, MySQL, AWS technologies, ELK stack, Spring boot, Kafka
- Experience in developing any large scale Experience in cloud technologies
- Demonstrated ability to deliver in a fast-paced environment