
Position Title: Embedded Software Developer (Linux Driver Development)
Experience: 4 - 10 Years
Mode of Hire: Permanent, Deployed at Client Location.
Work Location: Hyderabad
Notice Period: Max. 20 - 30 Days (Early Joiners will be preferable).
What we are looking for?
Must Have:
- Should have strong proficiency in C, C++ and Embedded Systems (embedded C)
- Should have 4+ years of experience in Linux Driver Development, Application development
- Excellent debugging skills at kernel and user space and exposure to different debugging tools
- High level understanding of ARM & RISC (Instructions) OR MB Processor and Assembly Programming
Good to Have:
- Any Driver development exposure in Multimedia, Exposure to any one of the Linux Kernel Framework (Display, Camera Drivers, HDMI, GPU, MIPI, DRM framework, V4L2, etc.)

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


About us:
Arista Networks was founded to pioneer and deliver software driven cloud networking solutions for large datacenter storage and computing environments. Arista's award-winning platforms, ranging in Ethernet speeds from 10 to 400 gigabits per second, redefine scalability, agility and resilience. Arista has shipped more than 20 million cloud networking ports worldwide with CloudVision and EOS, an advanced network operating system. Committed to open standards, Arista is a founding member of the 25/50GbE consortium. Arista Networks products are available worldwide directly and through partners.
About this role:
- You will be working with the WiFi team at Arista, developing cutting edge and next generation WiFi solutions in a fast-paced environment. The WiFi team is responsible for the end to end development of the Cloud managed WiFi product portfolio of Arista. This specific position is for the WiFi AccessPoint team.
- As a core member of the AccessPoint team, you will be working closely with relevant teams to understand product requirements, design the solution, build the software and deliver it for final validation and customer deployment.
- You will also keep track of new and emerging technologies and their impact on Arista products, come up with new and innovative ideas to improve and differentiate the product and help Arista become a leading player in the Campus space.
- You will work closely with sales and support teams to push new solutions, understand customer needs and pain points and help resolve escalations.
- You will not be limited to a single aspect of the product, it will be broad encompassing many different aspects including but not limited to developing new Access Points, designing and implementing new features, tracking new technologies and working closely with the sales and customer teams.
Requirements:
• Strong engineering and Computer Science fundamentals
• Expected to have a strong background in software development and good understanding of systems and networking areas with the knowledge of the WiFi area as an added bonus.
• Minimum 4+ years of relevant experience
• Well versed with programming in one of C/C++ languages
• Experience working in a Linux environment, developing applications or Linux drivers
• Proven experience in any of the below:
- Network device drivers, operating system internals, Kernels, compilers, SOC architecture
- Experience in developing Wi-Fi features (802.11), WLAN MAC Protocol, system integration, evaluate various performance parameters.
- User space development for connectivity related products (Wireless Lan access points/ controllers, networking equipment) in one or more of following areas:
• HostAPD, Portal, RADIUS, AAA, Identity and role management, Radsec
• Tunnels, Firewall, Iptables, Flow Classification, QoS, TLS, DTLS Preferred Skills
• Experience with Wi-Fi device drivers on Linux.
• Hands-on experience in working with one or more WIFI chipset platforms
• Good System Level understanding of the Wireless AP functionality
• Experience in developing Wi-Fi features, system integration, evaluate various performance parameters
Resources:
- Arista Cognitive WiFi : https://www.arista.com/en/products/cognitive-wifi https://youtu.be/cT1INdR-xHQ https://www.youtube.com/watch?v=olPkCOT3MdA
- Arista Cognitive WiFi Datasheet: https://www.arista.com/assets/data/pdf/Datasheets/CloudVision-Wifi-Datasheet.pdf
- Arista's Approach to Software with Ken Duda (CTO): https://youtu.be/TU8yNh5JCyw
- Additional information and resources can be found at https://www.arista.com/en/

We are searching for a talented embedded developer to join our team. You will be working along-side with other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
The candidate should be proficient in C and C++ and possess detailed knowledge of microcontroller protocols. The candidate would be responsible for,
-
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
Mandatory Skills:
-
Experience in C++ based applications development for embedded system applications
-
Solid understanding of OOPs, SOLID Principles, Design Patterns.
-
Drivers/BSP development on peripherals like ADC, SPI, I2C, UART etc
-
Firmware development experience on ARM Series of microcontrollers
-
Strong knowledge of hardware architecture such as ARM, MIPS, and x86.
-
Familiarity with hardware protocols including USB, UART, I2C, and SPI.
-
Familiarity with OS platforms such as Linux, Unix, and RTOS.
-
Knowledge on different communication protocol like Wi-Fi, Zigbee, Bluetooth and sub–GHz.
-
Basic Hardware knowledge and debugging skills
-
Strong analytical and problem-solving abilities.
-
Strong organizational and project management skills.
-
Strong knowledge of SDLC, test cycle and logical thinking on various complex use case call scenarios.
-
The ability to keep abreast with the latest advancements in technology and techniques.
Desired Skills:
-
Knowledge on IoT based systems
-
Preferably worked on a Linux based project.
-
Ability to lead the team & handle the project and own all technical aspects of design and development of systems from scratch.
-
Meticulous and very organized.
-
You will not hesitate to ask questions and call upon the knowledge of your coworkers to make sure you produce the best possible documentation for our customers.
-
Worked on 3-5 project from starting of project to delivery of project (Depending on experience)
Knowledge of Embedded system architecture such as memory hierarchies,vector
Processing.
Experience in resource /load sharing and synchronisation techniques for multi - core
processing.
knowledge of embedded processor internals.
Automotive domain Experience.


Position Overview:
This position is part of highly skilled fimrware team that do software board bring up of bare silicon for next generation products. In order to write system software for embedded electronic products, this position requires academic background in electronics engineering to understand hardware concepts such as digital logic, schematics, and microprocessor communications to develop effective embedded software.
Candidate should have complete knowledge of Software development cycle from architecture definition to the implementation.
Responsibilities:
- Must wear multiple hats from analyzing field and factory reported issues to software integration.
- Be a liason for troubleshooting and debugging complex systems and identifying the root cause.
- Develop detailed design documents and customer facing application notes for the system and IOT features for Mobile routers.
- Act as a product lead and be part of bigger team in software bring up.
- Ability to work on Low level software such as bootloaders and understanding of low level functional blocks is a must.
- Work on Linux kernel and configuration.
- Write or port device drivers for Ethernet, USB, GPIO, LED, Bluetooth, Accelormeter, LCD and touch screen.
- Debug stability issues in data routing between WAN and LAN interfaces.
- Work with Software QA with test plan and execution.
- Work with Hardware team to identify and root cause stability problems.
Experience/Requirements:
- Demonstrable knowledge of C, C++, Assembly programming skills
- Overall 10+ years of experience in embedded environment preferabily Linux.
- Board bring up proficiency with bootloaders and other low level software, must be very good with debugging techniques.
- Experience in TCP/IP networking is must for trouble shooting throughput and other traffic issues.
- Driver experience with I2C, SPI, UART, LCD, Ethernet, PCIe is a plus.
- Experience with low level debugging using JTAG.
- Experience with Makefiles, and build environments such as PTXDIST, Yocto and Buildroot.
- Experience with version control such as git and svn.
- Good communication skills and team player.
- Ability to work independently and autonomously to meet deadlines, in a fast-changing environment.
Education:
Bachelor in Electronic and Communication or related degree
Primary Skill: System Software Development
Skill sets req:
- Linux porting/development; Linux kernel concepts
- Expertise in Linux BSP device driver development
- Customizing kernel + Porting + Developing Applications Linux Device Driver Development (Character devices) Good Concepts of Network Drivers File Systems Concepts
- Expertise in porting, network stack; optimization, network programming
- Bootloader/Uboot porting
- Camera driver development (Good to have)



Software development for Automotive Pneumatic based Air Lift Systems for RV vehicles, suspension for off-road vehicles.
Responsibilities and Duties
• Author software requirements from system/customer requirements.
• Complete responsibility for BSW software components development/test/release/maintenance.
• Ability to code software for automotive time critical real-time applications.
• Experience in device drivers development for micro-controller.
• BSW API’s for application demand.
• Will have to configure and develop device drivers for MCU IO’s like Analog & Digital I/O, PWM, CAN, SPI, I2C and Bluetooth.
• Complete understanding of IS0-14229 and should be able to implement complete UDS stack.
• Timely communication with customer and inform any risks upfront.
• Quality control of release software via static and dynamic test.
• Project planning and estimations for software releases.
Qualifications
• B.Tech/M.Tech, 6+ years of experience into automotive software development.
• Expert in C Programming language.
• Experience in any scripting language (python, c#, perl etc.)
• Experience in setting up build environment and configuration of make and linker files.
• Experience in bootloader development is added advantage.
• Should be experienced in device driver development for peripherals like ADC, DIO, PWM, CAN, SPI, I2C,EEPROM and Bluetooth.
• Understand memory map of MCU and should be able to configure as per application needs.
• Experience in working with embedded system Kernels or RTOS.
• Experience in working with NXP S32 micro is added advantage.
• Excellent on board debugging skills.



