<aside> 🧑🏼‍💻 This article explores some of the different paths and endless breadth and depth of a software development career or a computer science degree. Its target audience is mostly students and early-in-career folks.

</aside>

This is what we call a graph in computer science.

from Martin Grandjean, CC BY-SA 4.0

from Martin Grandjean, CC BY-SA 4.0

A graph is a collection of nodes and edges. We often represent the nodes with circles and edges with lines. Edges represent a relationship, connection, or association between nodes.

Graphs are used to represent a lot of things…

Like the London Subway:

from visualign

from visualign

Or social networks of Game of Thrones characters:

from ericmjl

from ericmjl

But let’s use nodes to represent careers and knowledge.


As a high schooler deciding what to do with your life, your graph representation of different career paths might be quite shallow, and these vague representations may not give you a lot of confidence about which life path to go on, which career or major to pursue.

Screenshot 2023-03-03 at 12.33.20 AM.png


Perhaps these vague representations lead you to a life down this path of being a “programmer” — whatever that means.

Screenshot 2023-02-20 at 12.08.50 AM.png

At first, this Programming node is a huge abstract bubble, and you may only know a few details about what’s inside. You know that there’s a lot to know about programming, but you don’t know concretely what that entails.


You may do some googling and write your first program in Java and now you have some idea of what programming is:

Screenshot 2023-02-20 at 12.07.16 AM.png