What you will do
Johnson Controls Inc., a global leader in building automation technology is hiring a Senior C++ Developer to join our Illustra AI core team to develop a multifaceted video analytics server.
At Johnson Controls, we're shaping the future to create a world that's safe, comfortable, and sustainable. Our global team creates innovative, integrated solutions making the people, facilities, and assets safe with our industry-leading security solutions. We are passionate about improving the way the world lives, works, and plays.
The Illustra AI core team is a mix of AI scientists and software developers working in close teamwork for research and development. We are part of a global organization and work closely with our peers across the world.
The video analytic server uses our in-house AI models to generate insights on live camera feeds. It combined with NVRs and access control solutions within the company, with plenty of new features both in AI and software development fields.
You will be responsible for developing solutions running powerful AI models to be used across the global product line of our Tyco security brand. The Solutions uses innovative Nvidia tools that handles the video streams and the AI models.
As a member of this team, you will work within a dynamic environment that provides a platform for you to have immediate impact.
How you will do it
As a Senior C++ Developer, you will port deep learning models to edge devices and also design and develop robust code for video analytics server. You will write effective and scalable C++ and Python codes for both on premise, cloud, and edge devices. You will optimize the server's code which includes GPU(s) usage. You will debug applications to ensure low-latency and high-throughput. The work will include using Nvidia DeepStream and Triton inference server for owning the video and the AI models
You are an excellent standout colleague who is willing to collaborate with both software developers and AI scientists across several countries.
What we look for
Required
Ability to work in our Belfast office three days per week
Authorization to work in the UK
A degree in Computer Science.
Experience of porting and optimizing algorithms to embedded systems.
Object Orientated programming skills in Modern C++ (11, 14 or 17)
Experience in multi-process and multi-thread architecture
Preferred
Experience with porting deep learning models to TensorRT or other platforms.
Experience with C++ / CUDA C and working with GPUs.
Familiarity with video technologies: Gstreamer, Deep Stream and Triton.
Experience working in Python microservices architecture.
Microservices/containerization (docker, docker-compose, Kubernetes etc.)
Experience with Linux or Embedded development
Proficiency with scripting languages (bash etc.)
Experience with python bindings for C/C++
General knowledge of Web Services (REST etc.) and messaging services (RabbitMQ etc)
Familiarity with Jira, Confluence
Experience with Agile/Scrum and Waterfall software development processes