Links list - 2022-04-30

Hello, and welcome to a new edition of Links lists! C++, Rust, Kubernetes and careers this week!

Coding

Optimizing C++ std::sort at Google scale

The algorithm in the STL of C++ are very powerful and very widely used. This article is a very in-depth look at how and why Google modified the implementation of std::sort. The changes have been merged in LLVM and will be available to everyone soon.

Changing Std::sort at Google’s Scale and Beyond

TL;DR; We are changing std::sort in LLVM’s libcxx. That’s a long story of what it took us to get there and all possible consequences, bugs you might encounter with examples from open so…

Rust

I (unfortunately) haven not written much Rust, but I belive it is a very interesting programming language. Here is an example of the newtype pattern.

Rust Traits and Dependency Injection - Julio Merino (Jmmv.dev)

Dependency injection is one of my favorite design patterns to develop highly-testable and modular code. Unfortunately, applying this pattern by taking Rust traits as arguments to public functions has unintended consequences on the visibility of private symbols. Let’s look at why and what we ca…

Infrastructure

Kustomize

A tool I have recently discovered is Kustomize, which is actually a part of kubectl. I’ve found the following slide deck to be very clear in explaining how it works and what problem it solves.

Careers

There was a time when, after being a senior engineer for a few years, the only realistic next step in your career was to become an engineer manager. Which is not ideal, because you end up with one less good engineer and (often) with a bad manager - as the two jobs require widely different skills, and few people excel at both.

Luckily, in the past few years, the individual contributor path is something that has become pretty common. It allows great engineers to keep on progressing on and become technical leads, staff engineers, principal engineers, and so on. Here are a couple of links on the topic.

The different career paths

A good explanation of some of the possible career paths after senior engineer. The terminology used in this article is quite common, in my experience.

Career Growth: What Paths After Senior Engineer | Code Capsule

An exploration of the possible career paths for senior engineers, and what it takes to get there.Continue reading…Career Growth: What Paths After Senior Engineer

The difference between technical lead and engineering manager

A short, but well written example of the different responsibilities between an engineering manager and a technical lead.

Are You Asking Too Much From Your Team/Tech Lead?

Expectations for a technical or/and a team leader