
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

About Katalyst Software Services Private Limited
About
Connect with the team
Similar jobs
Position: Computer Vision Engineer
Experience: 2–3 Years
Location: Bengaluru, Karnataka
Employment Type: Full-time
About the Role
We are seeking a highly motivated Computer Vision Engineer to join our autonomy and avionics team. The role involves developing, implementing, and validating computer vision models and algorithms and pipelines for UAVs operating in both GNSS-available and GNSS-denied environments.
The ideal candidate should have a strong foundation in theory of deep learning and machine learning, strong understanding of electromagnetic spectrum, imaging fundamentals, camera principles, and mathematical concepts with hands-on experience in implementing these algorithms on embedded or real-time systems.
Key Responsibilities
- Design, develop, and optimise AI Models
- Make custom CNNs/ modify existing CNNs to suit specific problems at hand
- Handle end-to-end training flow
- Implement end to end inference pipelines on standard PCs as well as on embedded systems
- Understand performance benchmarks and assess the accuracy and inference times
- Implement traditional image processing algorithms
- Factor the code to leverage underlying hardware architecture
- Prune the networks for efficiency
- Integrate the system within the application framework using C++
- Work closely with perception, controls, embedded software, and systems engineering teams.
Required Qualifications
- B.E./B.Tech/M.E./M.Tech in Computer Science and Engineering, Electronics, ECE, Mechatronics, or a related discipline.
- 2–3 years of experience in relevant area
- Strong understanding of: Linear Algebra, Probability and Statistics, AI-ML-DL fundamentals, Image processing, Camera Functioning
- Strong programming skills in C++ and Python.
- Experience with MATLAB for algorithm development and validation.
- Familiarity with Linux development environments.
- Experience with Git version control.
Preferred Skills
- Experience with Camera, IMU Calibration and Synchronisation
- Experience with multi-sensor fusion.
- Experience working with NVIDIA devices
- Experience on FPGA will be an added advantage
- Full understanding of Git functionality
- Exposure to airborne software development processes and coding standards (e.g., MISRA C++).
Personal Attributes
- Strong analytical and problem-solving skills.
- Ability to work independently on challenging technical problems.
- Good communication and documentation skills.
- Passion for solving challenging problems
- Willingness to participate in field trials and flight testing.
- Team playwe
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.
We are seeking a highly skilled and passionate Hardware Emulation Engineer to join our team working withthe best in the Industry, developing innovative ASIC solutions for data center and AI Infrastructure. As an Hardware Emulation Engineer, you will be at the forefront of pre-silicon validation, ensuring the highest quality and functionality of our hardware before it goes into production.
Key Responsibilities:
· Emulation Environment Development: Build and maintain pre-silicon emulation platforms using industry-standard systems such as Cadence Palladium or Synopsys ZeBu or Veloce Strato, Primo
· Model Integration and Optimization: Integrate the RTL design onto the emulation platform by ensuring synthesizability, optimize build efficiency and performance, and work with high-performance transactors and emulation testbenches (e.g., using SystemVerilog, C/C++, Python).
· Flush out emulation flow issues by performing smoke verification
· Support validation team in execute comprehensive test content, including bare-metal and OS-based tests, to accelerate bug finding in pre-silicon on the emulation platform.
· Collaboration: Work closely with cross-functional teams including design, verification and SW development teams to understand issues in using the emulation platform.
· Flow Automation: Develop and enhance automation scripts and flows using Python, Perl, and shell scripting to manage regressions, optimize runtime, and improve overall verification efficiency.
· Vendor Collaboration: Interface with emulation platform vendors to debug and quickly resolve technical issues encountered with the tools.
· The candidate must be able to work independently and proactively on allocated technical tasks.
Required Skills:
· Proficiency in Hardware Description Languages (HDLs) such as Verilog and SystemVerilog.
· SoC Knowledge: Solid understanding of SoC architectures and industry-standard protocols (e.g. AXI, PCIe, ETH, USB, HVM)
· Experience with verification methodologies (UVM, SVA) and related verification environments, including C/C++ DPI is desirable.
· Strong scripting skills in Python, Perl, Tcl, or Shell for automation.
· Familiarity with debugging tools (e.g., Verdi, SimVision) and waveform analysis is desirable.
Education:
Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or a related field.
Experience:
· Proven experience of 5+ years in hardware verification and/or emulation roles.
· Hands-on experience with at least one of the major commercial emulation platforms (Cadence Palladium, Synopsys ZeBu, or Siemens Veloce).
QFocus AI Pvt Ltd is an Equal Employment Opportunity employer.
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).
Job Summary
We are seeking a highly skilled and motivated Linux Device Driver Engineer with strong C/C++ programming skills and hands-on experience in Linux driver development. The ideal candidate will have a proven track record of working with kernel modules and hardware interfaces, and be comfortable debugging and optimizing low-level system software.
Key Responsibilities
- Porting existing Linux device drivers to new platforms, SoCs, and kernel versions.
- New driver development for custom hardware components and peripherals.
- Debugging kernel and driver-level issues using industry-standard tools.
- Integration & bring-up of hardware with Linux-based systems.
- Collaborate with hardware teams to interpret specifications and enable device functionality.
- Optimize drivers for performance, reliability, and resource efficiency.
- Write clear technical documentation for driver APIs, design, and integration steps.
Required Skills & Qualifications
- Bachelor’s/Master’s in Computer Science, Electronics, or related field.
- 4 to 8 years of professional experience in software development.
- Strong proficiency in C/C++ programming and memory management.
- Hands-on experience with any Linux device driver (character, block, network, USB, PCIe, I2C, SPI, etc.).
- Good understanding of Linux kernel architecture, module programming, and build systems.
- Knowledge of interrupt handling, DMA, and device tree configuration.
- Familiarity with cross-compilation and embedded Linux toolchains.
- Experience with debugging tools (GDB, ftrace, perf, printk, etc.).
- Version control experience (Git).
Preferred Skills
- Exposure to multiple driver types (networking, storage, multimedia, etc.).
- Experience with Yocto, Buildroot, or similar embedded Linux environments.
- Knowledge of real-time Linux and RT patches.
- Scripting knowledge (Python, Bash) for testing and automation.
Soft Skills
- Strong analytical and debugging skills.
- Good communication and collaboration abilities.
- Ability to work independently and take ownership of deliverables.
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
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
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)







