Tray.io Backend Engineering

Product & Engineering
Building Tray.io
Published in
3 min readSep 8, 2020

The backend engineering team at Tray is unique. Our product is exciting, complex and allows for infinite use cases. The team members responsible for building this platform are creative, solution driven and thrive off of continual learning. One of the special things about this team is how friendly each member is and how well they work together. Below you’ll hear from Ali Russel, Co-founder and CTO and Alberto Giorgi, Director of Engineering and R&D. They provide an inside glimpse as to what working on the backend team is like. I’m sure you’ll enjoy their discussion!

1.) Describe what it’s like to be a backend engineer at Tray.io?

Ali: Backend Engineering is certainly a challenging and interesting area of the company. The platform itself is pretty huge, with many different services. I think the main thing that comes across from a backend engineer perspective is that there is so much scope to learn and grow but also help solve problems across the board. Building a very complex platform and complex systems. There are all sorts of challenging problems, the main theme is that we are not solving one particular use case or one particular situation, there’s hundreds of thousands of cases we come across all the time.

Alberto: Yes I see that, it’s all about building the platform, and really giving the opportunity for people to engage in this wide and distributed architecture, people often tell me that they love working with an event driven and microservices based architecture.

Ali: If you break down the platform into its components and parts, you will see that it’s a distributed and high level processing stream-based platform, with lots of different challenges. The stack is pretty interesting, we use all different kinds of modern services: Kinesis, Kafka, ElasticSearch, DynamoDB, and many other AWS services. Scala is a very prevalent language in our platform, but we are also language agnostic at Tray, we like to see what tools suit the job, and dip into other languages, for example TypeScript and JavaScript which add a bit of variety to the role.

Alberto: The languages that are most used at Tray are Scala, Python, Typescript, with many others. We always strive to use the best language for the task. If it’s a language we don’t know then we are open to investigate that as well.

2.) Why do you think this is such a special place to work?

Alberto: For me it was very special to see that we had clearly defined values from the beginning. Our values of being service driven, honest, and our focus on fostering a safe space for all Trayers to enjoy and also to feel empowered to do their best work. Also, over time we were able to create an amazing progression framework where people can grow in their careers and be the best they can be according to their inclinations and their chosen career path. For me, this was one of the main reasons that indicated how our engineers would enjoy being here.

Ali: I’ve always been with the philosophy from a culture point of view that people who are happy are more productive and if they are productive then they are happy and that kind of circle so we always wanted to create this environment where people feel fulfilled, trusted, and valued. And that’s sort of the key to our values….to make people feel heard and that they have a voice, can have fun and can actually enjoy their work.

Alberto: We were able to structure our teams to create very individualized goals and establish an OKR system where people can focus on what matters the most, and at the same time they can work on side projects and other initiatives that they really enjoy, so there is a good balance between focused work and assigned tasks.

--

--