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.

Overview

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 thru 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.

Relationships

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.

Education

At least Degree level or about to graduate 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 exposure too. For example as part of a Thesis or term project.

Core Experience and Skills:

Operating systems

  • Linux or Windows using Visual Studio

Programming

  • Experience in c/c++ under MSVS2010 or Linux

Multithreaded development

  • Knowledge of multi threaded models using mutexing/semaphoring etc

Cross platform development

  • Particularly Linux and Windows

Maths

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

Communications

  • 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)

Experience

  • One year work experience, but graduates will be considered.

Operating systems and Development Environments

  • Windows using Visual Studio
  • macOS using XCode
  • Linux

Additional Programming Languages

  • Javascript
  • Ruby or other scripting languages
  • C#

GPU knowledge

  • Shader based development – CgFx/GLSL/HLSL
  • Real time 3D Graphics
  • OpenGL/DirectX
  • CUDA/OpenCL/GPGPU/Intel IPP
  • Experience in programming under Unreal/Unity

Broadcast Baseband video

  • Broadcast video standards (SDI/HDI Interlaced and progressive)
  • Video conversion, scaling, interlacing/deinterlacing
  • Software based Video slow motion techniques
  • Video integration – DVS/Matrox/AJA etc
  • Video ancillary data – ANC/Audio/Timecode

GUI Design

  • Using QT4/5 gui builder.
  • QT5

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

Databases

  • 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.

Contact – careers@rtsw.co.uk