On Being A Senior Engineer

#593 – September 22, 2024

There are not many modern books about being good senior engineer

On Being A Senior Engineer
26 minutes by John Allspaw

I think that there’s a lot of institutional knowledge in our field, especially about what makes for a productive engineer. But while there are a good deal of books in the management field about “expert” roles and responsibilities of non-technical individual contributors, I don’t see too many modern books or posts that might shed light directly on what makes for a good senior engineer.

Try AssemblyAI's Multilingual Speech AI Models
sponsored by AssemblyAI

Build voice-driven AI products fast with AssemblyAI's Speech-to-Text models. Experience near-human accuracy and low-latency performance with a simple, robust API for rapid deployment and scalability. Get $50 in free API credits—sign up now!

What makes concurrency so hard?
7 minutes by Hillel Wayne

Is it something about human brains, or something about the problem domain? The complexity arises from the vast number of possible states in concurrent systems, which grows exponentially with the number of agents and steps. Various strategies for managing this complexity are explored, including using memory-isolated processes, atomic instructions, and language constructs that help prune the state space.

How to cope with technology FOMO
4 minutes by Avdi Grimm

Oh no! There are so many technologies to learn! You are falling behind! How do you choose what to learn? What if you learn the wrong thing? What if you don't have the right buzzwords?!

An introduction to assembly for high-level programmers
7 minutes by Manuel Spagnolo

This tutorial covers the basics of x86-64 assembly, including instruction structure, registers, and file organization. The article guides readers through writing a "Hello World" program in assembly, explaining key concepts like system calls and labels. By the end, readers should be able to understand basic assembly code and write simple programs.

Good software development habits
5 minutes by Zarar

Key points include keeping commits small, continuous refactoring, deploying code frequently, writing effective tests, and managing technical debt. The author emphasizes the importance of adaptability in software design and the correlation between testability and good design.

newsletters