HamburgerMenu
hirist

Software Engineer - C Programming

Maverick minds
Mumbai
2 - 4 Years

Posted on: 22/12/2025

Job Description

Description :


One of our esteemed clients is seeking a highly skilled and motivated Software Engineer with strong expertise in C programming and Linux-based systems to work on high-performance, low-latency, enterprise-grade applications. This role is ideal for engineers who enjoy working close to the system layer and are passionate about building reliable, scalable, and efficient software for mission-critical environments.


The selected candidate will play a key role in designing and developing robust backend and system-level applications that power large-scale distributed systems. You will be working on performance-sensitive components where reliability, efficiency, and correctness are paramount.


Key Responsibilities :


- Design, develop, test, and maintain system-level applications using C on Linux platforms, ensuring high performance, stability, and scalability.


- Build and enhance socket-based network applications using TCP/IP and UDP protocols, with a focus on low-latency communication and high throughput.


- Implement and manage multithreaded and concurrent applications using POSIX threads (pthreads), ensuring thread safety, synchronization, and efficient resource utilization.


- Analyze, profile, and optimize applications to address performance bottlenecks, memory leaks, race conditions, and concurrency issues.


- Work extensively with system-level debugging and diagnostic tools such as GDB, strace, ltrace, valgrind, and performance profiling utilities to identify and resolve complex issues.


- Participate in architecture discussions and contribute to design decisions for scalable and fault-tolerant systems.


- Collaborate closely with cross-functional teams, including product managers, system architects, QA engineers, and DevOps teams, to deliver high-quality software solutions.


- Write clean, maintainable, and well-documented code, following coding standards, best practices, and version control processes.


- Develop unit tests, integration tests, and support automated testing pipelines to ensure software quality and reliability.


- Support application deployment, monitor production systems, and troubleshoot live issues in a fast-paced, high-availability environment.


- Participate in code reviews, knowledge-sharing sessions, and continuous improvement initiatives to raise engineering standards across the team.


Required Skills & Qualifications :


- Strong proficiency in C programming, with a solid understanding of memory management, pointers, data structures, and low-level system interactions.


- Hands-on experience working on Linux/Unix systems, including system calls, process management, signals, and file systems.


- Proven experience in socket programming (TCP/UDP) and network-centric application development.


- Solid understanding of multithreading, synchronization mechanisms, mutexes, semaphores, and concurrent programming concepts.


- Experience with debugging, profiling, and performance optimization tools in Linux environments.


- Familiarity with build systems, makefiles, and version control tools such as Git.


- Strong problem-solving skills and the ability to debug complex system-level issues.


Preferred Qualifications :


- Experience working on high-performance or low-latency systems, such as trading platforms, telecom systems, networking products, or real-time applications.


- Exposure to distributed systems, inter-process communication (IPC), and messaging frameworks.


- Knowledge of memory optimization techniques and performance tuning on Linux.


- Understanding of security best practices in system-level programming.


Required Technical Skills- Must Have :


- 2 to 4 years of hands-on experience in C programming


- Strong experience working on Linux / UNIX environments


- Hands-on experience with Socket Programming (TCP/IP, UDP)


- Strong knowledge of Multithreading / Concurrency (pthreads)


- Understanding of process management, IPC, and memory management


- Experience with Makefiles, GCC, GDB


Good to Have :


- Experience with epoll / select / poll


- Knowledge of network protocols (HTTP, SSL, FTP)


- Exposure to performance tuning and low-latency systems


- Experience with version control tools (Git)


- Exposure to financial / banking systems (preferred)


Education : BE / BTech / MCA / MSc (Computer Science or related field)


Soft Skills :


- Strong problem-solving and analytical skills


- Good communication skills


- Ability to work independently and in a team


- Attention to detail and ownership mindset



info-icon

Did you find something suspicious?