About the Role
We 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 AlgorithmsHands-on experience in memory allocation, stack / heap conceptsFamiliarity with Linux development environments, including shell scriptingGood understanding of HTTP, MQTT, and client-server architecturesDebugging and troubleshooting skills using tools like gdb, valgrind, or similarGood to Have
Experience in multithreading or concurrencyExposure to socket programming or inter-process communicationWillingness to explore Embedded Linux or RTOS in future projects