Position: Software engineer with video streaming
Company: Data Science UA
Category: C++
Experience required: 3y
English level: intermediate
Published: 2022-09-01T00:00:00+03:00

Our client and partner is creating a platform of streaming immersive 360-degree video. We are looking for a professional software engineer for them to execute complete development cycle of video pipeline processing. The video pipeline will be running in cloud infrastructure and/or in embedded environments. The video pipeline should provide smooth streaming experience from 360-degree camera device (capturing device) to the VR headsets (rendering device).

**Company**
US-based startup company with Ukrainian roots, building audio/visual teleportation platform based on abilities of 360-degree video and VR technologies. Future services of the company will be focused on enabling people world-wide to share their experience using rich media format.
At the moment, the company contributes technology and expertise to several government non-profit projects (Ministry of Defense, Culture, Foreign Affairs, etc.) to enforce Ukraine defense capabilities and position in the global arena. Management and primary research and development offices are in Kyiv, Ukraine.

**Project**
Immersive 360-degree video streaming platform. Customers use it to create and share immersive video experience for education, defense, and business purposes.

**Team / Your role**
You will work in a team with embedded C and cloud developers to deliver an innovative platform of video streaming. This project allows to design and develop top-notch VR system from the scratch.

**Responsibilities and Duties**
- Design and implementation of cloud-based and embedded video streaming solutions using C++.
- Maintenance of streaming solutions for 360-degree cameras and VR helmets.
- Develop, code, test and debug the software.
- Review code, design, and architecture.
- Profile and enhance efficiency, stability and scalability of the resources and runtime.
- Ownership of the video pipeline processing of the platform.
- Lead and drive video pipeline processing development.
- Ability to iterate quickly and produce business value.

**Qualifications and Skills**
- Software engineering excellence.
- Solid development experience with C++ programming language both x86 and ARM architectures.
- Knowledge of common video streaming protocols – MPEG-DASH (LL-DASH), HLS (LL-HLS), WebRTC, RTP/RTCP/RTSP.
- Knowledge of video codecs – H264, H265, H266, AV1.
- Knowledge of API OpenGL and Vulkan.
- Knowledge of video stitching, scene detection 3A (AE, AWB, AF), HDR.
- Practical experience of OS coding, GPU programming, IP protocols, interfaces, and hardware subsystems.
- Understanding of UNIX and Android environment.

**Nice to have**
- WebXR and/or OpenXR application interfaces.
- Understanding basics of audio encoding.
- Knowledge of C/Python.
- Experience with media frameworks like FFMpeg, GStreamer, libvlc.
- Video quality measurement metrics and tools.
- Video AI and video analytics.
- Video quality measurement metrics and tools.
- CI/CD.

**We offer**
- Competitive salary and perks; annual satisfaction survey and performance review.
- Paid vacation and 100% paid sick leaves.
- Work in a creative friendly environment using cutting-edge technologies.
- Remote job bonuses.
- Ownership, ability to build platform from scratch.
- Technical and product leadership opportunities.