What is The Way of Python?

This blog is a collection of my thoughts on the philosophy of Python and how it can be applied to improve various aspects of software development, including engineering, architecture, design, and the happiness and satisfaction of developers. I hope it will help making enlighten choices that will make your team more happy and efficient.

Recent articles of the blog:

Content of the blog

In an nutshell: The Python philosophy

The philosophy of Python is captured in PEP 20 – The Zen of Python, which is a collection of guiding principles for writing computer programs that influence the design of the Python language.

The Zen of Python can be accessed by running the following command in a Python interpreter:

import this

The Zen of Python includes principles such as “beautiful is better than ugly”, “explicit is better than implicit”, and “simple is better than complex”. These principles emphasize the importance of readability, simplicity, and minimalism in Python code. The philosophy of Python encourages programmers to write code that is easy to understand, maintain, and improve upon. Of course, this philosophy can also be applied to software design and architecture.

In addition to the Zen of Python, there are other concepts that are important in the Python and software engineering community, such as the idea of Pythonic code, the clean code and SOLID principles, etc. Zen of Python is just the tip of the iceberg, we will delve deeper in the Python philosophy.

In a nutshell: Software Engineering

“Software Engineering” refers to all aspects of professional software development, including technical issues such as development and extension, as well as human factors such as developer productivity, well-being, retention, and positive company culture. These topics are all interrelated and contribute to the overall success of a software development project.

I believe that both technical and human factors are equally important for a company’s success. Companies want employees who will stay with them for a long time to minimize the cost and disruption of frequent hiring, and to retain valuable knowledge and skills. At the same time, companies want to be able to adapt, change, and improve their software in an efficient and cost-effective manner. By prioritizing these factors in our work, we can create the most valuable and profitable products for companies, and increase our own chances of being well-compensated for our contributions while achieving personal happiness and satisfaction.

How Python helps for software engineering?

The Python philosophy emphasizes simplicity, readability, and explicitness, which can be applied to software engineering to create code that is easy to understand, maintain, and extend.

Through my experience teaching, coaching, training, and working with hundreds of people on Python and software development, I have observed that certain behaviors can lead to increased happiness and efficiency among developers, while others can cause difficulty and unhappiness. I want to address this issue and contribute to the success and happiness of all software engineers, as I strive to do in my own work.

And the first advice among many is:

You should care about what you do.

When you care about your work, you are more likely to be motivated and produce high-quality results, as well as find personal fulfillment and satisfaction in your contributions.

And more…

From general knowledge of Python and other tools

Some article will delve deeper into the topic of Python, including its features, libraries, and lesser-known gems within the language.

For example:

  • Python call-by-assignment, in opposition to the call-by-value or call-by-reference,
  • 2 closure layered decorators,
  • Context management,

And many more…

To myth busting and other misconception around the Python language

There is a lot misconceptions around Python, from believes that turns out to be wrong to absolute myth.

For example:

  • Python is a weak typed language (not, it’s not!)
  • __init__() method is not a constructor (yes, it is!)
  • % string formatting is dead (no, and logger will thank you!)

And many more !

You need to start somewhere

Check out most recent articles:

Or this selection:

Leave a Reply

Discover more from The Way of Python

Subscribe now to keep reading and get access to the full archive.

Continue reading