Chapter 11. Onward and upward

 

This chapter covers

  • Choosing which avenues to explore next in your software development career
  • Developing a plan of action for continued learning

Believe it or not, you’ve reached the last chapter of this book. Wasn’t that fun? You’ve learned many of the facets of thoughtful software design in this book, but there’s a whole world out there still to discover. It can be difficult to figure out what comes next. If you’re feeling unsure about which trajectories to explore, read this chapter for some strategies and topic ideas.

11.1. What now?

As you gain experience, you’ll continue learning a great deal. You’ll also encounter things you want to learn but don’t have the time or experience to cover just yet. There will also be an ever-present and near-infinite set of things you aren’t aware of at all. These are concepts that either haven't occurred to you yet or you don't have the words to express.

Donald Rumsfeld succinctly (and humorously) put it like this:

There are known knowns—there are things we know we know. We also know there are known unknowns—that is to say, we know there are some things we do not know. But there are also unknown unknowns—the ones we don’t know we don’t know.

Donald Rumsfeld

11.1.1. Develop a plan

11.1.2. Execute the plan

11.1.3. Track your progress

11.2. Design patterns

11.2.1. Ups and downs of design patterns in Python

11.2.2. Terms to start with

11.3. Distributed systems

11.3.1. Modes of failure in distributed systems

11.3.2. Addressing application state

11.3.3. Terms to start with

11.4. Take a Python deep dive

11.4.1. Python code style

11.4.2. Language features are patterns

11.4.3. Terms to start with

11.5. Where you’ve been

11.5.1. There and back again: A developer’s tale

11.5.2. Signing off

Summary