Tes Engineering Week 2018

The fact is, it’s just easier to work remotely with people you’ve met in so-called “real-life” - folks you’ve shared laughs and meals with.[^1]

One of the best things about working on a remote team is getting together in real life. Tes Engineering Week happens once a year in October. This year was the second edition after a successful trial in 2017.

Individual teams get together fairly frequently; however Engineering Week is one week in the year when all the engineers come together to bond. This is a significant investment of time and money for Tes but is worth it for both the shared experiences and trust that is established during the week.

Read more...

Automated vulnerability checks and the end of NSP

Exploiting known vulnerabilities is still the number one way attackers compromise a system and is on the OWASP list of the Top 10 Most Critical Web Application Security Risks, so we’ve made automated vulnerability checking an important part of our development flow here at Tes. We’ve been using nsp, a neat little command line tool from the Node Security Platform (NSP), to find known vulnerabilities. All good things come to an end The NSP was recently acquired by npm and has just been shut down.

Read more...

Aligning Divs and Devs: getting a consistent front-end

Imagine discovering your house had subtly changed every time you came home. The cupboard doors open different ways. The light-switches control different lights, and the hot and cold taps in your kitchen swap places. The inconsistency would be maddening – and the same goes for apps and websites. Creating a consistent UI keeps your users sane and orientated. For any product where there are multiple developers, the ideal solution is a shared set of common elements and styles, but this is not simple to achieve.

Read more...

Quick, clean commits with partial linting

Tired of your commits taking >10 seconds? Give this a bash. Linting is great, but no one likes slow commits! At Tes, we use husky to run code when the git precommit hook triggers. Most often, we run npm run lint so that we can catch linting errors before they’re even committed. (We use ESLint for linting.) The problem is that, even when you’re developing microservices, it could take quite a while to lint all the files in your repository.

Read more...

Interview with David Morgantini

David Morgantini is a Canada native living in London, a lover of rock climbing, and an engineer who is truly passionate about helping his team find growth and motivation. He is a graduate of the University of Alberta, and found his love for rock climbing during his second year at university. Since then, the longest he’s gone without rock climbing has been a month. As well as rock climbing, he likes to spend time with his wife, and his two-year-old son Lucas.

Read more...

Remote First in Tes Technology

Working remotely has multiple benefits for the Tes Technology team. These include improved engagement and happiness of our team members, a flexible and dynamic workplace, and the best possible situation for team members to find and decide where/when they can work most effectively. One key challenge for working remotely at Tes is the blend of remote & office workers. This leads to a set of challenges that, were this a 100% remote team, would not exist.

Read more...

Becoming a Next-Level Developer: a Ladies of Code Meetup

A few days before International Women’s Day, Tes hosted the Ladies of Code Meetup group for an evening of talks, networking and community. Three speakers gave advice on how to become a ‘next-level developer’: how to advance your career, become a ‘superhero’ and negotiate your salary effectively in the context of the gender pay gap. While the event was aimed at women, there was sound advice for engineers of any gender.

Read more...

Instrumenting and Observing Microservices Part 2: Are your microservices working together?

If you want to be confident that your users are able to achieve their goals using your service there’s more to do than monitoring the health of individual microservices. You need assurance that your set of microservices are working well together, and when they aren’t, you need the information necessary to fix any problems as soon as you can. This blog follows one Tes team’s mission to better identify and diagnose problems, enabling them to move fast and ship with confidence.

Read more...

Interview with Stefano Ceschi Berrini

I’m Stefano Ceschi Berrini, I’m from Padova (Italy, 30km from Venice) and I’ve been working remotely at TES since March 2017 as a node Software Engineer. I have a degree in Computer Science, obtained in 2007 at the University of Padova and since then I’ve been working with web technologies, from PHP to Java to Ruby to JavaScript. I’m married to Deborah and I have two daughters: Rebecca and Rachele. When I’m not coding and I’m not changing diapers and calming daughters’ crying I usually cook, I listen to Progressive Metal and sometimes I also play my Taylor acoustic guitar.

Read more...

Instrumenting and Observing Microservices Part 1: What do you expect from your microservice?

A friend of mine tells a great story of a team avoiding a great deal of grief. All of their system health checks were green, but the live graph of purchases dropped to zero and stayed there. Despite the many positive system indicators, the team were able to see they had a problem and were able able to react quickly to find and to fix it. It turned out that user purchases was a key indicator of success.

Read more...