← All videos

Engineering video

0:53 · 17 March 2023

What Software Development Is All About

Key concepts in this video:

1. Managing Code Complexity

A developer's ultimate job is to master and manage the complexity of applications and codebases. This is done by understanding and controlling the two main sources of complexity: the number of modules and the connections between them.

Hear it at 0:06 →

Transcript

I've read 21 books about how to become a better developer, and they all pointed to one thing, complexity. Your ultimate job as a developer is to manage complexity, the complexity of the applications and the code bases you are working with. Expert developers are masters at managing complexity. Not because they have infinite memory to store all the details of the code they are working with, but because they understand the two main sources of code complexity and they use them to their advantage.