
Senior Embedded Software Engineer – PCIe / Embedded Linux
Position: Senior Embedded Software Engineer – PCIe / Embedded Linux
Location: Bangalore (Preferred)
Experience: 7+ years
Night Shift
About the Role:
We are seeking a highly skilled Senior Embedded Engineer with strong expertise in Embedded Linux and PCIe protocol development. The ideal candidate will have deep technical knowledge of PCIe (Gen4 and above) and experience in developing and debugging embedded systems at both hardware and software levels. Exposure to AI/ML or accelerator-based systems will be considered a strong plus.
Key Responsibilities:
- Design, develop, and optimize embedded software on Linux and RTOS platforms.
- Implement and validate PCIe-based communication and device drivers (Gen4 minimum, Gen5/6 preferred).
- Work closely with hardware and system teams to debug low-level issues related to PCIe interfaces.
- Develop firmware and system-level software components for high-performance embedded platforms.
- Participate in board bring-up, performance optimization, and hardware/software integration.
- Contribute to system architecture discussions and design reviews.
- Document design, testing procedures, and performance analysis.
Core Skills Required:
- Embedded Linux development (mandatory).
- Deep understanding of PCIe protocols (Gen4 minimum; Gen5/6 preferred).
- Strong knowledge of low-level driver development, DMA, interrupts, and memory management.
- Experience with Embedded RTOS environments.
- Familiarity with hardware debugging tools (e.g., JTAG, logic analyzers, oscilloscopes).
- Proficiency in C/C++ and scripting (Python, Shell).
- Excellent problem-solving and debugging skills.
Preferred Skills (Good to Have):
- Exposure to AI/ML hardware accelerators or data processing units (DPUs).
- Understanding of SoC architecture and high-speed interconnects.
- Experience working with multi-core systems and performance tuning.
Education:
- Bachelor’s or Master’s degree in Computer Engineering, Electronics, or related field.

About Hunarstreet Technologies Pvt Ltd
About
At Hunarstreet Technologies Pvt Ltd, we specialize in delivering India’s fastest hiring solutions, tailored to meet the unique needs of businesses across various industries. Our mission is to connect companies with exceptional talent, enabling them to achieve their growth and operational goals swiftly and efficiently.
We are able to achieve a success rate of 87% in relevancy of candidates to the job position and 62% success rate in closing positions shared with us.
Similar jobs
Key Responsibilities
1. Kernel Lifecycle & Maintenance
Upstream Alignment: Lead the strategy for upgrading enterprise kernels (e.g., migrating from LTS 5.15 to 6.6) while maintaining binary compatibility where required.
Patch Porting: Expertly port functional and performance patches between disparate kernel versions, resolving complex code conflicts and API changes.
CVE Mitigation: Monitor the Linux Kernel Mailing List (LKML) and security advisories to identify and backport CVE patches from upstream to production environments.
2. Deep-Dive Debugging & Stability
Panic Analysis: Act as the final escalation point for Kernel Panics and "Oops" messages. Utilize kdump, crash, and gdb to perform post-mortem analysis of vmcores.
Boot-Time Resolution: Debug critical failures during the early boot process (UEFI handoff, initramfs, and early kernel init) where standard logging is unavailable.
Performance Tuning: Use ebpf, ftrace, and perf to identify bottlenecks in memory management, scheduler latency, or I/O throughput.
3. Driver Development & Hardware Integration
Driver Ownership: Design, develop, or maintain at least one Open Source or Proprietary Device Driver (Network, Storage, GPU, or Character devices).
Hardware Abstraction: Interface directly with hardware registers, managing DMA mappings, and optimizing interrupt handling (MSI-X, Threaded IRQs).
Out-of-Tree Management: Maintain driver compatibility across kernel updates using DKMS or similar frameworks.
4. Infrastructure & Automation
Registry Management: Oversee the distribution of custom kernel builds and modules via GitLab Container/Package Registries.
CI/CD for Kernel: Build automated testing pipelines (Hardware-in-the-loop) to validate kernel stability before enterprise-wide deployment.
Required Technical Skills:
Languages: Mastery of C/C++ Programming (C is preferred)
Kernel Internals: Deep understanding of VFS, Memory Management (MMU/Paging), Process Scheduling, and Networking Stacks.
Debugging Tools: Expert-level use of kprobes, trace-cmd, valgrind, and hardware-level debuggers (JTAG/Serial Console).
Build Systems: Proficiency with Kbuild, Makefiles, and building RPM/Debian packages for kernel distribution.
Security: Hands-on experience with SELinux/AppArmor policy development and kernel hardening (FIPS, KSPP).
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
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
Software development for video streaming solutions. The position is for a developer role who will translate functionality building blocks and components into to software code, integrate the functional components in the architectural framework. The position will be responsible for complete software development including requirements analysis, design, implementation, unit test, integration. Expert in C++, C#, Network protocols like TCP/UDP, design patterns and principles. Hands on with network protocols in C#. Understand cloud technology.
Strong debugging skills. Video streaming hands is preferred. Video Management solutions (VMS) hands on is big plus. It requires closely working with SMEs/ domain experts. Responsible for algorithm development, programming, unit testing, implementation, documentation, maintenance and support of systems software’s in adherence with Industry standards, processes and best practices. Develop high quality, secure, scalable software solutions based on technical requirements specifications and design artifacts within expected time and budget. Assist team members in the development of applications, components, system to system interfaces and complete software solutions. Collaborate with cross-functional teams to determine functional and non-functional requirements for new software or applications Collaborate with SMEs, domain experts, quality assurance and end users to produce cutting-edge robust software solutions Develop product specifications with attention to safety criticality, robustness & reliability, extendibility & flexibility Evaluate existing software solutions to identify areas for improvement, modularization Design and documentation of evolving architecture in terms of UML diagrams, architectural diagrams, state-machines, flow-charts etc. Code implementation, debugging and unit testing
Work with project team to meet scheduled due dates, while maintaining the software quality. Assistance in testing activities as per standard V&V practices and Quality Assurance Maintain thorough documentation of software artefacts as per software development guidelines for moderately-complex projects. Actively look for opportunities to enhance standards and improve process efficiency.
Skills
- Minimum 5+ years of proven experience as software engineer.
- Strong in Network protocols, OOPS concepts and data structures.
- Familiarity with application software development as well as embedded software development
- Experience in software development and coding in various languages (C, C++, C#)
- Excellent knowledge of software and application design, architectural styles and design patterns, architecture tradeoff analysis
- Proficient understanding of any one of code versioning tools (Git, SVN, and Mercurial)
- Familiarity with formal change control and support processes (JIRA, BitBucket, Scrum etc.)
- Understanding of V&V approaches and software quality assurance principles
- Experience with service-oriented architecture (SOA), and cloud technologies would be an added advantage
- A technical mindset with great attention to details, innovation
- Good analytical, communication and presentation skills
Key Shared Accountabilities
Customers: Competence to build and effectively manage interpersonal relationships at all levels with different clients and vendors.
Business Team: Work Closely with business team to understand the needs and deliver by maintaining harmonious relationship.
Desired Behavioural Values
- Commitment to common purpose and goals
- Seating respect on the table
- Displaying Integrity and Ethic
- Taking initiative and ownership
- Being passionate about making a difference
- Constant networking with thought leaders, analyst & special interest groups.
- Collaborate with SMEs, domain experts and quality assurance to produce cutting-edge robust software solutions.
- Dreamer, Creative, Passionate & self-motivated & self-starter
- Actively listen to others and demonstrate understanding of other points of view.
- Showcase likeliness to adjust to changing conditions or priorities.
- Take the initiative to identify, work on problems proactively and lead by example.
- Consistently provide ideas, opinions, or information in a professional way.
- Understand IP & trademark policies and actively promote safe practices in projects.
You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
Flux Auto builds autonomous vehicle technology for commercial and industrial applications.
Flux Auto was founded in 2017 with the goal of democratizing autonomous vehicle technology and bringing its benefits to vehicles - new and old - around the world. We develop the various hardware and software technologies to make vehicles move and operate autonomously. Everyday our engineers are working to solve new and unique challenges for our clients in India, and North America.
We are a multidisciplinary team solving some of the most challenging problems in
autonomous technology and robotics. Join us in our journey to democratize autonomous mobility!
Experience required: 1 year of internship and projects done in similar domain.
About the role:
We are looking for a candidate with conceptual understanding of classical control systems and logic building. The candidate should be able to understand the existing control stack, tune the hyper-parameters and make necessary changes as per the need. The position requires you to have a basic understanding of automotive systems which will be an added advantage and also help in clear understanding of the application.
Team works towards development of algorithms and model based design for different features to achieve autonomy level 3 and level 4. The algorithms are continuously tested on simulation and vehicle system for verification and validation.
Requirements:
- Sound knowledge in controller design and analysis.
- Good understanding in optimisation based control algorithms.
- Experience with implementing PID controller for various unstable system.
- Experience with vehicle modelling and analysis.
- Good understanding of implementation/debugging/testing model and control algorithms.
- Candidate should have experience in programming concepts like OOPS in C++ and Python with robust and efficient coding.
- Experience in Matlab/Simulink, Stateflow.
- Good understanding in code generation, implementation and testing for real time intergration embedded system.
Responsibilities:
- Algorithm development for different control features.
- Testing of algorithm architecture along with tuning and validation.
- Working with simulation team to integrate and test models and algorithms into simulation environment for rapid development and validation.
- Tuning and validation of plant models to emulate real physical systems’ behaviour
- Co-ordination with other departments to maintain consistency and compatibility in department stack.
Good to Have:
- ROS and ROS2 experience
- Vehicle dynamics modelling and simulation.
- Experience with version control using Git.
Benefits:
- Health Insurance
- Employee Stock Options
- Work from Home
- Flexible work hours
- Monthly Team outings and events
- Budget for up-skilling
- Flexible vacation
Equal Opportunity Employer:
Flux Auto's employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, age, gender identity, genetic factors, military/veteran status or other characteristics protected by law.
Vaccination Requirements:
Flux Auto is implementing new requirements for employees to be fully vaccinated from COVID-19.
Apply Now!
ROLES AND RESPONSIBILITIES:
• Articulate complex problems, communicate viable architecture and design approach in a clear and concise manner.
• Thrive in a collaborative team environment and work with ambiguous product requirements.
• Evaluate opensource technologies, development stack and strive for new learning, continued growth by applying industry best practices and processes.
• Provide thought leadership in cloud based VoIP(Voice/WebRTC) services and bring your passion for technology to motivate and inspire on a day to day basis.
SKILLS REQUIRED
• 4+ years experience in building highly available, fault tolerant and scalable real-time communications(Voice and WebRTC) systems in the cloud (AWS preferred).
• Demonstrated history of building complex, high-performance applications in C/C++.
• Proven expertise in network and system performance optimizations(including kernel, containers and virtualization technologies).
• Proficiency in telecom protocols (SIP, SDP and RTP/RTCP) and internet protocols(IPv4/IPv6, TCP and UDP) is desirable.
• Deep understanding of all aspects of WebRTC from audio codecs, to networking (ICE, STUN, TURN) up to server side components needed to deploy the technology at scale (SFU, MCU, Relays) and network security(TLS, SRTP).Strong analytical, problem solving and troubleshooting skills.
• Programming experience with Python, Golang and Lua will be a plus.
• Prior experience working with Asterisk, FreeSWITCH, RTPEngine, Kamailio, or OpenSIPs will be a plus.









