(352) FASTTEK | (352) 327-8835
FASTTEK GLOBALpowered by Fast Switch - Great Lakes
info@fasttek.com
(352) FASTTEK | (352) 327-8835
Chennai, Tamil Nadu
Software Engineer (2) - Commodity Engineer 2 #1036992
Job Description:
  • Employees in this job function are responsible for designing, developing, testing and maintaining software applications and products to meet customer needs.
  • They are involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality and deploying the software to meet customer requirements.
  • Full-stack software engineering roles, who can develop all components of software including user interface and server side also fall within this job function.
 
Key Responsibilities:
  • Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
  • Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies
  • Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
  • Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
  • Collaborate with cross functional teams like product owners, designers, architects etc.
  • Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices.
  • Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
  • Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery
  • Support security practices to safeguard user data including encryption and anonymization.
  • Create user-friendly and interactive interfaces
  • Develop and maintain back-end applications like APIs and microservices using server-side languages
  • Evaluate and incorporate emerging technologies and capabilities to deliver their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
 
Skills Required:
  • Application Development
 
Skills Preferred:
  • C++, PostgreSQL, POSTGRES, Problem Solving, C
 
Experience Required:
  • Engineer 2 Exp.: Practitioner: 1 coding language or framework. 4+ years in IT; 3+ years in development
 
Experience Preferred:
  • System programming with high level device driver development using C/C++ on Linux or Unix
  • Exposure on how IT application communicates with OT devices
  • Experience with MQTT or other lightweight messaging protocols commonly used in IoT contexts.
  • Experience with cloud platforms (AWS, Azure, GCP) and their respective IoT/data services.
  • Familiarity with database systems (SQL Server, PostgreSQL, MongoDB, etc.).
  • Knowledge of industrial cybersecurity principles and practices.
  • Experience with containerization technologies (Docker, Kubernetes).
  • Understanding of real-time operating systems or deterministic systems.
 
Education Required:
  • Bachelor's Degree
 
Additional Information :
  • Architect, design, code, test, and deploy software drivers and services that facilitate data exchange between various PLC brands (e.g., Allen-Bradley, Siemens) and server-side applications.
  • Implement and work with a variety of industrial communication protocols, including but not limited to Ethernet/IP, PROFINET, CIP, MQTT, Modbus TCP/RTU, OPC UA and vendor-specific protocols.
  • Develop interfaces to push/pull data from drivers into databases (SQL, NoSQL), message queues (Kafka, RabbitMQ, MQTT brokers), APIs, and potentially cloud services (AWS IoT, Azure IoT Hub, Google Cloud IoT Core).
  • Ensure drivers are highly performant, fault-tolerant, and capable of handling large volumes of data with low latency, critical for real-time or near-real-time applications.
  • Diagnose and resolve complex communication issues that span both the IT and OT layers, often requiring collaboration with automation technicians and network engineers.
  • Implement and follow best practices for securing communication channels between OT and IT networks, considering potential cybersecurity risks in industrial environments.
  • Develop and execute unit tests, integration tests, and system tests for communication drivers to ensure reliability and correctness.
  • Create clear and concise technical documentation for drivers, APIs, configuration guides, and troubleshooting procedures.
  • Work effectively in an agile environment, collaborating with cross-functional teams including automation engineers, IT operations, data engineers, and application developers.
  • Contribute to discussions on overall system architecture, data models, and technology choices for industrial data connectivity.