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 verificationWorking effectively in an Agile scrum team and continuously improving the teams 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, RS-485, 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: Full-time, 2-7 years experience,
Salary: Rs 6,00,000 - 15,00,000 / year CTCRequirementsExperience & Skill:
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
Electronics/Electronics & Telecommunication/Electrical/Computer Science Engineers with Passion for IoT, Interest in Experimenting, solving technical challenges, having go-getter attitude
BenefitsWhat 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