Lean Baseball

No Engineering, No Baseball.

今いちばんオススメしたいPython本 2022 - 初心者からプロまで仕事に活かせる3冊 + α

2021年も数多くのプログラミングやPythonを扱った素晴らしい書籍とたくさん出会いました.

私はリアルの本屋さんに行くのがとても好きで(ECの本屋さんも好きですが), 技術書のコーナーには必ずと言っていいほど足を運ぶのですが, 年々「Python」というラベルが付いた棚の領域が広がっている気がします.

  • プログラミング初心者でPythonからやりたいけど何から読めばいいのか🤔
  • 実務に役立つような参考書籍ってどうやってみつければいいかわからない😇
  • よりビジネスに役立つ, 実践的な事例をしりたい💪🏻

という, 割とありそうなニーズにお応えすべく,

2022年いや, 今この瞬間に読んでおきたい・抑えておきたいPython関連書籍をまとめました!

2011年頃からPythonを使って仕事をし始め, 今もエンジニアリングからコンサルティング, マネジメントをやっている私独自の視点で,

  • オススメの3冊
  • 目的別のオススメ7冊
  • ちょっとした+α数冊

をご紹介できたらと思います.

なお, このエントリーはこのブログの風物詩*1である「Python本まとめ」の2022年版となります.

※2021年版はこちらです.

Python本まとめ2022

というわけで, 2022年にオススメしたいPython関連書籍を「カンバン風に」お絵描きしてみました.

f:id:shinyorke:20211214233034p:plain
全体像です

今回は, 初心者 実務 プロ向け という3つの軸を元に, Web開発・Pythonそのものの本(淡黄色)データサイエンス・機械学習(薄緑) 系という感じで分けてみました.

なお, 縦軸(上下)に特に意味はありません*2.

特にオススメしたい3冊

このエントリー, 結構なボリュームがあるので「最低でもこれはオススメしたい!」3冊をご紹介します.

スラスラわかるPython

タイトルの通り,

スラスラとPythonがわかるようになるまで「プログラムが書ける!」を体験できる本です.

2017年の初版以来, アップデートして再びやってきました(個人的には待ち望んでいました!).

特徴を3行で表すと,

  • #Python基礎 を学べる
  • #写経して学べる 構成
  • #漫画がわかりやすい のでスラスラとPythonがわかる

といった感じの書籍で, 私はよく初心者向けの教科書・講義に活用させてもらってます.

shinyorke.hatenablog.com

初心者の方が学ぶだけでなく, 教育テキストとしてもおすすめです!

実践Django

Djangoをやる方はもちろん, PythonでWebアプリケーション開発をされる方にめちゃくちゃオススメしたい!, という一冊です.

実践Django Pythonによる本格Webアプリケーション開発は今まで読んだDjango関連書籍の中でも決定版と言えるような充実した内容で,

  • PythonのWeb Framework #Django の基礎から実践まで学べる
  • Djangoに限らず, #Web開発 で網羅的に使えるノウハウ・考え方が詰まっている
  • #これ一冊でWeb系開発はばっちり と言えるくらい内容が充実している

といった印象で, ひとまず職場に一冊おいておきたいです.

shinyorke.hatenablog.com

書籍の詳細な紹介は上記エントリーもご覧ください.

仕事ではじめる機械学習

「機械学習でいい感じにしてくれ」という難易度が高い仕事には必要不可欠な考え方が・アプローチが書かれている一冊です.

  • #機械学習 を実務で使う時のノウハウや考え方
  • #MLOps という, 「リリースした後も運用が大事やで」というフェーズによく効く
  • #AIプロジェクトで困った時の一冊 として最適

な書籍です.

shinyorke.hatenablog.com

こちらのブログでも触れましたが, 2017年以来の第2版は,

  • MLOps周りのトピックスが充実
  • エンジニアとデータサイエンティストの違いなど, 実務ならではの話

も載っており, 初版とは異なるテイストで楽しめるのではと思います.

初心者におすすめ

ここから先は, 初心者 実務 プロ向け という3つの基準で7冊(+α)をご紹介します.

このエントリー全体の目次は以下のとおりです.

この先はご興味あるトピックスから読まれても大丈夫です!

基礎学習

スラスラわかるPython 第2版も基礎学習として素晴らしい書籍ですが, もう一冊素晴らしい書籍があります.

独学プログラマー Python言語の基本から仕事のやり方まで は,

  • #Python基礎 に触れつつ
  • #プログラミングの基礎 と言えるような考え方・視点を紹介しつつ
  • 最後には, #仕事に必要な技術と心得 を教えてくれる

良い書籍です(このブログでも毎年紹介しています*3).

Pythonに限らず, エンジニア・プログラマーが持つべき考え方やスタンスが上手く言語化されているので万人にオススメしたいです.

データ処理と業務効率化

基礎を学んだ後は, 早速仕事ややりたいことをやるのが上達するコツかなと思います.

Pythonを使う仕事・やることといえば,

  • Web開発
  • 機械学習・データサイエンス
  • その他, 組み込みなどいろいろなこと

などたくさんありますが, いずれもデータを取り扱う事かなと思います.

オススメとしては, 「ひとまずExcelにあるデータを効率的になにかやる」がわかりやすいです.

オフィスで働くような仕事だと, Excelはよく触ると思うので,

  • #Excel操作 をPythonなプログラミングで置き換えつつ
  • #手作業とコピペからさようなら できるようになることにより
  • #業務効率化 ができると「プログラミング覚えたぞ!」って実感

という体験を味わうのも悪くないと思います.

また, ここまで慣れてくると「そろそろAIでなにかやりたい」「機械学習やるぞ!」ともなるんじゃないかなと思うので,

Jupyterやpandas, データ可視化に手を付けても良いんじゃないかなと思います.

  • #Jupyter の操作に慣れる
  • #pandas でのデータ処理をマスターする
  • #データサイエンスの基礎 となる, データエンジニアリング・プログラミングを学ぶ

のに改訂版 Pythonユーザのための Jupyter[実践]入門は最適かなと思うのでオススメです.

実務で使える

続いて, 実務で使えそうな書籍を紹介します.

  • Web開発とテスト
  • 実践的なデータサイエンス

この2軸となります.

Web開発とテスト

Pythonを使ったWeb開発の視点・基礎は実践Django Pythonによる本格Webアプリケーション開発で, かなり学べるんじゃないかなと思います(Djangoで作るならなおのこと).

(Pythonを使う使わないに限らず)Webアプリ開発の仕事をしていると,

  • 開発したものをシュッとテストしてサクッとリリースするための仕組み, いわゆる継続的インテグレーションとデプロイ(CI/CD)がついてくる
  • CI/CDをいい感じにするためにはテストが必要不可欠
  • テスト, 手作業じゃなくて自動でやりたいよね?

というのが一般論的に出てくると思います&そういう仕事もたくさんあります.

実践Django Pythonによる本格Webアプリケーション開発にもしっかりとテストの章があるのですが, 「Web開発もデータサイエンスも両方使えるテストのノウハウ」を学ぶのもいいんじゃないかと思います.

テスト駆動Pythonはまさにそんなテストを学ぶのに最適な一冊で,

  • #テスト を書いて開発することの重要さを学び
  • #pytest を使ったテスト環境・コードの書き方を初心者から実践的な方法まで学べる
  • #テストの大切さを学ぼう というテーマにピッタリの書籍

です.

実務でやってる時にテストを学ぶとコードの品質向上も学ぶことができると同時に, 「急がば廻れ」じゃないですが, リリースの速度や手戻りの少なさにもつながってくるのでオススメです*4.

実践的なデータサイエンス

実務で本物のデータを使う「実践的なデータサイエンス」という意味で今年は面白い本が一冊出ました.

Pythonではじめる数理最適化 ―ケーススタディでモデリングのスキルを身につけよう―は数理モデルを使った実践的なデータサイエンスに特化した書籍で,

  • #数理最適化 の解説から実務プロジェクトの流れを解説
  • Pythonでの数理最適化でよく使うライブラリ #PuLP を基本として, 実装・モデリングを解説
  • #実務のケーススタディから学ぶ のに最適なお題目・テーマが盛りだくさん

と読みどころが多く, 実務でもすぐ活かせる良い書籍です.

shinyorke.hatenablog.com

特にエンジニアの人でデータサイエンティストへのキャリアチェンジを考えてる方にオススメで,

エンジニアからデータサイエンティストへのキャリアチェンジを考えている人は考え方・思想含めて真似してみてほしい!

と読んで思いました.

プロ向けに抑えておきたい

メンバーとして実務をこなして慣れてきた頃にはプロとして求められるものもたくさん出てくると思います.

言葉にするとキリが無さそうですが,

  • エンジニア・プログラマの中のエキスパートとして, Pythonのことをより深く知って使う. 言語仕様や開発の思想など.
  • プロジェクトマネージャー, プロダクトマネージャー, リードエンジニアetc...責任ある立場で技術選定とチーム作り・運営をプロフェッショナルとしてこなすためのノウハウ.

といった雑な分け方ができます&どちらも重要な視点でありますが, 今回は特に責任ある立場で技術選定とチーム作り・運営をプロフェッショナルとしてこなすためのノウハウ.にフォーカスを当てて紹介します.

特にPython界隈だと, 機械学習やAI関連のことが多くなるかなと思うので,

  • 機械学習プロジェクトにおけるクラウドサービス選びという「技術選定」
  • データ活用するための組織設計や人の育て方といった「チーム作り」

にフォーカスを当てて紹介します.

機械学習とクラウドサービス

機械学習のPython本といえば, PythonのライブラリやFWを使ったプログラミングのやり方がメインだった印象がありますが.

昨今のクラウドサービスでは,

  • AI Platform, BigQuery ML(Google Cloud)
  • Amazon SageMaker
  • Azure Machine Learning

などなど, 「クラウドサービスの出来合いのものの組み合わせで, 本番運用までどうにかなるよ」というサービスが増えてきました.

この流れで,「自分で一生懸命サーバー立てて運用しなくても機械学習なプロダクトをクイックに作れるよ」というノウハウ・考え方を紹介する書籍も増えてきていて,

機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決のように, Google Cloudなサービスを中心とした機械学習のシステムデザイン(と, 最大公約数的に使えそうなデザインパターン)を解説した書籍や,

実践 AWSデータサイエンス ―エンドツーエンドのMLOpsパイプライン実装のように, AWSのクラウドサービスをフル活用してAI・機械学習プロダクトを作る参考書籍も出てきました.

いずれもPythonを使ってなにかをやっているので, 機械学習プロジェクトや難易度が高い課題を解くときに参考にすると良いかもです.

データ活用に必要なこと

これは今年(2021)のトレンドかも知れない🤔と思ったのが,

  • データ活用に必要な知識・スキルの大切さと働き方
  • データ活用に必要な組織設計や人の育て方

に注目が集まっているなというところです. 言うまでもなくどちらも大切なのですが難しいことです.

「Python書けるからAI人材だ」「うちのチームはPythonでデータ基盤を作っている」だけではデータ活用に繋がりません.

前者のデータ活用に必要な知識・スキルの大切さと働き方については,

データ分析人材になる。 目指すは「ビジネストランスレーター」という書籍でじっくり語られています, これはPythonの本ではありませんが笑, Python使いの方にはぜひオススメしたいです.

shinyorke.hatenablog.com

気になる方は上記のブログに感想を書いてるので参考になるかもです.

また, これはつい最近でたばかりの書籍ですが,

実践的データ基盤への処方箋〜 ビジネス価値創出のためのデータ・システム・ヒトのノウハウでは, データ活用のためにはデータ基盤が必要でかつ, 組織も大事なんやでといった論点がいい感じに言語化されました.

これはとても良い本で, 「Python使ってデータの仕事をしている(かつ重要な役割である)」という方は読むことをオススメしたいです!(Pythonの本ではありませんが, これも近しい世界線にあることは間違いないです).

結び

というわけで今年のこのエントリーでは初心者 実務 プロ向け という3つの軸でPython関連書籍を紹介させてもらいました.

これは毎年言ってることでもありますが,

ここまでのまとめはあくまで私(shinyorke)のおすすめセレクトであり, 最後はあなた自身が良い!と思って選んだ書籍を大切にしてほしい!

です.

このエントリーを読まれた方が, プログラミングやPythonの学習, 仕事のお供となるような良い書籍に会うキッカケになれば幸いです.

最後までお読み頂きありがとうございました!

番外編 - 私が心を打たれた技術書籍2021

この先はAppendix?番外編??おまけ???とかそういう感じです.

毎年恒例の番外編「個人的に良かった技術書籍(一部技術書籍じゃないやつ含む)」もサクッと紹介します.

LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する impress top gearシリーズはまさに欲しかった「AgileとDevOps」な書籍でした.

参加していたオンライン勉強会で話を聞き, 試しに買って読んだのですがよく言語化されていて素晴らしかったです.

これは技術書籍じゃないやん!ってツッコミ覚悟で

私が元々働いていたネクストベース社の森本さんが執筆した, 「トラッキングデータ時代の野球データ本」の決定版と言うべき書籍です.

野球の指導者やファンといった方々にはもちろんオススメなのですが, 「データを活用して意思決定して行動する」方全般にオススメしたいです.

いい意味でスポーツの常識をひっくり返されると思います.

最後は正真正銘の技術書で締めます.

個人開発ネタとして, 「React + TypeScript」で少しずつプロダクトを作ってるのですが, Reactわからんってなって, Reactハンズオンラーニング 第2版 ―Webアプリケーション開発のベストプラクティスを読んでいます.

Reactの解説も良かったですが, モダンなJavaScriptプログラミングを学ぶ上でもめっちゃ参考になってます.

今年は全体的にあんまり技術書を読めなかった(冊数的に)なので, 来年はもっとたくさん読めればと思ってます!

*1:2017年版からスタート, 以来毎年書いていて今年が6本目となります.

*2:強いて言うなら紹介順かな...といいつつ, 本文の紹介順と一部シンクロしない部分があります.

*3:もうそろそろ殿堂入りじゃないですかね独学プログラマーも

*4:余談ですが私は自分がやってるPythonなプロジェクトではWebもデータサイエンスも関係無く何かしらのテストは書く&動かすようにしています