Tip 132

Prioritize Technical Breadth over Depth

by Ildar Akhmetov

Check out this graphic. For every developer, there's a choice between technical depth and technical breadth.

The knowledge pyramid: what you know (technical depth) vs. what you know exists (technical breadth)

Adapted from Fundamentals of Software Architecture by Mark Richards & Neal Ford (O'Reilly, 2020), Chapter 2.

If you're a junior dev, my advice is clear -- choose technical breadth. Why? Two main reasons.

  1. Things are changing too fast. A 6-month-old GitHub repo with tens of thousands of stars can get archived in an instant (proof here).

  2. As a junior, you don't know enough stuff to make an informed decision about "that one thing" you should focus on.

So, think of your learning as a pyramid -- instead of digging holes in the yellow area (increasing your technical depth), you increase the area of yellow stuff -- you do it by moving the line between the yellow and red areas down. That's your knowledge getting broader.

You may feel that you don't really know anything that way -- that's fine. Remember Socrates? "I know that I know nothing." That should be you -- know nothing about as many things as you possibly can.

Liked this one? There are 222 more coming.

Two new tips every week, straight to your inbox.

Powered by Buttondown

Related Tips