
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

Job Description :
Position Name: Network Software Developer
Experience: 4 to 8 Years
Work Mode: Work from Bangalore office (near Bellandur) all 5 days.
Mandatory:
- 4+ years of work experience in Networking domain.
- Highly proficient in C and Linux environment.
- Experience in working on Linux based large code base.
- Hands-on experience in working OpenWrt based router firmware.
- Hands on experience with IP and lower layer networking protocols.
Great to Have:
- Experience in working on Qualcomm and MediaTek chipsets.
- Experience in Linux device drivers and device trees.
- Experience in creating and applying Linux kernel patches.


C, C++ , Linux , Device Driver , Linux Internals ,
Processor knowledge like Arm , Intel , Protocol SPI , I2C . Networking experience,
L2 protocols knowledge, knowledge on Python/Perl ,
Broadcom DNX/XGS device experience is desirable,
Interested to learn New things,
C,C++, LINUX INTERNAL OR IPC, LINUX OS CONCEPTS, DEVICE DRIVERS,
PROCESSOR KNOWLEDGE
SCRIPTING KNOWLEDGE EIHER PYTHON OR PERL

Hi
About us
Job description
Requirements
- C/C++ is a must. Rust is preferred. We already have part of the core product written in Rust. If you know Haskell, please let us know. We don't use Haskell in our stack but like folks who know it.
- It is essential that if you have done courses or have work experience in Operating Systems, Distributed Systems, and Computer Networks.
- Good exposure to debugging (more than just `!analyze -v`). We suck at debugging here, so can use your help!
- Great version control (Git) hygiene and familiarity with CI/CD. Test- and issue-driven development (that's our new term).
- Candidate should prioritize documentation to meeting (can't emphasize enough). Who has time to talk and listen (and forget) when one can write and read? During the interview, we may ask you how to organize your notes, references, and knowledge (We use Notion and self-hsoted Gitlab).
- Familiarity with scripting languages such as Python or Nim is appreciated. Both languages are used heavily in DevOps here.
- If you don't know Java, that's +1 ;-p (just kidding).
Regards
Team Merito

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)
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.



Skills You'll Need
- At least 3 years of C++ programming experience in a Linux environment.
- Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
- Experience in Object-Oriented design and multi threaded programming
- Experience in creating/supporting cross-platform multi threaded applications
- Strong analytical and problem solving skills
- Ideally some experience in developing low latency systems
- Experience with trading or execution systems preferred
- Bachelor's degree in Computer Science or Computer Engineering or related field
- Reliable and predictable availability
Ideally in Mumbai Metro Area but open to anywhere for the right candidate.
- Extensive knowledge of linux kernel internals.
- Good knowledge of C programming language.
- Familiarity with any processor architecture, virtualization, storage and network management.
- Strong experience in debugging linux kernel mode
- Debugging experience across hardware and platform firmware.



Job Area Engineering - Software
Location Remote
Job Description
This position is ideal for a Senior SW engineer who is passionate about solving challenging business problems and building security services that provide an excellent client experience. You will be an integral part of the vulnerability assessment product development team focusing on designing, coding, and testing new and enhanced security services for z/Linux. The successful candidate should be a self-motivated individual with expert software engineering skills and solid expertise with IBM mainframe technologies. Candidate must be flexible and willing to switch tasks based on team's needs.
Qualifications
Basic Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
- 1+ years experience with Programming Language such as C, C++, Java, Python, etc.
- Linux kernel and device driver development
- Experience with development boards such as DragonBoard
- Experience with python, perl, rust, shell scripting
- C programming and debugging skills
Preferred Qualifications
- CPU and cache architectures
- Experience with JTAG and GDB debuggers
- Linux Kernel upstream patch submission
- CPU performance and power analysis
- Independent and self-motivated problem solver and strategic thinker
- Proficient in Git for development and patch/branch management
Essential Functions
- Good planning, time management, decision-making, presentation, and organization skills
- Effective written and verbal communication
- Excellent interpersonal and teamwork skills


