Published inOutbrain Engineering·Just nowHow We Automated Cross-Organization Tasks at Outbrain“[Action Required] upgrade log4j to log4j2 — Please upgrade all your repositories and make sure your services are functioning properly after the upgrade’’. This is one example of a cross-organization task we had a few years ago that was managed via email and sync meetings. To tell the truth, managing…Task Management Software5 min readTask Management Software5 min read
Published inOutbrain Engineering·Jan 11, 2022Keeping Dependencies Up To Date with Maven-Centralized Dependency ManagementNormally, when you start a project, you set your required dependencies up with the latest stable versions of all libraries and plugins. Then time goes by, the project grows, and new features and libraries are added. …Maven5 min readMaven5 min read
Published inOutbrain Engineering·Dec 13, 2020Faster release with Maven CI Friendly Versions and a customised flatten pluginFed up with waiting for the maven release? We’ve found a way to cut the release time by half. Each of our teams at Outbrain is responsible for its own service code in its own repository. However, our teams also share a large Maven-based repository that contains modules (libraries) that…Maven Plugin5 min readMaven Plugin5 min read
Published inOutbrain Engineering·Jun 14, 2020Mono-repo vs Multi-repo vs Hybrid: What’s the Right Approach?I still remember my first day at Outbrain. As part of the Bootcamp (training program), we were required to clone the code from a repository called the trunk (one monolithic repo that contained all our codebase). It took at least half a day to clone and build the whole source…Monorepo6 min readMonorepo6 min read
Published inOutbrain Engineering·Oct 21, 2019Oh my Guava! We are moving to Caffeine.Caching is extremely important! It provides fast response time, enabling effortless performance improvements in certain use cases. At Outbrain, we have recently moved to Caffeine caching, after having used Guava in-memory caching for many years. Background Caffeine library is a rewrite of Guava’s cache that uses a Guava-inspired API that…Software Development3 min readSoftware Development3 min read
Published inOutbrain Engineering·Nov 25, 2018CodinGame — The key to creativity and happiness in a developers life“Keep a developer learning and they’ll be happy working in a windowless basement eating stale food pushed through a slot in the door. And they’ll never ask for a raise.” — Rob Walling (https://robwalling.com/2006/10/31/nine-things-developers-want-more-than-money/) The past decade has produced substantial research verifying what may come as no surprise: developers want…Kotlin6 min readKotlin6 min read
Published inOutbrain Engineering·Nov 8, 2017Keep Bugs Out of ProductionProduction bugs are painful and can severely impact a dev team’s velocity. My team at Outbrain has succeeded in implementing a work process that enables us to send new features to production free of bugs, a process that incorporates automated functions with team discipline. Why should I even care? Bugs happen all the time —…Bugs5 min readBugs5 min read