
Function: Software Engineering → Backend Development
- Python
- Flask
Requirements:
- Should be a go-getter, ready to shoulder more responsibilities, shows enthusiasm and interest in work.
- Excellent core Python skills including threading, dictionary, OOPS Concept, Data structure, Web service.
- Should have work experience on following stacks/libraries: Flask
- Familiarity with some ORM (Object Relational Mapper) libraries
- Able to integrate multiple data sources and databases into one system
- Understanding of the threading limitations of Python, and multi-process architecture Familiarity with event-driven programming in Python
- Basic understanding of front-end technologies, such as Angular, JavaScript, HTML5 and CSS3
- Writing reusable, testable, and efficient code
- Design and implementation of low-latency, high-availability, and performant applications
- Understanding of accessibility and security compliance
- Experience in both RDBMS(MySQL), NoSQL databases (MongoDB, HDFS, HIVE etc) or in-memory caching technologies such as ehcache etc is preferable.

Similar jobs
Job Title: Senior Linux Kernel Engineer
Experience: 5–10 Years
Location: Bangalore / Chennai
Domain: Enterprise Linux / Kernel Development
Job Summary
We are seeking a highly skilled Senior Linux Kernel Engineer with deep expertise in kernel development, debugging, and performance optimization. The role involves working on enterprise-grade Linux distributions, kernel lifecycle management, security patching, and low-level hardware integration.
Key Responsibilities
1. Kernel Lifecycle & Maintenance
- Lead kernel upgrade strategies (e.g., LTS migrations such as 5.15 → 6.x) while ensuring stability and compatibility.
- Perform patch porting across kernel versions, resolving API and dependency conflicts.
- Track and mitigate security vulnerabilities by monitoring CVEs and upstream sources (e.g., LKML).
- Backport critical fixes to production kernels without impacting system stability.
2. Debugging & System Stability
- Act as an escalation point for kernel panics and system crashes.
- Perform post-mortem analysis using kdump, crash, and gdb.
- Debug early boot issues (UEFI, initramfs, kernel initialization).
- Conduct performance analysis using eBPF, ftrace, and perf to optimize system behavior.
3. Driver Development & Hardware Integration
- Design, develop, and maintain device drivers (network, storage, GPU, or character devices).
- Work closely with hardware through DMA, interrupts (MSI-X), and register-level programming.
- Maintain out-of-tree drivers using DKMS or similar frameworks.
- Ensure compatibility of drivers across kernel updates.
Required Technical Skills
- Programming: Strong expertise in C (mandatory) and C++
- Kernel Internals: Deep understanding of:
- Virtual File System (VFS)
- Memory Management (MMU, Paging)
- Process Scheduler
- Linux Networking Stack
- Debugging Tools:
- kdump, crash, gdb
- kprobes, trace-cmd, ftrace
- perf, valgrind
- Hardware debugging tools (JTAG, Serial Console)
- Build Systems:
- Kbuild, Makefiles
- Kernel packaging (RPM/Debian)
- Security:
- Experience with CVE patching and backporting
- Knowledge of SELinux/AppArmor
- Kernel hardening (FIPS, KSPP)
Preferred Skills
- Experience contributing to open-source kernel projects
- Familiarity with Linux Kernel Mailing List (LKML) workflows
- Exposure to enterprise Linux distributions (RHEL, Ubuntu, SUSE)
- Experience with performance tuning and system optimization at scale
1. Core Programming (C Language)
- Must have strong hands-on experience in C programming
- Comfortable with pointers, memory management, and low-level concepts
2. Kernel Internals Expertise
- Should have worked in at least one subsystem:
- VFS / File Systems
- Memory Management
- Scheduler / Networking
3. Debugging & Crash Analysis
- Experience handling kernel panics
- Hands-on with vmcore analysis tools
4. Security & Patching
- Understanding of CVE fixes and backporting
5. Driver Development
- Experience in writing or maintaining device drivers
6. Performance & Advanced Debugging
- Exposure to eBPF, ftrace, perf
7. Hardware-Level Understanding
- Knowledge of DMA, interrupts, hardware interaction
Soft Skills
- Strong analytical and problem-solving abilities
- Excellent communication skills
- Ability to work independently and in collaborative environments
- Quick learner with adaptability to new technologies
● Fluency or understanding of specific languages, such as Python or Go.
● Strong understanding of the web development cycle and programming techniques and tools.
● Solid understanding of how REST APIs work: GET, POST, PUT and PATCH
● Basic understanding of AWS cloud and its services like lambda, EC2, Document DB, EKS etc.
● Understanding MongoDB would be a bonus.
● Excellent project management skills.
● Ability to work independently or with a group.
Period: 6 months+
JD:
● 4-7 years of experience building and scaling APIs and web applications.
● Experience building and managing large scale data/analytics systems.
● Have a strong grasp of CS fundamentals and excellent problem solving abilities. Have a good
understanding of software design principles and architectural best practices.
● Be passionate about writing code and have experience coding in multiple languages, including at least
one scripting language, preferably Python.
● Be able to argue convincingly why feature X of language Y rocks/sucks, or why a certain design decision
is right/wrong, and so on.
● Be a self-starter—someone who thrives in fast paced environments with minimal ‘management’.
● Have experience working with multiple storage and indexing technologies such as MySQL, Redis,
MongoDB, Cassandra, Elastic.
● Good knowledge (including internals) of messaging systems such as Kafka and RabbitMQ.
● Use the command line like a pro. Be proficient in Git and other essential software development tools.
● Working knowledge of large-scale computational models such as MapReduce and Spark is a bonus.
● Exposure to one or more centralized logging, monitoring, and instrumentation tools, such as Kibana,
Graylog, StatsD, Datadog etc.
● Working knowledge of building websites and apps. Good understanding of integration complexities and
dependencies.
● Working knowledge linux server administration as well as the AWS ecosystem is desirable.
● It's a huge bonus if you have some personal projects (including open source contributions) that you work
on during your spare time. Show off some of your projects you have hosted on GitHub.
Your responsibilities as a backend engineer will include:
- Back-end software development
- Software engineering and designing data models and write effective APIs
- Working together with engineers and product teams
- Understanding business use cases and requirements for different internal teams
- Maintenance of existing projects and New feature development
- Consume and integrate classifier/ ML snippets from Data science team
What we are looking for:
- 2+ years of industry experience with the Python and Django framework.
- Degree in Computer Science or related field
- Good analytical skills with strong fundamentals of data structures and algorithms
- Experience building backend services with hands-on experience through all stages of Agile software development life cycle.
- Ability to write optimized codes,debug programs, and integrate applications with third party tools by developing various APIs
- Experience with Databases.
- Experience with writing REST-APIs.
- Prototyping initial collection and leveraging existing tools and/or creating new tools
- Experience working different types of datasets (e.g. unstructured, semi-structured, with missing information)
- Ability to think critically and creatively in a dynamic environment, while picking up new tools and domain knowledge along the way
- A positive attitude, and a growth mindset
Bonus:
- Experience with relevant Python libraries such as Requests, sklearn, Selenium
- Hands on experience in Machine learning implementations
- Experience with Cloud infrastructure (e.g. AWS) and relevant microservices
- Good Humor
Note- We are currently working from home due to the pandemic. If selected you may work from a remote location though once office reopens candidate must work from Office.
● We believe that the role of an engineer at a typical product company in India has to evolve from just working in a request response mode to something more involved.
● Typically an engineer has very little to no connection with the product, its users, overall success criteria or long term vision of the product that he/she is working on.
● The system is not setup to encourage it. Engineers are evaluated on their tech prowess and very little attention is given to other aspects of being a successful engineer.
● We don’t hold appraisals as we don’t believe that evaluation of work and feedback is a constant affair rather than every 6 or 12 months. Besides there is no better testament of your abilities than the growth of the product.
● We don’t have a concept of hierarchy and hence we don’t have promotions. All we have in Udaan are Software Engineers.
Skills & Knowledge:
○ 4-15 years of experience
○ Sound knowledge in Programming,
○ High Ownership & Impact oriented
○ Creative thinker & Implementation
○ Highly Customer Obsessed & Always Insisting on Highest Standards











