Software Developer

Job Specification 

The Company

RT Software is a developer and provider of Real Time graphics products to the broadcast graphics industry. Founded by former BBC developers in 2003, we have over 20 years experience in the broadcast industry. We are involved in leading edge graphics development with main stream broadcasters from around the world. Using in house developed software we provide high end graphics systems, broadcast video at 4k, HD, Stereoscopic 3D, Image analysis, Virtual and Augmented reality, Image Tracking, MPEG streaming and more for all aspects of Broadcast delivery. We utilise advanced specification PC technology coupled with the latest GPU hardware.


The role of software developer at RTSW covers a wide area of software technologies. RT are mainly involved in the design and development of real time 3D OpenGL products, but ancillary to this are such disparate technologies as MultiThreading, Gui Design, SQL/Database, Network and Serial communications, Image analysis, Baseband video, video streaming, web technologies (HTML5, WebM etc), scripting, touch technology, tablet, mobile and so on.

We are cross platform, with products running on Windows, macOS and Linux, and our core products are written in c++. Additionally, we have some web based products, written in HTML/CSS/Javascript.

The successful candidate will work with the existing development teams to design and build new products as well as create new features for existing products. You will be responsible for part or all of  the development cycle from inception through to delivery and testing – often on site.

About You

The Broadcast industry is a ‘Live’ environment. As such deadlines are immovable. You need to be disciplined, have an attention to detail and be agile under pressure. You should be able to work alone or within a team and willing to learn new skills.

You should have a genuine interest in all technical aspects of broadcast and media. You will be from a numerate background. Any experience with Broadcast, Graphics, Virtual reality etc would be an advantage.

As well as development work, you will also be involved in liaising with the support department to solve on site technical issues and resolve bugs remotely, through site visits or at desk.

The Job will involve some travel world wide as well as in the UK.


Responsible to:
Development Manager

Liaise with:
Support/Field Service/Sales  team to ensure smooth handover of software
Development for bug fixing and enhancements/feature requests
Support/Graphics/ team and customers for bug fixing and enhancements/feature requests

Main Tasks of Job

  • Apply good software methodologies and techniques to design and develop software for projects within the development team
  • Provide training internally and externally on newly developed technologies and software
  • Have an understanding of the industry RTSoftware operates in, its competitors products and how their products compare to RTSoftware’s.
  • Use this knowledge to help ensure RTSoftware’s products remain relevant and leading edge.
  • To carry out development work against an agreed schedule
  • To present a professional image to customers at all times in appearance, attitude and work.
  • Research new technologies to enable RTSoftware to maintain it’s leading edge within its industry
  • Provide support to Sales team for pre sales technical support
  • Inform the relevant staff/departments when problems arise that are likely to cause immediate field related issues or when they are likely to affect project time-scales.
  • Attend regular Company meetings
  • Provide reasonable out of hours on-site support under RTSoftware’s general employment rules.
  • Provide scheduled out of hours telephone support coverage as part of the companies out of hours support rota.


At least Degree level in a numerate discipline. Ideally involving graphics, broadcast or image analysis.

Experience/Required Skills

We have a set of ‘core’ skill requirements which you MUST possess and then a set of additional skills that you should have some experience at a professional level.

Core Experience and Skills:


  • Minimum of 2 years commercial development experience in C++ on either Windows, Linux or macOS

Multithreaded development

  • Knowledge of multi threaded models using mutexing/semaphoring etc


  • Good mathematical ability.
  • Knowledge of maths relevant to 3D graphics

Broadcast video

  • High Dynamic Range (HDR/2020)
  • IP Video standards (SMPTE 2110)
  • Video conversion, scaling, interlacing/deinterlacing


  • Both good verbal and written skills are essential for working in a small team, documenting work and in providing support internally and externally

Time Management

  • Experience of working to and setting of deadlines

Cross platform development

  • Particularly Linux and Windows


  • Good mathematical ability.


  • Both good verbal and good written skills are essential for working in a small team, documenting work and in providing support internally and externally

Time Management

  • Experience of working to and setting of deadlines

Preferred Knowledge (some of but not all)

Additional Programming Languages

  • Qt
  • Javascript/Web programming
  • Ruby or other scripting languages

GPU knowledge

  • Shader based development – CgFx/GLSL/HLSL
  • Real time 3D Graphics
  • 3D Graphics API’s : OpenGL/DirectX/Vulcan/Metal
  • GPU Compute API’s : CUDA/OpenCL
  • Intel IPP
  • Experience in programming under Unreal/Unity

GUI Design

  • User Interface Design experience.

MPEG video coding and decoding

  • Video/Audio Encoding and Decoding
  • Web streaming (WebM/VB8/h264)
  • Hardware assisted encode/decode
  • FFmpeg/MainConcept/VDPAU/Matrox or similar

HTML5/Web Streaming

  • HTML5 methodologies – JSON/WebSockets/webRTC/WebGL/H264

Camera tracking and calibration

  • Virtual Reality and camera tracking, Augmented reality and CAVE environments
  • Camera Lens modelling and distortion compensation
  • Camera calibration techniques.


  • SQL
  • mysql

Data communications

  • Network sockets TCP/IP Protocols UDP – Serial data RS232/422/485

Image processing/computer vision

  • OpenCV/Cuda. Understanding of such processes as Hough Transforms

Advanced Mathematics for Imaging and Graphics

  • Higher level maths using such techniques as  Least Squares, Binomials/Polynomial Curve fitting, Adaptive Filtering, Modelling, Spatial Geometry, Matrix manipulation digital algorithms etc.