Senior Frontend Software Engineer
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, Forbes, Lyft, and DigitalOcean rely on Tray.io to connect and automate data flow between the tools they use every day. With Tray.io’s 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.
As a Frontend Software Engineer in the Tray.io Workflow Builder team, you will be responsible for 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.
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.
* 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 are building our 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.
* BS degree in Computer Science or in a related technical field, or equivalent practical experience
* Experience with CSS and CSS Pre/Post processors (PostCSS, Sass, Less)
* Experience with client-side testing (we use Jest + Enzyme)
* Experience working with multiple stakeholders (design, product, internal customers) to iterate upon ideas
* Strong working knowledge of React and Redux
* Expert knowledge of data structures and algorithms
* Experience monitoring production web services (we use Prometheus and Grafana)
* Knowledge of PWAs and Accessibility
* Experience designing and documenting companion APIs for single page apps (we use GraphQL and Go)
Our current tech stack: