Software Engineer - Middleware at Miko · Mumbai Dadar · 2 - 4 years · ₹3.5L - ₹10L / yr · Raised funding · Posted 18 Jun 2024

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 (6)
Mandatory:
- The candidates should be from Capital Market domain
- The candidates should be from B.Tech background
Required Skills:
- 12–18 years in the tech industry, with 2–4 years in technical leadership or managerial roles.
- Technical Expertise: Expertise in C++ development, enterprise architecture, and scalable system design, and proficiency in performance optimization, scalability, software architecture, and networking principles. Extensive experience managing the full development lifecycle of large-scale software products, from concept to deployment.
- Strong knowledge of STL containers, multi-threading concepts, and algorithms. Solid understanding of memory management and efficient resource utilization.
- Microservices Architecture Expertise: Experience in designing and implementing scalable, reliable microservices.
- Strong Communication & Decision-Making Skills: Ability to clearly articulate trade-offs, make informed decisions, and ensure alignment across stakeholders.
- Commitment to Creating and fostering Engineering Excellence: Deep understanding of best practices, including code quality, testability, security, and release management, and passion for fostering a strong engineering culture and continuously improving developer workflows and tools.
- Self-Driven and Motivated: Ability to operate independently while driving impactful results.
Key responsibilities:
- Technical Expertise:
○ C++ coding and debugging to strengthen and optimize systems.
○ Design and architecture (HLD/LLD) to ensure scalable and robust solutions.
○ Implementing and enhancing DevOps, Agile, and CI/CD pipelines to
improve development workflows.
○ Managing escalations and ensuring high-quality customer outcomes.
- Architecture & Design:
○ Define and refine the architectural vision and technical roadmap for enterprise
software solutions.
○ Design scalable, maintainable, and secure systems in line with business goals.
○ Collaborate with stakeholders to translate requirements into technical
solutions.
○ Driving engineering initiatives to foster innovation, efficiency, and excellence.
- Project Management:
○ Oversee project timelines, deliverables, and quality assurance processes.
○ Coordinate cross-functional teams to ensure seamless integration of systems.
○ Identify risks and proactively implement mitigation strategies.
- Technical Leadership:
○ Lead and mentor a team of engineers, fostering a collaborative and high- performance culture.
○ Provide technical direction and guidance on complex software engineering challenges
○ Drive code quality, best practices, and standards across the engineering team.
Qualifications & Requirements:
- 4+ years of experience in C++ application development.
- Hands-on experience with C++11 or above.
- Strong knowledge of object-oriented programming and software design.
- Deep understanding of STL, multi-threading, socket programming, and data structures.
- Solid grasp of Linux development and debugging techniques.
- Proficient in using GCC, GDB, and Makefile.
- Familiarity with Valgrind and similar analysis tools.
- Experience with version control tools like Git.
- Experience writing and maintaining automated tests.
- Experience in capital markets/trading domain is a plus.
Skills:
- Strong problem-solving and analytical thinking.
- Clear and effective communication.
- Self-driven with the ability to work independently.
- Passionate about high-quality software and strong engineering practices.
- Comfortable working in a fast-paced, collaborative environment.
Position: C++ Developer – Windows
Experience: 3.5+ Years
Location: Bangalore
Employment: Permanent Position
Interview: F2F
Client Round: No Client Round
Job Summary
We are looking for a skilled C++ Developer with strong experience in Windows-based application development, C++11, multithreading and debugging. The candidate should have hands-on experience in desktop application development and Windows programming.
Mandatory Skills
- Strong hands-on experience in C++ / C++11
- Windows Programming
- Multithreading in C++
- VC++ / MFC / UWP
- Desktop Application Development
- Strong Debugging skills
- Crash Dump Analysis
- Inter-Process Communication (IPC)
- Good understanding of Data Structures, Algorithms and Design Patterns
Good to Have
- Wireshark
- React / React-Native
- .NET Core
- Golang
- AWS Architecture
- Cross-platform application development
Roles & Responsibilities
- Participate in platform requirements and story development.
- Contribute to solution design, design alternatives and design reviews.
- Develop assigned features using appropriate programming languages.
- Participate in peer code reviews.
- Develop use cases and unit test cases.
- Execute unit tests as part of the continuous integration pipeline.
- Analyze and resolve application and component-level issues.
- Perform debugging and crash dump analysis.
- Work on Windows desktop applications and platform components.
- Participate in Agile/Scrum sprint activities.
- Collaborate with cross-functional teams to deliver high-quality software.
Process Skills
- Agile / Scrum
- Test-Driven Development (TDD)
- Continuous Integration
Behavioral Skills
- Strong problem-solving and debugging ability
- Result-oriented team player
- Good communication and interpersonal skills
- Ability to work effectively with technical teams
About Company
We are building general-purpose autonomous robots for US construction to tackle rising costs, safety risks, and labour shortages. Our modular, multi-trade platform combines purpose-built hardware with real-time site intelligence to navigate complex environments and execute tasks with precision. Trained in high-fidelity simulation and already deployed on live sites, our robots deliver 5x faster execution, 250%+ margin expansion, and significant cost savings.
About the Role
We are looking for a versatile, hands-on software engineer to join our growing team. You will work across embedded Linux systems, networking stacks, robotic middleware, and cloud-connected services. This role demands strong fundamentals, intellectual curiosity, and the ability to learn quickly — not just familiarity with buzzwords.
On-site, Bengaluru
Responsibilities
- Design and implement robot boot-up sequences and service orchestration to ensure reliable, deterministic system bring-up.
- Configure and manage Linux networking — TCP/IP stack, HTTP, iptables, ARP, DHCP, DNS — for robot-to-cloud and inter-robot communication.
- Own CI/CD pipelines using ArgoCD, GitHub Actions, and containerized workflows to ship software to robots.
- Manage Docker-based deployment and runtime environments on robot and cloud infrastructure.
- Write and maintain system administration tooling and bash scripts for fleet management and diagnostics.
- Collaborate closely with robotics, perception, and application teams to integrate platform capabilities.
- Establish and enforce best practices around Git workflows, branching strategies, and code review.
- Lead and mentor a small platform engineering team — set technical direction, conduct code reviews, and drive execution.
Requirements
All candidates must demonstrate solid, hands-on competency in every item listed below.
- Linux systems programming in C
- File I/O — read, write, seek, memory-mapped files
- Multi-threading — pthreads, mutexes, condition variables, thread safety
- Socket communication — TCP/UDP sockets, select/poll/epoll
- Basic data structures & algorithms — stack, heap, queue, linked list
- General comprehension ability — reading technical manuals, datasheets, and RFCs
- Python scripting
- Bash scripting
- Git — CLI usage, branching, merging, rebasing, conflict resolution
- Standard UML diagrams — flowchart, sequence diagram, deployment diagram
- Windowless text editor — vim, nano, or equivalent
Strong Advantage
- C++ programming — C++17, OOP, templates, STL
- Common network protocols — DHCP, ARP, TCP, UDP, DNS
- Network configuration — routers, switches, VLANs, subnetting
- Server-client application architecture
- P2P vs. centralised communication — DDS vs. MQTT
- Database management — SQL vs. NoSQL, schema design
- Network security — checksums (CRC, MD5, SHA), public-key encryption, digital signatures
- ROS2 framework — pub/sub, services, actions, lifecycle nodes, DDS transport
- CMake build system — targets, find_package, CTest integration
- Docker — Dockerfiles, docker-compose, remote image registries
Must-haves (non-negotiable)
- Strong Linux systems programming in C — multi-threading (pthreads), socket communication (TCP/UDP, epoll), and file I/O
- Hands-on experience with CI/CD pipelines (ArgoCD, GitHub Actions) and Docker-based deployments
- Networking expertise — TCP/IP stack, DHCP, DNS, iptables, inter-device communication
- Proficiency in Python and Bash scripting for fleet management and diagnostics
- ROS2 experience (pub/sub, DDS, lifecycle nodes) is a strong advantage
We are actively looking for experienced C++ Developers with strong hands-on experience in 4G/5G Core Network development, particularly Control Plane and Network Programming.
⚡ Immediate Joiners are highly preferred.
🔹 Key Requirements:
• Strong programming skills in C/C++
• Strong knowledge of Data Structures, Algorithms & OOPS
• Hands-on experience in Socket Programming – TCP/UDP, Non-blocking I/O
• Experience with 3GPP message handling, parsing and protocol processing
• Strong hands-on experience in 4G/5G Core Control Plane
• Experience with MME, SGW, PGW, HSS, PCRF, AMF, SMF, UPF, UDM, AUSF, PCF, NRF
• Strong knowledge of Diameter, SIP, GTP-C, GTP-U, PFCP, NAS/NGAP, S1AP, HTTP/2
• Understanding of N1, N2, N3, N4, N6, S1-MME, S1-U, S5/S8 interfaces
• Good understanding of 4G/5G Core Control Plane procedures and call flows
• Strong networking fundamentals: TCP/IP, UDP, Routing, ARP, VLAN, Subnets, L2/L3
• Hands-on Linux development using GCC, GDB, Make and debugging tools
• Experience in low-level debugging, packet flows and performance optimization
🔹 Responsibilities:
• Develop software modules for 4G/5G Core Network systems
• Implement and optimize Control Plane protocol logic
• Work on end-to-end Control Plane call flows
• Debug low-level issues in Control Plane packet flows and system behaviour
• Collaborate with QA/DevOps for network component integration
📌 Priority: Candidates who can join immediately / within a short notice period.
Please ensure the profiles have hands-on 4G/5G Core Networking + Control Plane experience, along with relevant C/C++ development experience
Job Title: C Developers
Company Name: Chella Software Private Limited
Company Website: https://www.chelsoft.com/
Company details
THE PARTNER OF CHOICE FOR FINANCIAL MARKETS
Our deep domain experience, ultra-high-performance software solutions, and on-time project delivery make us the preferred partner for the financial markets.
Over the last two decades, Chella Software has built deep domain experience in the financial markets and a capability for developing ultra-high-performance software that can handle very high volumes of data with the lowest levels of latency.
We are now preferred partners for a host of Central Banks, Stock Exchanges, Clearing Corporations, Brokerages, and Institutional Investors across 12 countries.
We are a global provider of fintech solutions for central banks, exchanges, central counter parties, and financial market intermediaries. We meet the software needs of customers in India, the Middle East, Africa, Singapore, and the USA.
Location: Mumbai
Mode of Working: Work from office: 2 rounds - virtual
Days of Working: 5 Days a week
Responsibilities
Job Description:
- Programming Languages: C Platform: Linux and Windows environment
- Comfortable with software development on Unix/Linux platforms • Strong debugging skills
- Ability to work independently and efficiently to meet deadlines. Self-motivated, detail-oriented and organized.
- Strong analytical skills to diagnose/resolve complex issues • Ability to multi-task and stay organized in a dynamic work environment.
- Ability to "think outside the box".
- Highly proficient programming skills [C family]
- Excellent algorithm-design skills
- Very good knowledge of database concepts and technology, in particular SQL and relational algebra, and query optimization
Roles & Responsibilities:
- Planning, estimation, and design usually done in a group
- Working closely with end-users (traders) to understand their requirements and needs
- Working closely with the other members of the MC team to identify and employ strategies and solutions to best support the trading desk
- Working closely with the rest of the SPG to identify and employ strategies and solutions to best support the needs of the MC team
- Providing support for the traders on trading and risk infrastructure issues
- Development and support of our trading, risk management, infrastructural and reporting applications
- Work with the Lead Technologists to develop and deliver solutions within a timely manner within the scope of the overall business strategy
- Assisting Application Support with root cause analysis of production incidents
Interview process
Interview Process
- Round 1: Virtual
- Round 2: Virtual
- Final Discussion: Face-to-face in Mumbai
Perks:
- Training period: 2 months at Madurai; the training cost, Stay, Travel, Food, etc., will be provided by the company
- Yearly 2 travel to your home town shall be sponcered by the company.








