Debugging is the process of diagnosing why a software system fails to behave correctly. As with medical diagnostics, oftentimes finding the cause for illness is the hard part, while offering the treatment requires much less work; there can be many reasons why a patient is suffering from headaches, but…


Introduction

Containers make CI much more manageable: reproducible, isolated build environments that create portable and predictable deployment artifacts. Continuously delivering containers to production turns out to be quite a difficult problem which we call collectively container orchestration.

What do we need for continuous delivery? An automated and safe way of…


A first dip into DIY static code analysis

Photo by Barn Images on Unsplash

One of the special things about software engineering as a profession is the possibility of ars-poetic work: part of our work is building tools that target our own work; perhaps a few surgeons around the globe can design and meld their own scalpel, but for software engineers building our own…


Photo by NeONBRAND on Unsplash

The DRY principle is probably the first software design concept you learn when you start coding. It sounds very serious and convincing, after all, it has an acronym! Furthermore, the idea of not repeating ourselves deeply resonates with the reason many of us enjoy programming computers: to liberate us from…


Apache Spark Logo, source: Wikimedia commons

Apache Spark provides a very convenient abstraction layer for building distributed applications that process massive amounts of data. …


This tweet from Gwen Shapira is the origin story of this post

Here’s a common scenario, if you’re a cutting edge shop: you early-adopt new infrastructure technology, it is awesome and gives you new capabilities, but there’s no obvious way to integrate it with the rest of your workflows, so…


A taco emoji + a beer emoji + a nerdface emoji, technex.
When you let engineers design logos for internal meetups.

Introducing TechNex, Nexar’s internal R&D Meetup

One of the things I like doing most as part of my job at Nexar is hosting TechNex, our internal, bi-weekly R&D meetup. …


Service Taxonomies and Platform Level Metrics

It is today easier than ever to generate a lot of observability data (metrics, logs, and traces) from your applications and forward it to a central location where you can efficiently query it. However, systems can still get pretty hard to reason about. …


As your software-organization grows it becomes increasingly harder to coordinate work.

Let me try to illustrate this. Let’s say you are working on a new workflow that requires you to send push notifications to some clients of your mobile app. Another team is maintaining the OutboundMessagingService , a microservice written…


Reading and writing TLV-encoded messages with Go

Recently, I’ve worked on implementing a high-throughput networking component at work. In an effort to conserve CPU time and reduce payload sizes, this service is using a binary encoding as the wire format. An attribute of the protocol we were implementing was that…

Rotem Tamir

Platform Tech-lead at Nexar

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store