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.

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.

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.

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.