Embedded Software Lead
at Its india's number 1 smart watch brand
Responsibilities:
You will get a chance to create products from scratch. While you will get the advantage of the scale of the organization, you are expected to come up with creative solutions to challenging problems.
On a typical day, you'd work with highly skilled engineers to solve complex problems. This is an early-stage initiative. Your ability to translate business requirements, and develop and demonstrate quick prototypes or concepts with other technology teams will be of great value.
You will learn and work on a variety of languages such as C/C++, python, and Linux as well as work on BLE, MEMS, biometric sensors, and the latest wireless technologies.
Requirements:
6+ years of Embedded firmware development experience in C/C++
BLE/GPS/GSM/RTOS stack expertise
Hands-on experience with Lab equipment (VNA/RSA/MSO etc).
Testing environment setup using automation scripts and networking equipment, practices for the full software development life cycle, including coding standards, code reviews, source control management, continuous
Familiar with Wireless/IoT network protocols and standards.
Experience with microcontrollers, sensors, and serial communication.
Preferred experience with wearOS/TizenSuperior presentation and communication skills, both written and verbal
Bachelor/Masters's degree in electrical/electronic/communications engineering, information technology, physics, or a related field from
Tier 1 Tier 2 Engineering colleges only (IITs/NITs/IIITs/BITS etc. )
Result-oriented and ready to take ownership. Exhibit strong team
Similar jobs
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
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
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
- 32-bit Microcontroller knowledge is essential (ARM Cortex based micro-controllers (STM32).
- Esp32 architecture knowledge is essential.
- Strong experience in C, C++, Free-RTOS
- Strong experience in CUBEMX IDE, MDK Version 5 – Keil, Arduino IDE environment
- Good knowledge in HW and communication protocols like CAN, SPI, UART, I2C, USB
- Good knowledge in TFT Displays and Sensors is added advantage
- Good knowledge of implementation of motor controls as required, pulse width modulation schemes (PWM).
- Good knowledge of power electronics (TRIACs, MOSFETs, IGBTs, gate drivers) and require protections (Over/under voltage/current).
- Document firmware designs, specifications, test plans, revisions and produce test reports
Domain Skills
Leads a team of Engineers for designing and architecting next generation platform solutions for clusters/Interior monitoring systems
Architecting the design for new features and technologies for Platform.
Expertise in programming using C, C++ and good understanding of OOAD & UML
Capable of analyzing HW schematics to realize the SW requirements.
Support and resolve issue resolutions and clarification for cross-functional teams.
Support team lead and project manager at program level in resolving open issues
Technical Skills
Expertise in memory management (eMMC, NAND)
Design, Develop and test device drivers in Linux/Android/QNX platform.
Multithreaded programming, usage of IPCs, Interrupts & synchronization methods.
Expertise in using the communication protocols (I2C, SPI & UART) in the device driver.
Expertise in handling Device Tree based configurations.
Strong C & C++ programming skills, OOPS concepts
Linux Architecture knowhow
Strong in software development for real-time embedded systems
Experienced in Design/Architecture Tools like EA
Expertise in SCM Tools like GIT/GERRIT
Ability to create and review changes for Gerrit and participate in a continuous integration loop
Ability to create/understand the build infranstructure using CMake for the middleware components
Experience in Unit test tools like cppunit, gtest.
Know-how and experience of SAFe/Agile Development
Knowledge in Automotive Safety Standards and Processes (ASPICE).
Logical, Analytical and Debugging/Problem-Solving skills
Qualifications
B.E/B.Tech in Computer Science with hands on with Embedded software development on RTOS
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.
Benefits of choosing us…
- Growth Opportunites (Our first priority is a team)
- Paid Overtime (125%), Incentive, Bonus & Gift Provision
- Very Flexible & Friendly work environments
- Work-life balance (taking leave, office timing, *working from home)
- Growth Opportunites (Seriously, We believe in WIN-WIN)
- Months last week (Restaurant, Movies, Fun Activities)
OmnixOne is a Research and Development company, our vision is to create a world free of resource scarcity, so people can have more time for innovation/big things instead of fighting daily life problems. Wanna be part of this great journey, Come with us!
Prerequisites
- We are looking for a person who is really interested in & enjoys technology, is Passionate about Innovation, and Can go the extra mile for perfection.
- Behavioral Attitude: Must be a Quick learner / Highly Dedicated / Responsible person
Require Person: 5
Job Type: Full-time
Office Timing: 9:30 to 6:30
Expected Start Date: ASAP
Fresher Salary: 3,000 to 15,000
Experience Salary: 10,000 to 45,000
Location: Must be from Surat, Gujarat
Below are the skills we are looking for in a candidate.
- Strong hands-on C/C++, Embedded System Development
- Hands-on experience on ESP-IDF, STM32CubeMX, Embedded Linux, RTOS
- Good to have Python, Shell/Bash Scripting, Toolchains
- SPI, I2C, UART, RS485, CAN, and hardware subsystems
- Hardware and IoT / IT Communication protocols knowledge
- Problem-solving and analytical skills.
- Familiar with Standards (SOLID Principles, OOPs, Misra C, etc)
- Schematic / PCB Designing verification
- Ability to trace difficult problems using a variety of tools (debugger, JTAG emulator, logic analyzer, oscilloscope).
- Design, develop, code, test, and debug system software.
We are looking for Embedded software developers who will be responsible for designing, developing, optimizing, and implementing the software that is programmed into devices built around a processor/controllers. Candidates need to write code to solve problems and implement systems that make a physical hardware device work through software.
Thanks and Best Regards
Positions are open for PhDs/Master/Bachelors/Diploma candidates.
Job Description:
WLAN Linux Device Driver development (802.11ax preferred)
- WLAN Debugging
- WLAN Firmware development (802.11ac, 802.11n)
- Networking/Wireless Domain knowledge
- Hostapd, Supplicant
- Cross compiling/porting experience
- Performance optimization & Firmware enhancements
Must have Skills:
- 1-10 years of experience in Embedded Software Design, Implementation and testing
- Good knowledge of C or C++
- Basic knowledge in Scripting (Shell, Perl or Python)
- Proficiency in Problem Solving and Debugging skills
- Excellent team working skills
- Experience with version control e.g. GIT
- Basic experience of working in Linux OS
- Network Drivers
- WLAN Protocol Knowledge – 11n, 11ac
- WLAN Linux Device Drivers
- Hostpad, Supplicant
- WLAN Debugging
- Fluent in English
Desired Candidate Details:
- Design, development, and maintenance
- WLAN Stack development and debugging
- Feature Enhancements, Applications, Tools for SDKs
- Basic module level unit testing, System testing
- Providing support to technical documentation team and field application engineers
- Close collaboration with the Chipset Vendor on the Software Development
- Participations in the Product design and Software Design Documentation – High level / Module level / Low level design
- Troubleshooting software and architectural issues
We are looking for a seasoned Wireless LAN Software Engineer to join our Wireless & Networking team in Chennai, Pollachi, Kochi (Cochin), Gurugram, Manesar, Bengaluru (Bangalore). The candidate must be an experienced Engineer and a good team player, who will work on Wireless software solutions which will enable us to develop the products for our customers quickly with industry leading quality. Working with Embedded Software in agile development projects, you will be responsible for creating and maintaining software of Wireless Access Point and Router Products including Module design, Development, JIRA Updates and Unit testing of the Software that is meeting industry standards, creating demos of the solution and customer support.
Job Description: Senior Software Engineer- Embedded Systems
Videogram is looking for Software Engineer in Embedded Systems who will be responsible for designing the embedded systems and installing them in machines and tools. You will be playing an important role in our software team who will be responsible to design and develop the software that controls the processor (micro-controllers and digital signal processors) of the machine. You come with a role as a professional Embedded System Software Engineer to execute a complete embedded software development lifecycle.
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment. Responsible for the complete embedded software development lifecycle
- Design, develop, code, test, and debug system software
- Coordinate with the engineers from other disciplines to develop the end product of the requisite standards
- Customize the software to suit the needs of the product nature and expected functioning
- Debug the system to remove the anomalies and inconsistencies
Requirements:
- Candidates require a bachelor's degree in computer science, electrical engineering, software development, embedded software, etc.
- The candidate should be an undergraduate in Computer Science or a relevant field
- Hands-on experience in C++11 or later programming languages
- Knowledge of GIT Version control
- Experience in doing bare metal or RTOS development
- Hands-on experience in developing the code in Linux
- They require exceptional programming skills and competence in using software tools.
- Knowledge of operating systems and of the interaction between hardware/software is important for this profile.
- The attributes of problem-solving ability, analytical skills, proactive behavior, and an adaptable approach are important in this position.
- This discipline of engineering provides scope for creative minds and poses challenges to perform quality work.
- Scripting in Python & Bash is an add-on
- Experience in any of the following technologies:
UART | SPI | I2C |MIPI DSI |Display Port | Low-Level Sata
Additional/ Desirable Interests:
- Personal interest in videography/ photography and audio production
- Experience working programmatically with videos/ images/ audio
- Exposure to low-level details of any video/ image codecs
- Exposure to movie container file formats especially QuickTime/mp4
- Working knowledge of exFAT file system