Full Stack Developer

  • Development
  • London, United Kingdom

Full Stack Developer

Job description


We are looking for a Full Stack Engineer to join us on our mission to change the way $5 trillion a day is traded in the global FX market.


Motivation:

As an organisation we are accumulating ever more valuable data. Recently we have started to invest time in better exposing and explaining this data.

Our new Market Impact Analysis tools have become a key point of reference for our sales team when working with customers to improve their trading experience. Our CEO takes high resolution print outs from it to meetings with potential clients. The underlying data model forms the basis for our recent white paper.


What we expect from you:

  • You will be at the centre of building front end applications for our business
    You should be comfortable engaging with other developers and end-users to scope and refine the products you are building.
  • You will lead our front end application development by example
    We want you to have the proficiency with modern front end development practices to help us to grow this area of our codebase in the right direction.
  • You will have the freedom to decide how things should look
    We expect you to use it!
  • You will need to make changes to data sources as well as the presentation layer
    As such, we expect you to be able to understand and change the server side parts of our application deployment that the front end talks to. These are currently REST APIs written in Java, most often talking to a database (not always SQL).


What you'll work on:

You will join our prototyping team to build monitoring, reporting and business intelligence tools and dashboards.

As you grow more familiar with the server side of our platform, we will support you in becoming confident enough to commit to any area of our codebase.


A bit about our values:

Quality - We have found that a system based on fast feedback cycles is a great way to build a stable, well performing system. To support this we employ an industry leading amount of static analysis, automated testing, automated deployment and continuous integration. LMAX Exchange was an early adopter and continues to be a leader in the area of Continuous Delivery; one of the authors of the book worked for us for several years.

Working collaboratively - Software is not built in a vacuum; people with blended skill sets working together produce the best results. We use practices like collaborative design and pair programming. This allows us to work together on design and implementation. It helps us share knowledge and help new starters get up to speed quickly. It makes us a good team.

For testing we eschew a "throw it over the wall" mentality and developers will write a lot of their own tests (often in collaboration with a test analyst); test analysts are free to do higher value exploratory testing.

Keeping it simple - Modern software systems are very complex. Simplicity helps us build a more reliable, higher performing and easier to support system. We take great pains to understand the problem we are trying to solve, so we can choose the simplest solution.

Always improving - We think we do many things well (many of our team have spoken at conferences about how we build software and handle challenging performance problems), but we recognise that we are far from perfect! We regularly examine our successes and failures to look at how we can improve. We have a generous training budget for our technology staff.

Requirements

We expect you to bring:

  • Experience at implementing rich web interfaces with Javascript, CSS, HTML
  • Familiarity with UI frameworks (e.g. Angular2, React, Vue.js), and when not to use them
  • Capability in core Java
  • Enthusiasm about working in an agile and collaborative environment


We'd be thrilled if you had experience with:

  • Data visualisation tools (e.g. D3)
  • Relational databases
  • Building RESTful APIs
  • Event driven web applications using websockets
  • Javascript test and build automation