
Similar jobs
Requirements:
- Very good programming knowledge in C/C++
- Experience in Multi-threaded software development
- Understanding of operating systems concepts, system performance, and optimization
- Familiar with working in an Embedded Linux development environment.
- Excellent problem-solving/debugging skills, design, development, troubleshooting, and debugging
- Knowledge of embedded tools like emulators, linkers, makefiles, etc
- Experience in voice applications development, preferably on client/server platforms
- Knowledge of RTOS programming will be added advantage.
- Understanding of different processors. microcontrollers architectures.
- Familiarity with development tools such as GCC, GDB, Eclipse, GNU Make, etc
Lifespark Technologies is looking for individuals with a passion for impacting real lives through technology. Lifespark is one of the most promising startups in the Assistive Tech space in India, and has been honoured with several National and International awards. Our mission is to create seamless, persistent and affordable healthcare solutions. If you are someone who is driven to make a real impact in this world, we are your people.
Lifespark is currently building solutions for Parkinson’s Disease, and we are looking for an embedded software lead to join our growing team. You will be working directly with the founders on high impact problems in the Neurological Healthcare domain. You will be solving some of the most fundamental and exciting challenges in the industry and will have the ability to see your insights turned into real products every day
Responsibilities :
1. RTOS based multithreaded software development
2. Building future ready, scalable software architectures
3. Liasing with hardware team to decide project requirements
4. Realtime IoT functionality development on ESP32 platform
5. Integration of third party services for cloud based communications and computation
6. Maintaining and documenting software via git (GitLab)
7. Coordinating releases, setup and maintenance of CI/CD pipelines
8. Managing AWS based backend services, integration with AWS services such as S3,
Sagemaker
9. Firmware security, Flash encryption, Bootloader encryption, secure communications
10. Deep integration with hardware team - stress testing hardware
11. Development of device drivers
12. Software testing and maintenance
Recommended experience :
1. Good command over Linux
2. Familiarity with real time tasks and timing sensitive system design
3. Familiarity with BLE/Wifi/etc IoT communication protocols
4. Familiarity with major third party platforms for cloud and ML/AI integration
5. Testing actual physical outcomes of programmed solutions
6. Deep familiarity with ESP-IDF
Location : IIT Bombay, Mumbai
Working mechanism : In-person
Compensation range : 4-12 lpa + ESOPs
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
• Experience in system design and building IoT systems in resource and power constrained environments
• Proficient in C language on embedded platforms and familiarity with hardware design of embedded system is a plus
• Development on Linux Platform/RTOS with an emphasis on embedded device driver development, multi-threading, and firmware debugging
• Experience with mesh network or sensor network and communication
• Good understanding of multiple IoT platform components is essential
• Solid working knowledge using IoT hardware platforms, communication boards, and gateways
• Hands-on in internet protocols and software development using protocols including LoRA, Wi-Fi, BLE, ZigBee, NB-IoT, M2M,6LoWPAN, Ethernet etc.
• Expert hands-on proficiency in developing applications using one or more technology stacks
• Strong hands-on understanding of scalability, security, high availability, and operational requirements
• Sound and proven decision-making skills to influence the technology choice and implementation methodologies
• Hands-on in object-oriented programming principles, design patterns, and software architecture
• Good with rapid problem solving, a strong technical background, and passion for continuous improvement
• Must have had hands on experience with Connected smart products having Product and Application software, data and Cloud
• Must have intimate knowledge of tools and processes used for Product(firmware) and/or Application software and/or Device hardware and/or Cloud
• Must be intimately familiar with Agile and Scrum, in the creation of dashboards for Sprints. An expectation would be to implement Scrum within the organization
• Must have strong familiarity with SMAC(social media, mobile, analytics and cloud) trends and application to saleable product categories
• Must have worked closely with Mechanical/Electrical/Electronics engineering teams in the development of smart/connected products.
Responsibilities and Duties
The team leader will be leading a team of Hardware engineers, firmware and testing engineers. Being a team leader, you will primarily be responsible for fast and accurate delivery from the team which might even include handholding of team members whenever needed. Embedded team would be responsible for the following:
Hardware Design including
- Circuit design as per design requirements
- Schematic capture in the tool
- CAD layout
- QA/QC/functional testing
- PCB assembling and rework
- Lab inventory management
- Component procurement.
Firmware Design Including
- Firmware Design and architect
- Software Development
- Firmware Testing
- Code management over svn
Other Responsibilities
- The team leader would also be responsible for architecting the system, creating detailed design documents as per requirement and maintaining quality control of all the deliverables.
- The team leader would also be required to create a detailed test plan and list of test cases to be executed and if needed, create proper environment for the same.
- Ownership of the ‘ground up’ design and architecture of embedded software for real time applications.
- Decomposition of designs in to structured modules/functions ready for implementationby yourself and the team.
- Hands on development in C of new ARM based embedded software for a range of products currently under development
- Ensure quality of software using appropriate methods(Code Review, Static Analysis, Unit Test etc.) and application of suitable Coding Standards
- Maintain, update and enhance existing embedded software written in C
- Documentation of software products, development and execution of test plans
- Work closely with other members of the engineering team to assist with the correct choice of processors and supporting hardware
Required Experience, Skills and Qualifications
- Experience of 8+ years in field of embedded systems designing and developement.
- Familiar with usage of various LAB instruments.
- Strong fundamentals of electronics (Digital and analog) are must.
- Well versed with circuit designing and HW debugging
- Analog and Digital Circuit designing: familiarity with micro-controllers, memories, communication interfaces, op-amps, comparators, relays, inductors and capacitors, Handling EMI and Noise issues associated with circuits.
- Understanding of BLE protocols will be required.
- Understanding of scientific methodologies of experimentation, data-gathering and interpretation and hypothesis.
- Understanding of basic architecture, debugging of sensors.
- Experienced in embedded-C coding, memory allocations.
- Experience with any RTOS designing preferably with FreeRTOS at least with Semaphores, SW Timers, synchronisation and event handlings, task handling and prioritization.
- Understanding of micro-controller architecture, programming and debugging methodologies, interrupt-handling.
- Experience with any of the IDEs and debuggers for ARM architecture.
- Basic understanding of assembly programing of ARM architecture
- Understanding of basic peripherals like UART, CAN, I2C, Timers, Counters, PWMs, ADCs, DAC.
- Experience/knowledge in IoT devices (sensor, gateway, cloud) handling.
- Familiarity with CAD tools for schematics and layout generation.
- Experience on MS-Office.
- Familiarity in understanding and creating various test plans and documents.
General Skills Needed/ Requirements:
- Strong knowledge of components and should be able to suggest the team with right componenet
- Candidate must have a knack to use his/her technical knowledge to give it back to society.
- Candidates passionate to bring a change in society will be preferred with no compromise on pay check.
- Candidates must be open to work with communities to get feedback on product features so that products are best fit for social upliftment.
- Candidates must be open to travel to needy communities and should not hesitate to get his/her hands dirty to bring a change to the communities.
- Candidates must find associated with the cause and mission of the company.
- Open to work in open startup culture and give his/her 100%.
- Analytical reasoning and fact-based brainstorming capabilities will be highly preferred.
- Ready to relocate to Gurugram.
- Occasional field visits.










