Distributed Systems, Docker, and Developer Experience

Discover how Docker enhances Developer Experience (DX) in developing distributed systems and why it has become a popular choice among developers.
Microservices: Synchronous communication with gRPC

Describing synchronous communication between microservices using gRPC, discussing highlights and challenges, and showing a simple example written in .NET 6.
MMA, MTG, CS:GO… Lukas’ life in abbreviations

Lukas, another developer, hailing from Matfyz. Why does he enjoy what he does at Mews? What is his most expensive MTG card? And what’s Angel’s Share?
Is Entity Framework Hurting Your Database Performance?

Learn how Entity Framework might be hurting your database performance and what to do about it.
Linqpad – the virtual scratchpad you never knew you wanted (until now)

A virtual scratchpad should be every dev’s best friend, and linqpad might be just the right tool for the job.
Understanding index fragmentation in SQL Server

Dealing with index fragmentation in databases has been a contentious topic in the SQL Server community. Here’s our take.
Increasing payment terminal performance with optimism

How we used data and optimism to increase the performance of our payment terminals by over 90% and nearly eliminated all waiting time.
Do you understand your own code?

At Mews, we’re all about writing code that’s easy to read, understand and consequently maintain. So, while we could probably write our open source libraries faster than we do, we take a little extra time to invest in our future. In this blog post I’ll share with you a couple of things that help us […]
C# Static Constructor Performance Mystery

We like functional programming a lot at Mews, and one of the most basic and mundane, yet extremely powerful concepts is Maybe monad. Maybe is called Option in FuncSharp, which is the functional programming embodiment of our choice for C#. Option and its Map method, which is basically a projection of an option’s value (if […]
C# code style by EditorConfig in .NET 5 SDK and beyond

In this article, I’ll help you understand how to ensure modern C# code style with .NET 5 SDK and EditorConfig. It will save you hours of reading documentation and GitHub issues. Basically, it’s an article I would have liked to read when I first started building our .editorconfig for .NET 5 in Mews. What is […]
Types First

Have you ever come across a piece of code wrapped in seemingly random validation conditions?
How has Mews made me a better developer (even before I joined)

“Well, this is interesting!” I silently uttered to myself as I was digging deeper into a topic that now, after the experience, I think anybody who’s serious about software development should learn. Yet, if it wasn’t for my interview at Mews, which incentivized me and inspired me to learn the topic, I probably wouldn’t learn […]
How we selected infrastructure as code tool that is the best fit for us

Why define infrastructure through code? There is a lot of chatter lately about infrastructure as code in the Cloud engineers/DevOps community, but one should not get hyped up about the latest technology/framework/library and invest time and resources into it right away. That could easily turn into a huge waste of time when you realize after […]
Declarative Infrastructure as Code with Pulumi

Infrastructure as code (IaC) has been a big project for us recently, and we clearly saw the benefits it would bring. These benefits include applying our existing review process to our infrastructure (not just to the application code); using languages, tools, and build chains that we already know; and allowing for scenarios that are difficult […]
Beaches, Beers, Archaeology, and Changing Careers at 30

If you’re living in Prague and you know an American, they most likely came over to teach English. However, not many of them stick with it for too long, and that’s the story for Tim. Surprisingly, after his short-lived English teaching career, Tim’s passion for archaeology got him interested in programming and computers in general. […]
Standa: fan of Bob Dylan, algorithmic randomness, and Calvin Coolidge

The 30th US president, Calvin Coolidge, was known to be a man of few words. Luckily, that wasn’t the case with Standa during our interview. We covered everything from the hard life of a PhD student and changing musical taste to a recently developed passion for road bikes. Standa gave us some tips about where […]
Are we migrating to microservices and should you?

“Should we migrate from monolith to microservices?” That’s the inevitable question most scaling companies ask these days, including Mews. Looking at the state of the art, one might rephrase Dan Ariely’s quote about Big Data to microservices. Microservices are like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks […]
Pair programming in the Payments team

A few months ago, we had a discussion about problems that members of the Payments team face. We identified knowledge sharing as the main problem: the Payments team takes care of payments, obviously, but that means communication with payment service providers, card tokenization, payment automation… And it’s not just a complex domain, but also an […]
TechUncovered: Backend

TechUncovered: Backend happening at the beginning of December 2020 was the 4th event of our TechUncovered series. With this series we aim to bring insights from engineering leaders of tech companies that already passed the initial startup phase. The previous events covered following topics: Scaling tech teams with Mews, STRV, Productboard, SCS Software & […]
Composition over inheritance: road to algebraic data types

How many times have you worked with inheritance hierarchy, which was almost impossible to change? Which made you feel like you are not the one in control, but just plugging bits and pieces into this big colossus? If you make living out of programming for some while, chances are you have experienced this more than […]
Learning is good: no matter if it’s management, piano or F#

I was really looking forward to interviewing Pepa one day. I had observed him for months, almost like David Attenborough observes emperor penguins mating in Antarctica. And, indeed, he is a unique species. Talking to him, you wouldn’t think that he was born after the Czech hockey team won the gold medal at the Nagano […]
FSharpPlus: Advanced FP concepts in F#

Many developers who discover F# as their first functional language are amazed by features such as algebraic data types or immutability by default. However, this is not the end of what FP has to offer, but mere beginning. In the talk I gave at F# Online Meetup, I presented more advanced concepts of functional programming […]
Amsterdam: the city of… .NET talks

The fear I hate flying. Even though it’s said to be the safest method of transportation, my fear of heights, fear of speed, and claustrophobia don’t really make it feel that way. And if something goes wrong, you’re doomed. Sooner or later, everybody found out about me and flying. Some were a bit surprised, especially […]
Functional programming in C#

On February 17 2020 I gave a talk at .NET / dotnet Amsterdam meetup. In this talk I slowly incorporated the main benefits of functional programming into C # with a much easier learning curve to functional concepts opposed to starting in purely functional languages as an OOP programmer. Check my slides, and read more […]
Classic cliché: computer nerds. If you thought they were extinct, think again….

For the first time in the short history of the Meet MewsDevs interview series, I decided it would be a good idea to interview two people at once. Alexander (frontend dev) and Vaclav (backend dev) have a lot in common. They both study at Charles University Faculty of Mathematics and Physics (Matfyz), live in the […]
Automated zero-downtime migrations

Mews is used by hotels all over the world in various time zones leaving us with no room for maintenance downtime. This fact and our aim for continuous deployment left us no other choice than zero downtime deployments, as having even short outages is obviously not an option. However, these non-breaking migrations are executed manually […]
Meet the MewsDevs – Jarda

Over the years working closely with our development team I’ve realized that I am surrounded by people with such random and extraordinary natures that it would be a shame if we didn’t tell the world about them. You are reading the first piece of what we envision as a series of Meet the MewsDevs interviews. […]
Direct printing in a cloud application

Having a cloud solution is really cool, you can access the system anywhere and from any device – notebook, mobile or tablet. There are other advantages, like working remotely without boring settings and using a VPN to access your company network. Everything seems to be going great until you need to access local devices from […]
Continuous delivery of release notes

In Mews, on our journey towards continuous product delivery, we faced an unanticipated, but really important issue for our customers; promptly informing them about updates and new features of the system, also known as “release notes”. Solving this became a precondition for us going full steam ahead with continuous delivery. With a few deployments a […]
Zero downtime deployments with EntityFramework

Mews is used by hotels all over the world in various time zones leaving us with no room for maintenance downtime. This fact, and our aim for continuous deployment left us no other choice than zero downtime deployments, as having even short outages is obviously not an option. Our application uses Entity Framework with code […]