Chapter 1. The bigger picture

This chapter covers

  • Using Python in complex software projects
  • Getting familiar with the high-level process of software design
  • Recognizing when you should invest in design

I’m glad you picked up this book; it means you’d like to take the next step with software development. Maybe you’re looking to enter the software industry, or maybe you’re looking to use software to supplement your work. Maybe you’ve even been paid to write software before. Congratulations—you’re already a pro! Coding like a pro just means learning the concepts and strategies that will help you build and maintain big software for the long term.

By reading on, you’re committing yourself to learning how Python can help you think big and go from writing utility scripts to writing complex software. I’ll help you lay a foundation on which you can construct your software development skills.

Throughout your career, you will likely be exposed to ever-increasing software complexity. That software could be something you build over time, or it could very well be an existing heap of code thrust upon you at the most inopportune moment. Whatever the case, you’ll want to have a suite of utilities at your disposal so you can be prepared to make sense of it.

1.1. Python is an enterprise language

1.1.1. The times they are a-changin’

1.1.2. What I like about Python

1.2. Python is a teaching language

1.3. Design is a process

Figure 1.1. The workflow for a fashion designer. The designer works with a number of other people to get the job done.

1.3.1. The user experience

1.3.2. You’ve been here before

1.4. Design enables better software

1.4.1. Considerations in software design

1.4.2. Organically grown software

1.5. When to invest in design

1.6. New beginnings

1.7. Design is democratic

1.7.1. Presence of mind

1.8. How to use this book