matobaの備忘録

育児しながら働くあるエンジニアの記録

Pythonプロフェッショナルプログラミング第4版が出版されました

Pythonプロフェッショナルプログラミング第4版が出版されました。 こちらの本の出版に関わらせてもらっているので、少しばかりブログ記事を書こうと思います。

出版されたのは第4版

今回、出版されたのは第4版です。第3版は2018年に出版されています。 5年ぶりに改定された状況です。なお、私は第3版の執筆でも関わらせてもらってます。当時の記事がこちらになります。

blog.mtb-production.info

第3版では、課題管理やAnsibleを利用した構成管理の自動化に関する章を担当しました。第4版では、追加開発やバージョンアップに関する話を担当しています。

この本はどのような書籍か

「こちらの本がどのような書籍か」と言う話については、ビープラウド社、社長のブログで述べられていますので、こちらを参照いただくとよさそうに思います。

shacho.beproud.jp

私から短く説明すると、この本は以下のような本です。

  • 趣味ではなく仕事でPythonを活用する人向けの本
  • Pythonを使ったシステム開発の実践知を書いた本
  • Pythonを使ってシステム開発を行うビープラウド社の開発プロジェクトに参加する人向けの本

社長のブログでも触れられていますが、もともとこの書籍は、「ビープラウド社の開発プロジェクトに参加する人のためのガイド」という位置付けで始まっています。第4版まで更新されてきましたが、その位置付けは同じです。

私と書籍と今回の執筆

そして、第三版執筆時の私のブログでも触れましたが、私はPythonプロフェッショナルプログラミングで様々なことを学び、ビープラウド社に入社しました。そして、様々な開発プロジェクトに関わり、その度に書籍で学んだことを活かしながら仕事をしました。

前回の改訂は、実際の実務経験をもとに既存の章の内容を補足・更新する部分で関わりました。今回の改訂で私が担当した14章は完全に新設の章なので、書き下ろしになります。

現時点で私は、ビープラウド社を退職していて執筆は退職前の最後の仕事になりました。というか退職調整中に「この章を書きたいので、有休消化前にこれだけ時間をください」という調整をさせてもらい、執筆させてもらったものになります。

執筆した章の内容

14章では、Python/Djangoのプロジェクトのバージョンアップの際に参考になる情報や、追加開発の時に注意するDBマイグレーションの話を書いています。私が14章に書いた内容はキラキラしたソフトウェア開発の話ではなくて泥臭く地道な話かと思います。例えば、PythonやDjangoにはLTSというものがあって、ここにバージョンアップガイドがあって、ライブラリの依存関係をこうやって確かめて...などですね。

このようなバージョンアップやDBマイグレーションの話は、普通にシステム開発を続けていれば、必ず遭遇するはずですし、このような経験や技術に価値があります。しかしながら、書籍としては、なかなか情報がないように思います。今回はそういう話を書いています。「私が実務で教わり経験したことを後輩に伝える」と言う気持ちで書いています。

個人的な14章執筆の想い

あと、14章を書く際に、個人的に意識した別の観点もあります。それは、「経験豊富なPythonエンジニアはみんな知ってることをできるだけ新人がスムーズに理解できる状態を目指す」です。

私の知る限りで、優秀な技術者は、より難易度が高く複雑で大きな開発に取り組んでいくことになります。しかしながら、当たり前のことを粛々とこなすことも重要であり、むしろそっちが重要で難しくもあります。

そして、日々のメンテナンスやバージョンアップの仕事も日々の実務の中で粛々とこなしていくような実務であると思います。ある種の新人はそういった部分から取り組むことになると思います。しかし、日々のメンテナンスや更新の話は一般の書籍ではなかなか学ぶことができません。

多くの場合、実務の中で先輩から後輩へと伝授されます。ただ、執筆時点で私は退職することが決まっていますので、私からビープラウド社の後輩に直接伝えることはできません。なので、書籍を介して、日々の業務で使う知識を14章として書きました。

終わり

前回の本の出版時にもブログに書きましたが、本に記載の内容は、ビープラウドで実践されている方法です。実際に実践されている方法というところの価値は大きいと考えています。昨今では、実際にPythonを使って開発されている方はある程度いらっしゃると思いますが、そんな方々の参考になれば幸いです。

ではでは。