Frontend Software Engineer

Tray.io ,
London, Greater London

Overview

Job Description

Tray.io is ushering in the era of the automated organisation We believe that any organisation can and should automate. With Tray.io, citizen automators throughout organisations can easily automate complex processes through a powerful, flexible platform, and can connect their entire cloud stack thanks to APIs. Today businesses like IBM, GitHub, Reddit, npm, Lyft, and Digital Ocean rely on Tray.io to connect and automate data flow between the tools they use every day. With Tray.io visual workflow builder our customers create automations to drive their business processes without writing a single line of code. Our challenge is to build a cutting-edge product that is powerful and complete while also being beautiful and easy to use. You'll contribute directly to this mission with a team that fully supports you to do your best work. You'll join humble but fiercely ambitious people like yourself, who also take great pride in what they do, working in a culture built on friendship, transparency, and above all, looking out for one another. You'll have endless opportunities to learn and grow professionally in a fun, fast-paced, and open environment. Plus, you'll get to make your mark at a rapidly-growing company positioned to completely reinvent a multibillion-dollar industry. "With Tray, we have a group of experts who can help us explore all the possibilities we haven't even thought of yet." -Mike Atwood, Executive Director, Client Success / Vox Media "I can't emphasize enough just how good the Tray folks are at what they do." -David Dorman, Director of Growth and Demand / DigitalOcean Your mission As a Frontend Software Engineer in the Tray.io Workflow Builder team, you will contribute to designing, building and running the fronted software which enables users to visually create connectors integrations and automations that can run reliably and at scale. The Builder is a core component of our Platform and provides a visual way for users to construct and configure complex business automations that route data between different web-based software systems. Our software is used by hundreds of different customers including world-class technology companies. You will be working as part of a friendly, cross-discipline agile team who help each other solve problems on both server and client side. Quality is a primary concern, and we test our code at multiple levels with QA and Product Owners embedded within each team. We use a range of technologies to get the job done: Babel (ES6) coupled with Webpack, React, Redux and most.js provide a modern, easy to use Javascript toolchain. LESS is used for styling and our APIs are built on top of Scala Play with Go powering some of our custom services. Ideally, you will be an experienced, hands-on developer who has shipped large-scale single page web applications in the past. You will be a forward thinker who can balance day-to-day pragmatism with an eye for future growth of our platform. Responsibilities: * Continue the development of the Tray.io Builder - We are always improving and redesigning its core features and ease of use. We are currently overhauling the real-time logging system, looking into better user interfaces for data-mapping, reviewing the properties panels or many other usability improvements. * Improve code correctness and stability - We always want to ensure that our codebase is easy to modify while maintaining correctness and stability of the application. We are currently improving the automated test coverage, and introducing automated testing and linting processes directly into our local git workflow, and adding a type-safe level like Flow or Typescript over our codebase. * Deliver a fail-safe user experience - The Tray.io Platform is a distributed system that runs billions transactions per month, on the frontend we need to ensure the user has a good experience in all intermediary or failure states, and the current status of all their jobs are well communicated. * Help with the migration to GraphQL - We have started building newer services using GraphQL/Relay.js, and intend to migrate our entire API in the future, meaning we will have to adapt and write new code for a GraphQL frontend. * Improve application performance - At Tray.io we believe speed is a feature and appreciate constant efforts on improving perceived and actual performance in our application. Minimum qualifications: * BS degree in Computer Science or related technical field, or equivalent practical experience. * Strong front-end skills (ES6 JavaScript, CSS) with experience working with JavaScript/TypeScript on large Single Page App codebases. * Experience with CSS and preprocessors such as LESS & SASS * Experience with client-side testing (we use jest + enzyme) * Experience working with multiple stakeholders (design, product, internal customers) to iterate upon ideas. * Knowledge of data structures and algorithms Preferred qualifications: * Working knowledge of React and Redux * Experience designing and d