First seen by Alion on Oct 17, 2026.
Job Summary :
We are looking for an experienced Software Engineer with strong expertise in Linux-based application development, inter-process communication (IPC), multithreading, microservices architecture, and network communication. The ideal candidate should have hands-on experience developing scalable software solutions using sockets, web services/APIs, and MQTT messaging protocols.
Total Experience : 6 - 12 years
Key Responsibilities :
- Design, develop, test, and maintain software applications in Linux environments.
- Implement concurrent applications using IPC mechanisms and multithreading.
- Apply appropriate software design patterns to build maintainable and scalable solutions.
- Design and develop microservices-based applications and service integrations.
- Implement socket-based communication using TCP/IP or UDP protocols.
- Develop, integrate, and troubleshoot web services and REST APIs.
- Implement MQTT client functionality and integrate applications with MQTT brokers for message exchange.
- Troubleshoot performance issues, concurrency problems, communication failures, and application defects.
- Collaborate with cross-functional teams to define technical requirements and deliver reliable software solutions.
- Follow coding standards, perform code reviews, and contribute to software testing and documentation.
Required Technical Skills :
- Linux : Linux OS, command-line tools, application development and debugging.
- IPC & Multithreading : Inter-process communication, threads, synchronization, mutexes, semaphores, and concurrency management.
- Design Patterns : Practical application of common software design patterns.
- Microservices Architecture : Service-based design, service communication, and integration.
- Socket Communication : TCP/IP, UDP, socket programming, and network troubleshooting.
- Web Services / APIs : REST APIs, HTTP/HTTPS, API integration, and debugging.
- MQTT : MQTT client development, broker integration, publish/subscribe messaging, and topic management.
Preferred Skills :
- Experience with C/C++ or another systems programming language.
- Familiarity with Git and Linux debugging tools.
- Knowledge of multithreaded application performance optimization.
- Understanding of distributed systems and asynchronous messaging.
- Experience with MQTT brokers such as Mosquitto or EMQX.
- Familiarity with unit testing, integration testing, and CI/CD practices.
Skills
Linux, C++, Socket Programming, Multithreading, Microservices Architecture, RESTful API, MQTT Protocols, TCP/IP, Design Patterns, Distributed Systems

