About the RoleWe are hiring a Software Engineer with a strong foundation in C programming, Data Structures & Algorithms, and memory management.
This role is ideal for individuals who enjoy low-level, performance-critical programming and want to work on real-time systems, protocol integration, and high-efficiency software modules.
Key Responsibilities- Write clean, efficient, and optimized C code
- Solve complex problems using DSA principles
- Manage dynamic/static memory allocation in performance-sensitive systems
- Work with Linux OS, command-line tools, and scripting for automation
- Implement and debug application-layer protocols such as HTTP and MQTT
- Collaborate with cross-functional teams (embedded, hardware, cloud) for integration
Must-Have Skills- Proficiency in C language (memory pointers, buffers, linked structures)
- Strong knowledge of Data Structures and Algorithms
- Hands-on experience in memory allocation, stack/heap concepts
- Familiarity with Linux development environments, including shell scripting
- Good understanding of HTTP, MQTT, and client-server architectures
- Debugging and troubleshooting skills using tools like gdb, valgrind, or similar
Good to Have- Experience in multithreading or concurrency
- Exposure to socket programming or inter-process communication
- Willingness to explore Embedded Linux or RTOS in future projects