Senior Video Software Developer Job at Hexagon AB in Madison
Hexagon AB - Madison, AL, United States, 35758
Work at Hexagon AB
Overview
- View job
Overview
You will be responsible for the design, implementation, technical documentation, and maintenance of video interface services that support a number of public safety and security applications.
Below are a list of technologies you will be using or should be familiar with for this position:
Programming languages, frameworks, and tools
- .NET and .NET Framework - required
- C++ - required
- C# - required
- SQL - required
- Visual Studio - required
- JavaScript - beneficial
- PowerShell - beneficial
- Python - beneficial
- VS Code - beneficial
- Azure DevOps - beneficial
- GitHub - beneficial
Video and audio codecs
- 264/AVC - required
- 265/HEVC - beneficial
- 711 - optional
Open Source and Streaming Technology / Standards
- Live555
- WebRTC
- RTSP
- Chromium
- Media Source API (Extensions)
- ONVIF
Networking
- WebSockets
- UDP and TCP
- STUN (Session Traversal Utilities for NAT)
- TURN (Traversal Using Relays around NAT)
- ICE (Interactive Connectivity Establishment)
Web technologies
- HTTP
- REST
Understanding of video functionality and processing
- Transcoding
- Transmuxing
- Archive playback / DVR
- Metadata discovery
- Pan-tilt-zoom (PTZ)
- Camera pointing and positioning
- Concurrency and threading
- Resource optimization
Exposure and understanding of video market
- Surveillance / security cameras
- Video Management Systems
- Milestone
- Avigilon
- Genetec
- Qognify
Security related
- PKI certificates
- Encryption / decryption
- OpenSSL
Operating Systems and Databases
- Windows
- Linux
- PostgreSQL
Licensing Models
- GPL and LGPL
- MPEG LA
You should be familiar with application development life-cycle models, techniques for identifying problems and following through to resolution, and have excellent communication skills, both oral and written. In addition, you should have the ability to work in a dynamic team focused environment but be self-motivated in order to perform your assignments on your own.
- Bachelor's Degree in Computer Science
- 6 years' experience with technologies listed above
- Master's Degree or an advanced certification is a plus