What is currying and why use it?

Here at Tes we sometimes use functional programming concepts when they help make our code easier to understand. With around 50 engineers working on approximately 200 microservices it’s important that we make our code as maintainable as possible. One of the concepts that can help with this is currying. The theory Currying means that you turn a function with several parameters into several functions with one parameter. This works in JavaScript because it allows us to create functions inside other functions.


Welcome to my office

We have been inspired by Zapier to collect some photos of where the engineers on our team work. It has been fun sharing and seeing lots of different workspace set ups. Here is our collection so far!


Authentication and Authorisation 101

A few months ago I gave a talk at a Node Girls and Women of Security meetup to share a few things I have learned about authentication and authorisation since joining our Security Engineering team at Tes. This post summarises some of the key points made during the talk, alongside some sketch notes and code snippets from an example app. Authentication and authorisation both relate to the concept of identity.


'With Great Power' - Making security documentation that matters

The Security Engineering team does not exist to check people’s work or to instruct. Instead we are there to engage with our teams of engineers. Bringing information, useful data and tools to support engineering teams in making the right choices for their products.

Come meet STAN, a guide that plays a big part in this.


Watching the Watchmen

Monitoring lets our teams know when something unexpected is happening in our live environment. Our monitors keep watch, so we don’t have to.

However, systems change and so do teams. Information is forgotten, products and services may be handed over to new teams.

The biggest concerns of a year ago may be yesterday’s news. How should we keep our watchmen relevant?


Learning to lead

Things I’ve learnt since becoming a Principal Engineer

At Tes, a Principal Engineer looks after one or more teams of engineers with the aim of helping the individuals grow and to enable the team to work together to develop and support our services. Principal Engineers across Tes Engineering meet every week and are “responsible for the overall health of the engineering team”. Read more about our management model here.


An introduction to AWS Lambda

Phil, a Senior Engineer at Tes, gave a great introduction to AWS Lambdas during our weekly knowledge sharing session. These hour long sessions are meant for Tes Engineers only, but this session contained a lot of useful information that I’m sure is relevant for people outside of Tes as well.


Mentoring for Growth

Mentoring is essential to how we work at Tes engineering. Let’s take a look at at the value of mentoring and ways you can structure a mentor chat.

A mentor offers help in these key areas:

πŸ‘‚ Be a person to speak to and listen
πŸ‘ Offer support and comfort in times of stress
🧭 Help people navigate the organisation
πŸ‹πŸ»β€ Help people grow capability
πŸŽ† Celebrate success!


Interview with James Mundie

Everybody, meet James! He is an Associate Engineer at Tes who loves to climb mountains in his free time. He is also a recent career changer. Learn all about him, his background and his exotic travels in this interview.