IoT Software Engineer

Ref number: IoT23

Job discipline: Applications Development

Job type: Contract (Consulting)

Location: New York NY

Zip: 10001

IoT Software Engineer

Responsibilities 

  • Design and implement code ensuring scalability, performance and security
  • Code and implement new algorithms to solve complex problems
  • Aid in key architectural and technology decisions as well as design and code reviews
  • Maintain working technical knowledge of the domain and market
  • Work collaboratively with cross-functional distributed teams Engineering, QA and Product Management in all phases - Requirements, Development, Testing, Launch/Release
  • Document best practices and architectural references in developing and deploying product solutions
  • Work in an Agile development environment while continuously evaluating and improving engineering processes
  • Aid the IoT Solutions Engineering team in building reference architectures for key IoT use cases
  • Aid the IoT Solutions Engineering team in the evaluation and application of new technologies and partner offerings


Required 

  • Bachelor’s Degree in Computer Science or related field (Master Degree preferred) or relevant experience
  • 5-7+ years of professional experience in software development, or a combination of professional experience plus internship and/or Master Degree
  • Computer Science fundamentals in object-oriented design
  • Computer Science fundamentals in data structures, algorithm design, problem solving, and complexity analysis
  • Proficiency in, at least, one modern programming language such as Java, Go Lang, C/C++ or related
  • Working knowledge of Virtualization and Containerization stacks and tools. Experience with specific container and cluster orchestration technologies, such as Docker, Mesos, Kubernetes, Swarm, etc is a plus.
  • Experience working with Linux and Windows operating systems
  • Experience with DevOps procedures and tools to include Maven, Gradle or similar; CI tools - Jenkins or similar; SCM tools – Git or similar
  • Experience with unit, integration and blackbox testing procedures and tools like JUnit, TestNG, Cucumber, Postman, etc.
  • Experience in communicating with technical teams, and product management to collect requirements, describe and clarify software product features, technical designs, and product strategy
  • Experience in sharing knowledge with software engineers to improve their skills, and make them more effective product software engineers
  • Experience influencing software engineering best practices within your team

Strongly desired 

  • Experience working with embedded devices and/or embedded systems
  • Good understanding of SDLC, Agile methodologies. Agile development experience as a SCRUM Master is a strong plus.
  • Working knowledge of Kafka, KStream or other related stream processing frameworks such as Samza, Flink
  • Working knowledge of IoT platforms (e.g. Azure IoT Suite, AWS IoT, Google IoT Core, SAP Leonardo, IBM Watson, Software AG Apama)
  • Working knowledge of OT (e.g. fieldbusses) and IT connectivity protocols
  • Experience working with open source software and communities

Search Current Opportunities