I joined TES 3 months ago and in that time have been reflecting on some things I have learnt - raising good PRs is one of them. My prior experience is using trunk based development, where everyone on the team commits to the master branch.
I work in the Security Engineering team now and we use PRs a lot, which was new for me. One of our responsibilities in the team is to look after the AAA services.
Read more...
At Tes we have a weekly knowledge sharing session. As part of this, Rouan recently shared some tips for how to get started with contributing to open source projects.
Turns out, it’s easier than you might have thought. Even better, you can probably do it as part of your daily work! In his presentation Rouan also explores reasons for contributing to open source and gives examples for how he got started.
Read more...
My colleague, Federico, and I have done a lot of pair-programming recently - remotely, of course.
He’s in Milan and I was working between the UK, Germany and Singapore.
We tried several different tools, so I thought I’d write a review of our experience.
Read more...
Here’s a real life tale of how we used Application Monitoring, Observability and Graceful Degradation to be able to ship
fast but also catch and fix mistakes without letting our users down.
In it we take a look at safe failure states and complementing metrics with supporting data and how we use them to solve real issues.
Read more...
Looking for a library that helps you to serve up dynamic forms based on your own schemas?
Tes engineers recently open-sourced rolling-fields, a simple library that dynamically generates fields for your form on-the-fly.
Read more...
Observing what happens when your users interact with your software keep you from disaster, allowing your users to keep working and you to keep shipping.
At Tes we capture what happens when our users interact with our services. We set expectations on outcomes. This means we know when our users can’t reach their goals. It also means we can act fast to fix problems.
In this blog post I’ll show how alerts help with this and how we make this a team-focused activity.
Read more...
This May I was lucky enough to attend the J on the Beach conference, in Marbella, Spain. The event is able to (just about truthfully) advertise itself as ‘on the beach’, but given the proliferation of ‘data’ and ‘DevOps’ conferences, did it stand out? Did it succeed in its aim of unifying us all around Big Data? And, most importantly, what does the ‘J’ stand for?
Read more...
A sense of separation has sometimes existed between Security and Development, as though the two are not inherently connected. Security considerations have always fed into the way we work at Tes, but without the right connections it can be easy to end up viewing security as an impediment to speedy delivery or vice versa.
We started a Security Engineering team (‘SecEng’ if you like) to bridge this gap and ensure our engineering teams see strong security in data handling as critical, and crucially, something firmly within reach.
Read more...
Before introducing async-define, I’d like to give some context to explain what problem it solves and why we have to deal with these kind of problems at Tes.
micro-services integration One of the most important decisions we had to take when designing our micro-service architecture, is how to make micro-services work together. This is a particularly tricky choice, because you should choose a pattern that allows micro-services to be shipped independently and create the least amount of friction between services (and teams as per Conway’s law).
Read more...