Maven Build Cache Extension

At Meltwater, our teams have the flexibility to select the programming languages that best suit their needs. With many options available, JVM languages have emerged as a popular choice.

For managing JVM projects, some teams opt for Gradle, my team prefers using Maven as a project management tool.

One of the features that Gradle has been offering for years is build caching, which we, as Maven users, were envious of until Maven released the maven cache build extension in version 3.9.0 as of June 2023.

The Maven Build Cache Extension is a tool that helps to improve build efficiency by reusing outputs that were generated in previous builds. This cache system stores build outputs either locally or remotely. When inputs have not been modified, new builds can retrieve these outputs from the cache. This approach saves time by avoiding the regeneration of outputs, resulting in more efficient and quicker build processes.

In this article, we will explore the benefits of using the extension and how it can be integrated into a CI/CD pipeline. I have also created a github repository for a sample remote server and application, which I will refer to below to explain the actions and concepts.

Remote Ensemble Programming at Meltwater

Ensemble programming at Meltwater

Ensemble programming (also known as mob programming) is by now a well known practice for collaborative software development. As remote work becomes more common, ensembles face a new set of challenges.

This post describes some of the practices that has evolved over a few years of remote ensemble programming at Meltwater.

Innovation Unleashed: Inside Meltwater's Global Hackathon

At Meltwater, several times a year, our global engineering team participates in an exhilarating 3-day hackathon. This event, conducted in a hybrid model, invites every engineer, regardless of their location, to bring forth their innovative ideas, and collaborate from their home office or on-site at their local office.

Embracing Neurodiversity in Software Engineering Teams

In today’s rapidly evolving tech industry, embracing neurodiversity can unlock the potential of employees with Autism Spectrum Disorder (ASD) and Attention Deficit Hyperactivity Disorder (ADHD), leading to increased innovation, productivity, and collaboration. In this blog post, we’ll delve into the unique strengths and challenges of ASD and ADHD employees in software engineering teams and share actionable strategies for fostering an inclusive work environment that celebrates neurodiversity.

Promoting replica shards to primary in Elasticsearch, and how it saves us $12k during rolling restarts

Promoting replica shards to primary in Elasticsearch

At Meltwater, Elasticsearch is at the heart of our product - we’re constantly looking for ways to improve our usage of it and make it more performant. Recently we noticed when doing a routine rolling restart that the first backup taken after the restart took up to 7 hours instead of the normal 30 minutes. We also noticed that our snapshot storage suddenly increased in size by about 500TB. Elasticsearch performs incremental snapshots to only upload newly indexed data so both these observations were unexpected. There should have been no sudden change in the data caused by the restart. We took a closer look at this and were able to figure out what the problem was.