筆者は、ド文系・非エンジニアの出身だが、社会人数年目にプログラミングに魅せられ、人生がガラリと変わった人間の1人だ。
文系の学部を卒業して、日本企業で普通に総合職として勤務したのち、趣味でPythonや数学を学ぶうちに魅了され、アメリカでデータサイエンスの修士号まで取得してしまった。
「プログラミング」と聞くと、数学や理工学系の勉強を連想し、「自分は苦手かも…」と思ってしまう文系出身の社会人や学生は多いはず。
しかし、ChatGPTなどの登場によって、AIのサポートの下で、誰でもプログラミングが簡単に使える時代となりつつある。
これからの時代は、たとえ文系出身者であっても、日常のルーティン業務やデータの集計作業などを、AIやプログラミングを使って自動化・効率化し、自身の生産性を大幅に向上させることが当たり前になる。
この記事は、文系出身者・未経験者・初心者が、業務の自動化・効率化に適したプログラミング言語である「Python」を学ぶためのロードマップである。
筆者自身の経験に基づいて、本当に初心者でも分かりやすい書籍やオンライン教材の選択を心がけた。
文系総合職・事務職がPythonを学ぶメリット
文系総合職や文系事務職にとって、プログラミングを学ぶことには多くのメリットがある。例えば、ExcelやGoogleスプレッドシートでの手作業によるルーティン作業を自動化できる。
多数あるプログラミング言語の中でも、学習するのは「Python」がオススメだ。
ExcelでVBAを使うよりも、Pythonなどのプログラミング言語を使う方が、遥かにカスタマイズ性・汎用性が高い。Microsoft製品以外の外部ツールとの接続も可能で、拡張性が段違いだからだ。
Pythonは、シンプルで読みやすい文法により、初心者でも習得しやすい。また、利用しているユーザーが多いので、たくさんの教材や情報がネット上で無料で手に入る。
学習中に疑問を持ったことも、ちょっとGoogle検索をすれば、自分と同じ疑問を持った人の質問が見つかるので、1人で悩むことが殆ど必要ない。
本記事でも、Pythonの学習に役立つ豊富なオンライン学習リソースを紹介していく。
ChatGPTは最強のプログラミング家庭教師
かつては、独学でプログラミングを学習しようとすると、質問する相手がいなかったり、エラーが発生した時に自力で原因が分からず行き詰まったり、難易度がとても高かった。
しかし、ChatGPTなどの生成AIの登場によって、無限に質問に答えてくれる専属の家庭教師が、誰でも手に入るようになった。
ChatGPTは、プログラミング学習において、とんでもなく役立つので、常に勉強中の傍に置いて、最大限活用することをオススメする。
例えば、以下のように自分が書いたコードに関する疑問を投げかけてみると、非常に分かりやすく・丁寧に問題点を解説してくれた。
コードの解説、エラーの原因特定、演習問題の解説など、学習者が直面する様々な問題に対して、的確なアドバイスを提供してくれる。
本を読んで分からないところがあっても、演習問題がどうしても解けない時でも、ChatGPTに質問すれば行き詰まることなく、スムーズに学習を進めることができる。
現在は、歴史上で最も簡単にプログラミングを学習できるチャンスなのだ。
文系会社員のためのPython学習ロードマップ
筆者自身、プログラミングの知識・経験ゼロの状態から、6年ほど前にPythonと出会い、独学をスタートさせた。
世の中には、理工系の人がエンジニアになることを目指すレベルの「ガチ勢」向けのプログラミング教材ガイドは溢れているが、文系人材にとってはオーバーワークで、どれも難しく挫折しやすい。
「文系社会人が自分の仕事を効率化する」のに必要なレベルに特化したガイドが必要だ。
そんな筆者が考える、文系の初心者・未経験者が、業務効率化のためにPythonを学ぶ場合のベストな順序は、以下の通りだ。
- 入門者向け動画教材を活用して、最低限の基礎文法を身につける
- 動画教材でExcel操作・WEBスクレイピングなど実用例を体感しモチベーションを高める
- 改めて網羅的にPythonの文法と主要なライブラリを学ぶ(書籍 OR 動画)
- 自分の仕事に直結するミニプロジェクトを実践してみる(ChatGPT)
最初の1〜2ヶ月は、初心者・未経験者でもとっつきやすい動画教材を活用しながら、学習の勢いを維持することを優先するのが重要だ。
プログラミングの書籍は、もちろん非常に網羅的で役立つ本もたくさんあるのだが、本当に知識ゼロで右も左も分からない状態で読み始めると、第1章で挫折することは間違いない。
大抵の入門書では、まずは自分のPCでPythonを使えるようにするところから始まるのだが、会社のPCにPythonをインストールできないところで詰む。
自分のPCでやるにしても、「コマンドプロンプト」やら「ターミナル」やら、1回も使ったことのないWindows/Macアプリが突然登場し、英語の文字列をあれこれ打ち込まねばならず、その時点で行き詰まる人も多い。
したがって、学習が軌道に乗るまでは、とにかく分かりやすく、ビジュアルで手順を解説してくれる動画で学ぶのをお勧めしたい。
それでは、上記の(1)〜(4)のステップそれぞれについて、以下で最適な書籍やオンライン教材を紹介していく。
挫折を防ぐには初動がカギ!動画教材で全体像を把握する
Pythonを使った業務効率化に興味を持った人が、まず最初に取り組むべきは、基礎の文法を学びながら、Pythonでどんなことができるのかを概観することだ。
右も左も分からない状態から、プログラミングとはそもそもどんなものなのかを知り、学習を進めていくとどんなことが実現できるのかのイメージを精緻化することで、その先の学習の方針も決めやすくなる。
この時点で、将来自分の業務に活用するイメージが湧けば、その後の勉強にも精が出て、スピードアップできるはずだ。
最もオススメなのが、Udemyで公開されている「独学で身につけるPython〜基礎編〜」という動画コースである。
全部で6.5時間と短いコースで、前提知識が一切必要なく、教科書にありがちな細かすぎる余分な知識を削ぎ落とした内容となっている。
プログラミング初学者が、必要十分な基礎を習得したうえでバックオフィス業務のカイゼンに活用できるようになること、を目指したコースです。
と謳われている通り、ターゲットはまさに文系人材が、業務効率化にプログラミングを活用することを念頭においた、難しすぎない内容になっている。
講義の後半では、総合職や事務職の人が、実務でプログラミングを活用する場面がイメージできるような「実践テーマ演習」があり、次のテーマが扱われる。
- Excel操作の自動化
- ブラウザ操作の自動化
- API連携
- Webスクレイピング
プログラミングとは何なのか、Pythonを学ぶと何ができるようになるのか、Pythonの全体像を概観するのに最適な構成だ。
もちろん、この動画コースだけではPythonをマスターしたとは言えないが、次のステップに進むための基礎を築きながら、モチベーションを高めることができるだろう。
中級者にステップアップするための動画と書籍
「独学で身につけるPython〜基礎編〜」が気に入った人は、その続編である「独学で身につけるPython〜応用編〜」を受講するのもアリだろう。
応用編では、RPAツールの自作、PDFの分割・結合、Slack・Gmailの自動化など、本当に日常の業務に活かせそうなPythonライブラリが紹介されている。
Excelを頻繁に使う人は、Excelに特化した「独学で身につけるPython〜Excel自動化編〜」などもラインナップされている。
あなたの仕事でこれらのツールを使う場面がある場合には、講義で紹介されているものを真似していくだけでも、十分実務に役立つだろう。
ただ、自分の業務に特有の問題を解決するには、真似をするだけでなく、自力で考え実装できるだけの能力がやはり必要だ。
将来のさらなる応用スキルを養うためには、もう少し深く、かつ網羅的に、Pythonの文法やライブラリの使い方を学習する必要があると考える。
本を読むのが得意な人向け、動画のほうが分かりやすい人向けに、二つの選択肢を示す。
書籍派向け:Pythonの基礎力を固める入門書・応用書
北米で50万部を超えるベストセラーとなっている『最短距離でゼロからしっかり学ぶ Python入門』シリーズは、すべてのPython学習者にオススメできる鉄板の学習書だ。
2分冊となっており、「必修編」でPythonの基礎を完璧に定着させることができ、さらに「実践編」でデータの可視化・Webサイトの構築・ゲームの開発など、更なるスキルアップに役立つ実用的な演習が用意されている。
筆者自身もかつて使っていて、その後のPythonスキルの向上に非常に役立ったと実感している書籍だ。
この2冊をやり切れば、文系会社員としては、「めちゃくちゃPythonが出来る人」と自称しても恥ずかしくないレベルに達することができるだろう。
「実践編」は若干難易度が高いかもしれないが、Pythonの実践的なスキルを習得するために、「実践編」で取り扱われているようなデータ処理、ファイル操作などの応用的なトピックは不可欠である。
例えば、ExcelやCSVファイルを読み込んで、「Matplotlib」というライブラリを使ったデータ可視化を行う方法は、ビジネスパーソンなら是非知っておきたい。
また、「API」という外部のサーバーから情報を取得してくるツールを使いこなせるようになると、実務での応用の幅もグッと広がる。
例えば、ChatGPTのようなAIは、APIとしても提供されている。
GoogleスプレッドシートをGPT-4oに読み取らせ、自動でセルの内容を生成させる、といったことを実行したい場合、APIを自分のプロジェクトに組み込むことが不可欠となり、どうしても「実践編」レベルの知識が必要になる。
この2冊によって、DX化やAI活用に貢献できるレベルのPython知識を身につけられるだろう。
動画派向け:Pythonの必要論点を網羅した究極の講義
上記で紹介した書籍『最短距離でゼロからしっかり学ぶ Python入門』レベルの高い網羅性と発展性がありながら、ビデオで分かりやすく学べる講義が、「現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用」である。
前半の「入門編」では、網羅的に変数、リストや辞書、IF条件やループ、関数などの知識を定着させることができる。
後半の「応用編」では、「WEB」や「データ解析」など、『最短距離でゼロからしっかり学ぶ Python入門』の実践編と同じようなテーマを、動画で見やすく学ぶことができる。
「応用編」には、暗号化・グラフィクス・非同期処理など、文系社会人が実務で使うことは一生なさそうなテーマも含まれているものの、これらは飛ばしてしまえば良い。
全部の動画を足し合わせると29時間と膨大な講座になっているが、「入門編」と、「応用編」のうちの「WEB」「データ解析」だけをやれば、十分に「会社で一番Pythonに詳しい人」になれるはずだ。
NumPyやPandasなどのライブラリを使ったデータ分析、Matplotlibを使ったデータ可視化、scikit-learnを使った統計解析まで、書籍以上に、かなり奥が深い領域までステップアップすることができる。
実践あるのみ!まず取り組んでほしいこと
多種多様なPythonライブラリを知る
ここまで取り組めば、Pythonの知識量としては必要十分で、あとは実践に移し、問題解決力を養うのが大切だ。
Pythonプログラミングは基礎文法さえ覚えれば終わりではなく、「ライブラリ」と呼ばれる、Pythonの機能を拡張するプラグイン的なものを使いこなすことが必要になる。
例えば、グラフを作りたいなら「Matplotlib」ライブラリ、AIを使いたければ「OpenAI」ライブラリ、無料で音声の文字起こしがしたければ「Whisper」ライブラリなど、特定の機能を持つライブラリがインターネット上に多数存在する。
自分の業務に最適なライブラリを発見し、その取扱説明書を読み、自分のプログラムに組み込む、という「調べる力」「道具を組み合わせる力」が決定的に重要なのだ。
まずはひとつ、興味があるライブラリを使って、ミニプロジェクトを作ってみることをおすすめする。
AIによる文字起こしアプリを作ってみよう
筆者のおすすめは、ChatGPTにも組み込まれているGPT-4oモデルや、音声をテキストに変換するWhisperモデル、テキストを合成音声に変換するText-to-Speechモデルなど、OpenAIが開発するAIモデルを使えるopenai
ライブラリだ。
APIを使ったAIアプリの構築のプロジェクトとして最適だ。
当サイトでは、OpenAIのAPIキーの発行方法を解説した記事も用意している。これを参考に、自分のAPIキーを発行して、Pythonプログラムに組み込んでみてはどうだろうか。
どんなプロジェクトを作るか迷ったら、議事録作成などの実務でも非常に便利なので、録音した音声をテキスト化するOpenAIの「Whisper」モデルのAPIを使って、自動で議事録を生成するプログラムを作ってみてはどうだろう。
筆者が、Googleドライブ上で使える無料のJupyter Notebook環境である「Google Colaboratory」を使って、Whisperモデルによる音声認識Webアプリを作ったサンプルが以下だ。
例えばこれをChatGPTに聞きながら真似してみると、APIを活用したミニアプリのイメージが湧いてくるだろう。
AIエディタはプログラミング学習にも大活躍
ChatGPTにプログラミングに関する質問をすると便利、ということを記事冒頭で紹介したが、もはやAIがコーディング作業そのものをサポートしてくれるテキストエディタも登場している。
「Cursor」というテキストエディタは、GPT-4oやClaude 3 Opusなど最新の生成AIモデルを、コーディング画面内で直接呼び出すことができるアプリだ。
自分が書いているコードのファイルをAIが読み込んで理解した上で、的確に質問に回答してくれたり、問題があるコードを勝手に修正してくれたりする。
基本的なPythonの知識があれば、初心者であっても、かなり複雑高度なアプリケーションをAIの助けを受けながら構築できてしまう。
プログラミングの作業が圧倒的に楽になるし、自分が書いたプログラムにバグがあった場合にAIが修正点を教えてくれるし、絶対に使っておくべき神アプリである。