
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.

Similar jobs
Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment
- Design, develop, code, test and debug system software
- Review code and design
- Analyze and enhance efficiency, stability and scalability of system resources
- Integrate and validate new product designs
- Support software QA and optimize I/O performance
Skill Required
Technical
-
● The suitable candidate shall have most of the following knowledge /skills/experience:
-
● Clear fundamentals of Analog and Digital Electronics. Knowledge of Full Hardware
-
Design Life Cycle.
-
● Knowledge of Circuit Simulation (PSPICE, NI Multisim, etc).
-
● Hand- On experience with HW designing rules, PCB Layout in Cadsoft Eagle/Altium Designer etc.
-
● Should have knowledge & experience with designing & developing 8/16 bit Microcontroller based close loop control systems and Arduino Platform.
-
● Circuit building and Circuit Analysis Skills.
-
● Component Data Sheet analysis skills.
-
● Project Requirement Analysis Protocols/Ethernet, Wi-Fi, USB, Serial interfaces(SPI, I2C, RS485, RS422, RS232).
-
● Hands-on experience in utilizing test equipment like DMM, Oscilloscopes, Logic Analyzers, Function/Signal generator/Solder Station (SMD/DIP).
-
● Knowledge about Board Bring Up process.
-
● Testing (Integration testing, protocol/Driver testing, etc.).
-
● Experience in Embedded C programming and embedded system integration and can develop test cases for the same.
-
● Knowledge of IoT Open Source Programming / Development.
-
● Candidate will be responsible for research & development of M2M/IoT products.
-
● Candidate will be responsible for end-to-end embedded system integration.
-
Others
Abilities on the following shall be of added advantage:
-
● Component Procurement
-
● Vendor Interaction
-
● Tools Management
-
● Costing and resource estimation
-
● Team management, Good Communication Skills, Pleasant Personality, Positive Attitude & Highly Creative
-
-
Decision level
Contributory: Makes major contribution to decision or policy judgment on Technical matters of IoT/ M2M Projects, Vending MachinesDemonstrate (Key competencies)
Healthy knowledge of most of the following:
-
● Embedded C
-
● 8/16 bit Microcontrollers
-
● Atmel Studio/ Arduino IDE
-
● Schematic / PCB layout design in Cadsoft Eagle / Altium Designer (SMD/DIP)
-
● Hands-on experience on Test equipment and solder stations (SMD/DIP)
-
● M2M / IoT based development
We are a Digital Product Engineering company that is scaling in a big way! We build products, services, and experiences that inspire, excite, and delight. We work at scale — across all devices and digital mediums, and our people exist everywhere in the world (18000+ experts across 32 countries, to be exact). Our work culture is dynamic and non-hierarchical. We're looking for great new colleagues. That's where you come in!
Must Have Skills: PLC programming, WinCC, Siemens TIA portal, IOT
WHAT MAKES YOU A GOOD FIT FOR THIS ROLE:
• Experience in automation technologies PLC programming, WinCC OA, Siemens TIA portal, and protocols OPC UA, plant simulation.
• Must have prior experience working with clients in requirements & should be independently able to lead these discussions.
• Candidate should be fluent in the agile delivery model with experience in working with any of an agile product management tool, preferably JIRA.
• Ability to guide the team on technical solutions, perform code reviews, and define integration strategy.
• Working experience with SQL and NoSQL databases like MS SQL Server, PostgreSQL, MongoDB, etc.
• Ability to make and effectively communicate decisions. The candidate should know how to disagree, how to address opposition/rejection, how to navigate the conflicts in multistakeholder requirements, and how to build consensus.
• Effective written and verbal communication skills are essential to communicate in a global team and with clients.
• It would be advantageous to have experience as an architect or technical leader while working in one or more of the following domains: manufacturing, industrial automation, heavy engineering, robotics, automotive, and consumer goods.
WHAT ARE YOUR RESPONSIBILITIES:
• Understanding functional requirements thoroughly and analysing the client’s needs in the context of the project
• Envisioning the overall solution for defined functional and non-functional requirements, and being able to define technologies, patterns, and frameworks to realize it.
• Determining and implementing design methodologies and tool sets
• Enabling application development by coordinating requirements, schedules, and activities.
• Being able to lead/support UAT and production roll outs.
• Creating, understanding, and validating WBS and estimated effort for given module/task, and being able to justify it.
• Addressing issues promptly, responding positively to setbacks and challenges with a mindset of continuous improvement
• Giving constructive feedback to the team members and setting clear expectations.
• Helping the team in troubleshooting and resolving of complex bugs
• Coming up with solutions to any issue that is raised during code/design review and being able to justify the decision taken.
• Carrying out POCs to make sure that suggested design/technologies meet the requirements
Develop firmware, system software for medical devices\ Automotive ECUs\ IoT edge devices & gateways. Implement the logic and protocols and communications on 32-bit microcontrollers, configure OS, timers, tasks, interrupts, and communicate with external modems, SoCs, trans-receivers to design, code, and test desired functionality as per customer requirements
Job Requirements :
- Hands-on experience in firmware development using C language
- Hands-on experience in writing low-level device drivers for microcontrollers
- Know of real-time Operating system concepts, tasks, and interrupts’ configuration
- Hands-on experience with in-circuit debuggers
- Knowhow of wired and wireless communication protocols
- Basic understanding of HW circuits, power supply designs, sensors, and actuators’ interfaces
- Experience in implementing SW development quality processes like ISO 9001 or ASPICE
- Good written and oral communication skills
Xfinito is building a portfolio in new product innovation, product contribution and infrastructure goals while providing individuals and teams the freedom to emphasize specific types of work.
Our work focuses on real –world problems that span the breadth of biomedical engineering, embedded systems, computer science, such as machine and deep learning, data mining, natural language processing, hardware and software performance analysis and much more.
JOB ROLE: EMBEDDED SYSTEMS ENGINEER
ROLES AND RESPONSIBILITIES:
- Work with multi-disciplinary engineering team and customer to identify and recommend hardware needs and requirements for project/product.
- Modify or assist in the development of software architecture and design for new products, prototype, or re-design, including sourcing build environments and writing technical support and control documentation.
- Read Block Diagrams and detail circuit schematics and layout of proposed or existing hardware and assess the software and driver requirements.
- Participates in cross-divisional Edge IoT projects and/or proposals.
- Develop, oversee, and document automated tests for electrical hardware design and products as well as final operating drivers and systems.
- Evaluate and investigate product failures, and recommend repair or design modifications based on specifications, cost, resources, and risks.
REQUIREMENTS:
- Ability to creatively approach challenges and cleverly solve difficult problems.
- Ability to independently identify daily design and customer support tasks, self-start and motivate.
- Ability to manage several projects and prioritize appropriately, with minimal supervision.
- Ability to work in a collaborative team environment as well as independently.
- Ability to learn and work in virtual environments (CAD & Hardware build packages) in-which candidate’s skills are low but persevere and overcome skill gaps autonomously.
- Some experience programming with embedded systems designs and multithreaded real-time operating systems is required.
- Solid programming experience. Preferably in C or C++, .NET, and Java programming languages.
EXPERIENCE:
We as a team are looking for freshers or young professionals with (0-4 years of experience) passion and eagerness to create scalable and optimized software systems and execute complete embedded software development lifecycle.
We are looking for passionate, talented and super-smart engineers to join our product development team. If you are someone who innovates, loves solving hard problems, and enjoys end-to-end product development, then this job is for you! You will be working with some of the best developers in the industry in a self-organising, agile environment where talent is valued over job title or years of experience.
Responsibilities:
- You will be involved in end-to-end development of VIMANA technology, adhering to our development practices and expected quality standards.
- You will be building machine/controller specific applications that run on machine tools and stream the machine stats.
- You will be part of a highly collaborative Agile team which passionately follows SAFe Agile practices, including pair-programming, PR reviews, TDD, and Continuous Integration/Delivery (CI/CD).
- You will be part of a DevOps culture where you will get to work with production systems, including operations, deployment, and maintenance.
- You will have an opportunity to continuously grow and build your capabilities, learning new technologies, languages, and platforms.
Requirements:
- Undergraduate degree in Computer Science or a related field, or equivalent practical experience.
- 3+ years of product development experience.
- Proficiency in C, C++, Multi-Thread application development, STL, Boost and TCP/IP programming.
- Optionally should have some basic knowledge on C#, Python and Wireshark.
- Deep knowledge in Data Structures and Algorithms, using various debuggers (Local/Remote).
Additional Skills:
- Experience in working with Agile software methodologies (XP, Scrum, Kanban), TDD and Continuous Integration (CI/CD).
- Experience using no-SQL databases like MongoDB or Elasticsearch.
- Prior experience with container orchestrators like Kubernetes is a plus.
We build products and platforms for the Industrial Internet of Things. Our technology is being used around the world in mission-critical applications - from improving the performance of manufacturing plants, to making electric vehicles safer and more efficient, to making industrial equipment smarter.
Please visit https://govimana.com/ to learn more about what we do.
Why Explore a Career at VIMANA
- We recognize that our dedicated team members make us successful and we offer competitive salaries.
- We are a workplace that values work-life balance, provides flexible working hours, and full time remote work options.
- You will be part of a team that is highly motivated to learn and work on cutting edge technologies, tools, and development practices.
- Bon Appetit! Enjoy catered breakfasts, lunches and free snacks!
VIMANA Interview Process
We usually target to complete all the interviews in a week's time and would provide prompt feedback to the candidate. As of now, all the interviews are conducted online due to covid situation.
1.Telephonic screening (30 Min )
A 30 minute telephonic interview to understand and evaluate the candidate's fit with the job role and the company.
Clarify any queries regarding the job/company.
Give an overview about further interview rounds
2. Technical Rounds
This would be deep technical round to evaluate the candidate's technical capability pertaining to the job role.
3. HR Round
Candidate's team and cultural fit will be evaluated during this round
We would proceed with releasing the offer if the candidate clears all the above rounds.
Note: In certain cases, we might schedule additional rounds if needed before releasing the offer.










