What are the responsibilities and job description for the Principal IoT Software Engineer position at Motion Recruitment?
Principal IoT Software Engineer
Carrollton, TX
Full time role
Seeking a Principal IoT Software Engineer for a permanent opportunity in Carrollton, TX. This position calls for an experienced, knowledgeable, and talented Principal engineer to design and develop software components for the Controls Engineering organization.
What You Will Be Doing
- Responsible for the successful implementation and delivery of software products and components throughout the entire product lifecycle.
- Responsible for project deliverables on time and with high quality.
- Assure proper technical requirement definition with internal and external customers, marketing, manufacturing, and other support groups.
- Actively participate in the definition and implementation of new processes and improvements.
- Identify and create new technologies and ideas to increase the organization’s intellectual property and to better address customer needs.
- Participate in technical feasibility analysis and prototyping activities.
Required Skills & Experience
- 10 years of professional software development experience, with a focus on IoT and embedded systems.
- Strong understanding of IoT architectures, protocols (e.g., MQTT, CoAP), and standards.
- Experience with edge computing platforms and cloud-based IoT services (e.g., AWS IoT, Azure IoT Hub).
- Strong proficiency in C , including Object-Oriented Programming (OOP), templates, multi-threading, and designing multi-threaded, concurrent systems with synchronization mechanisms (e.g., mutexes, atomic operations).
- Experience with modern C frameworks such as Poco, Boost Beast, and similar libraries.
- Deep understanding of DDS (Data Distribution Service) architecture, including Quality of Service (QoS) policies, discovery mechanisms, and real-time data distribution.
- Proficient in networking protocols (TCP/IP, UDP, multicast) and socket programming for distributed systems.
- Knowledge of real-time system programming, memory management, and performance optimization in C .
- Familiarity with middleware concepts, including message-oriented middleware (MOM) and distributed computing principles.
- Proficiency with CMake for managing cross-platform build systems.
- Experience working with Linux, Windows, and RTOS environments for developing distributed applications.
- Experience in high-level programming languages such as JavaScript and Python.
- Strong understanding of software design principles, best practices, and unit test-driven development.
- Proficient in shell scripting for automation, system administration, and process optimization.
- Proficiency in Azure DevOps and solid understanding of Kubernetes for container orchestration.
- Strong experience with SQL, including stored procedures, triggers, and working with MySQL.
- Experience with Azure cloud services, including VMs, VMSS, Load Balancers (L4, L7), Log Analytics, Application Insights, and Azure Kubernetes Service (AKS).
- Proven experience in developing and deploying cloud applications using Azure or other cloud platforms.
- Familiarity with Configuration Management tools such as version control, bug tracking, change management, automated builds, and coding standards.
- Applicants must be currently authorized to work in the US on a full-time basis now and in the future.
Thanks,
Nandit
Salary : $140,000 - $160,000