Push Technology (www.pushtechnology.com) is trusted by leading brands worldwide to manage and optimize delivery of data around the world to their web, mobile, and IoT application data. Diffusion does the complex work to provide real-time data – reliably, globally, and at scale and speed.
We develop and reward people who have the drive and motivation to make a significant contribution to the continued growth of our business. We hope to provide a culture of accountability, challenge and opportunity and encourage a spirit of collaborative, creative and fresh thinking. We want everyone to contribute and add value by turning their own skills, strengths and interests into results.
We strive to be a place that people want to work and want to work hard. With great benefits and an already impressive international team of Technology experts, we want to bring on new team members that have passion, drive, innovation and leadership, just like our products.
Diffusion is an innovative real-time data platform. Following a recent £10M investment round, the Diffusion development team is growing and there is a wealth of new feature development on the road map.
We are seeking a lead performance engineer to both deliver valuable customer-facing benchmarks and guide the development of our in-house performance testing suite. The ideal candidate will have experience benchmarking Java applications, working directly with customers, leading a team, and developing tooling using Java and/or Python.
The role requires good computer science skills. Diffusion deals with low-level concepts such as sockets, binary protocols, operating system idiosyncrasies, and networking. The performance team is responsible for providing customer benchmarks, testing the performance of Diffusion, and creating and maintaining tools for these outcomes.
If you have the skills, knowledge, and enthusiasm, we will provide a mixture of self-driven and on-the-job training as well as a career mentor to give you the support to succeed and grow.
Expertise with measuring high performance Java software. Expertise with the Java memory model, test creation, and fault diagnosis is a pre-requisite for this role. Exposure to other programming languages is also highly desirable.
The successful candidate will be required to drive performance testing approaches including experimental design, statistical analysis, and evaluation in distributed contexts.
In addition to the above it would be advantageous for candidates to have some knowledge of the following: