Fullstack Job: Senior Fullstack Developer - Opto

Job added on

Company

CMC Markets

Location

London, England - United Kingdom

Job type

Full-Time

Fullstack Job Details

What is OPTO?
OPTO is a retail investment App, designed to help users invest in the trends shaping our collective future. Through the combination of thought-leadership content and proprietary research, we help users identify the right long-term investment for them. OPTO is set to launch in January 2023, but this is just the beginning, with further product iterations and regional rollouts on the horizon, we’re just getting started.
Why do we need Fullstack Developers?
Our application is made up of frontends, backends and infrastructure. We believe that if we have engineers who are capable of working on all three then the end result is a much more cohesive application that is easier to evolve and maintain over time. We encourage all of our developers to get involved in all aspects even if they've only ever worked on one of them in the past.
We don't want to put people into boxes and limit their ambition or creativity, our goal for our engineers is to help them towards reaching their potential. We believe we can do this by providing the freedom to try new things, learn new skills (from formal training and collaboration) and get things wrong a few times before getting them right (without upsetting our customers!).
We have a sack full of ambition and a backlog full of ideas to make our vision of empowering customers to financial wellness a reality. We also have the desire to make the engineering team a great place to work; where people are encouraged to use their skills and experience and to work together to create something incredible.
Below is what you can expect from working in the OPTO engineering team in various areas.
Frontend
Whilst our customer-facing application is a cross-platform Flutter mobile app, all our back-office / administration frontends are browser-based.
Our frontend developers are responsible for creating and maintaining all of these types of frontends, ensuring that our application remains consistent across different functions and devices.
Fundamentally our frontends represent the tip of the iceberg that our users interact with, it is the forefront of where we seek to be better than our competitors, but it's only successful if it works perfectly with our backend.
Backend
At the heart of the OPTO applications is our API, built on AWS using as much of AWS's broad range of technology as we need to deliver the experience our customers require. Our APIs are built to agreed contracts for both the applications that consume it and the downstream systems which it utilises.
Our modular approach to architecture and fail-fast philosophy allows us to spin up new APIs very quickly to test out new ideas or new technology. By using feature flags, we can test out these new APIs in production to see if they bring the benefit we expect. If they do, great, we make them even better. If they don't, no problem. We tear it all down, document our learnings and move on to the next idea.
Fundamentally our backend engineering turns our prototypes into reality, taking (sometimes ambitious) requirements and turning them into real working functionality.
Infrastructure
The vision for our development lifecycle is to create an environment where engineers are empowered to build investment functionality that our users desire with the least amount of technical barriers as possible. Creating desirable functionality requires the ability to very quickly iterate over ideas and feedback from users. Our infrastructure and tools facilitate this by providing easily repeatable patterns, templates and workflows that can be used without requiring hours of training.
This means that all our developers can create and maintain infrastructure without needing hours of AWS and Terraform training. With minimal effort, we can add new systems, endpoints or databases into production in minutes.
What do we expect from a Fullstack Engineer?
On a daily basis, you will:
  • Build web-based frontend features to support our cross-platform mobile application
  • Design and code components and add them to our component library
  • Build APIs that are deployed into AWS which meet agreed interface contracts
  • Review system designs and prototypes and work with frontend and downstream developers to create API contracts
  • Evaluate new technologies that can be used to provide better customer value and experience
  • Constantly monitor and improve APIs, fixing issues as soon as possible
  • Be part of our build-and-run team, joining our on-call rota helping ensure the product is always performing at its best 24/7
  • Provide a high standard of documentation to enable knowledge sharing
  • Have the opportunity to demonstrate the work you have done to technical and non-technical stakeholders
  • Help to refine customer journeys and requirements for new features
  • Work with product and design to create high-fidelity prototypes of potential new functionality
  • Manage your own work, keeping boards up to date and attending standups
Key Skills & Experience
We are looking for someone that can demonstrate:
  • Hands-on front-end development and delivery experience over a mix of languages and technologies.
  • You’re familiar with product and design lifecycles, and collaborating closely with designers, engineers, and product managers
  • Experience with using backend APIs and optimising frontend performance
  • Experience contributing and working with shared code libraries
  • Passion for helping users succeed in their goals through the features you build
  • Strong communication skills and an ability to take ownership of tasks and gather requirements
  • Ability to solve complex coding challenges around performance and reusability while continuously improving code quality with a TDD approach
  • An interest in learning new skills and collaborating on new technologies
  • Source code and application versioning
  • Tech stack includes: TypeScript/JavaScript, Jest, AWS (Lambda, DynamoDB, S3, etc...), GitHub
Useful Skills or Interests
Any of these are a bonus, but not necessary to start the role as you'll pick it up as you go.
  • Flutter app development
  • Native app development; Android or iOS
  • Infrastructure as code (Terraform)
  • Trunk based development
  • Open Source contributions
  • Financial Services (or another regulated industry) experience