Roles & Responsibilities:
- Lead a small time of junior engineers to drive embedded firmware project outcomes
- Closely collaborate with junior engineers to define the specifications lead the software design/implementation and integrate/validate software in a larger system.
- Translate Probots Customer requirements and various subsystem requirements into reliable embedded software
- Lead all aspects of embedded software starting from pre development design prototyping testing validation till maintenance with minimal guidance
- Plan and execute multiple project requirements with changing priorities.
- Review the code of junior developers to ensure that coding best practices are adhered to.
- Close interaction with the Hardware and Senior Firmware Development team during the course of product development
- Generate algorithms flow charts and state model diagrams for implementing customer requirements in firmware
- Coordinate with team members to get the state model diagrams implemented in code
- Optimization and Performance tuning: Optimise code and algorithms for memory and processing efficiency.
- Work on modern technologies (Wifi BLE IoT etc) on latest controllers ARM Arduino Raspberry Pi ESP8266 ESP32 NodeMCU etc
- Participation in code review technical reviews and ensure the quality of deliverables
Ensuring SDLC process compliance during requirements gathering architecture design implementation and verification
Working effectively in an Agile scrum team and continuously improving the team s performance
- Setup GCC/Linux Kernel and generate custom compilation environments as per project requirement
- Continuous learning Stay updated on industry trends emerging technologies and best practices in embedded development.
Nice to have
- Embedded Development Expertise: 2 years of experience in developing embedded Linux platform specifically on Yocto/Buildroot OS Board support package drivers and application
- Knowledge on Bootloaders Device tree uBoot and Firmware development for Linux Arm Processors
- Basics familiarity with reading circuit & PCB Diagrams
- Knowledge of additional programming languages
- Familiar with IOT based AWS Azure web services.
- Worked on ARM MCU GSM / GPRS / GPS / LoRA / ZigBee related projects
- Strong background in embedded systems development Familiar with MODBUS RS485 Bluetooth WiFi CAN Ethernet.
- Experience dealing with Linux community and Open Source contribution a plus
Tips for applying
- If you think you are qualified apply online or send your resume by mail
- When writing email please add in subject line Senior Embedded Engineer C / C Developer. This helps us to filter all applications for this post
- In your email highlight any specific achievement of yours
- In your email a paragraph on why you would like to join Probots will be highly appreciated
- Job Types: Fulltime 27 years experience
Salary: Rs/ year CTC
Requirements
Experience & Skill:
- 27 years experience in C preferably on ARM Linux Drivers. SoC & Bare Processors
- Excellent debugging skills with experience in debugging with Valgrind JTAG & GDB.
- Solid command of the most common data structures and algorithms
- Proficient with Git/GitHub or other versioning tools
- Able to analyse and translate complex functional requirements into code
- Experience in Software Build Integration onto Target Board (crosscompilers).
- Working experience in TI ST NXP MCU and Processor boards
- Hands on experience in CAN ARINC429 SPI I2C I2S RS232 Ethernet communication protocols
- Excellent C / C Experience and Skills in OOPs & OOAD Abstraction/ Encapsulation Inheritance Polymorphism New/ Delete/Smart ptr Ctor/Dtor Static functions/ vars
- Excellent C / C programming skills. Strong experience in Object Oriented Design. OOPS and OOAD
- Must have proven experience in programming embedded systems on ARM Linux Arduino Raspberry Pi ESP8266 ESP32 NodeMCU etc. Should be Familiar with ADC Timer &
- Counters Interrupt Clocks RTC & Bit Banging etc.
- Good at debugging of firmware and hardware related problems
- Good to have knowledge on experience in working on ARM Board Bring up BSP uBoot Linux Kernel & Drivers Services etc
- Basic understanding of hardware blocks Clocks PLLs GPIO Interrupt Controllers (GIC) Power Management Peripherals (SPI/I2C/UART/CAN/Ethernet/PCIe etc)
- Linux Concepts: Basics (e.g. > thrds/ synch obj/ipc/script cmds/file handling)
- Preferable Linux skills Scripting Kernel Modifications etc
- Able to work independently and also a Good Team player. Professional attitude Work Ethics. Selfmotivated good verbal and written communication.
- Excellent analytical problem solving debugging skills & interpretation skills
- Electronics/Electronics & Telecommunication/Electrical/Computer Science Engineers with Passion for IoT Interest in Experimenting solving technical challenges having gogetter attitude
Benefits
What we offer
- If you have good programming fundamentals practical work experience on delivering end to end projects and good interest in embedded systems you will be eligible
- Excellent opportunity to work on and learn the latest cutting edge technologies
- Exposure to Industrial IoT Projects
- Environment where end to end IoT Products/Solutions are built
- Be part of multidisciplinary Engineering team
- Lot of learnings from Peers Seniors
- Environment to Experiment Discuss ideas Wok collaboratively
Experience & Skill: C Programming, Embedded Systems, Embedded Linux 2-7 years experience in C preferably on ARM, Linux Drivers. SoC & Bare Processors Excellent debugging skills with experience in debugging with Valgrind, JTAG & GDB. Solid command of the most common data structures and algorithms Proficient with Git/GitHub or other versioning tools Able to analyse and translate complex functional requirements into code Experience in Software Build, Integration onto Target Board (cross-compilers). Working experience in TI, ST, NXP MCU and Processor boards Hands on experience in CAN, ARINC429, SPI, I2C, I2S, RS232, Ethernet communication protocols Excellent C / C++ Experience and Skills in OOPs & OOAD - Abstraction/ Encapsulation, Inheritance, Polymorphism, New/ Delete/Smart ptr, Ctor/Dtor, Static functions/ vars Excellent C / C++ programming skills. Strong experience in Object Oriented Design. OOPS and OOAD Must have proven experience in programming embedded systems on ARM, Linux, Arduino, Raspberry Pi, ESP8266, ESP32, NodeMCU, etc. Should be Familiar with - , ADC, Timer & Counters, Interrupt, Clocks, RTC & Bit Banging etc. Good at debugging of firmware and hardware related problems Good to have knowledge on experience in working on ARM Board Bring up - BSP, uBoot, Linux Kernel & Drivers, Services, etc Basic understanding of hardware blocks - Clocks, PLLs, GPIO, Interrupt Controllers (GIC), Power Management, Peripherals (SPI/I2C/UART/CAN/Ethernet/PCIe, etc) Linux Concepts: Basics (e.g. -> thrds/ synch obj/ipc/script cmds/file handling) Preferable Linux skills - Scripting, Kernel Modifications, etc Able to work independently and also a Good Team player. Professional attitude, Work Ethics. Self-motivated, good verbal and written communication. Excellent analytical, problem solving, debugging skills & interpretation skills
Education
Electronics/Electronics & Telecommunication/Electrical/Computer Science Engineers with Passion for IoT, Interest in Experimenting, solving technical challenges, having go-getter attitude