プログラミング

文系がPythonを身に付けるためのロードマップ

Keito Ochiai

大学を飛び級で卒業後、MBA(経営大学院)に進学して経営戦略と会計を学ぶ。現在は、データ分析を用いて企業との共同研究に従事。趣味は読書とSwitch、カラオケ。最近はアソビ大全のトイテニスを極めてます。

本稿では、文系がPythonを身に付けるまでの完全ロードマップを説明します。筆者の辿ってきた紆余曲折を踏まえた記事になっているので、文系出身の方にも受け入れやすい内容になっているはずです。難しい語句は一切使わずに説明していくので、読者の皆さんには効率的にPythonを身に付けてほしいと思います。

STEP0:学習の目的を明確化しよう

Python(プログラミング)を学ぶにあたって重要なのは、「何のためにPython」を学ぶか、ということです。

Pythonは、現在では汎用的な(=何の開発にでも使える)プログラミング言語として人気があります。Pythonの人気を高めているもう一つの理由は、AIや機械学習に用いられやすい言語がPythonだということです。いわゆるデータサイエンティストやAIエンジニアとしてのキャリアを築く上では、Pythonのスキルを有していると重宝されることは間違いありません。

しかし、AIや機械学習以外にもPythonが用いられているのも事実です。例えば、InstagramやYoutubeのサービスの一部は、Pythonで記述されています。従来はJavaやC系の言語、Rubyといったプログラミング言語で構築されていたWebサービスが、Pythonでも作られるようになってきたのが今の情勢です。

つまり、「Pythonを学ぼう!」と一概には言っても、目指すキャリアや達成したい目標によって学ぶ分野が異なってきます。本稿では、これらのキャリア方針を2つに分けましょう。少し難しい言葉が出てきますが、中身は気にしないで大丈夫です。

1つ目は、Web系のエンジニアです。Web開発に携わるためには、HTML/CSS/JavaScriptといったPython以外の言語や、Django/Flask等のフレームワーク(PythonでWeb開発をするときに使うツールのことです)、サーバーの知識などが必要になります。

その一方で、AIや機械学習、データ分析に携わりたい人は、Numpy/Pandas/Matplotlibといったデータ操作系のライブラリ(Pythonで使える道具箱のようなものです)を習得した上で、データの収集方法や前処理の技術、機械学習の知識などが必要になります。

多少難しい言葉が出てきたので、文系だとやはりプログラミングは難しいのではないか、と思った方もいると思います。本サイトでは「文系でもプログラミングが可能な理由」を解説していますので、不安な方はまず以下の記事を読んでみて下さい。

参考プログラミングは、文系にも可能である。

著者は、企業との共同研究でデータ分析を用いており、普段からPythonやRといったプログラミング言語を使っています。他にも、Webサイトを構築するために、HTMLやCSS、JavaScriptといった ...

続きを見る

このように、自分の目指すエンジニア像によって学ぶべき分野は異なります。以下では、これらの点を踏まえてロードマップを整理していきます。

STEP1:オンラインで短期集中&低コストの学習

オンライン学習が望ましい理由

Pythonを身に付けるための第一歩は、オンライン学習から始めるべきです。

この理由は2つあります。
1つ目は、オンライン講座によって短期集中でPythonが身に付く点です。オンライン学習を用いないと、基本的には書籍での独学がメインになります。しかし、書籍での学習だと幅広い分野が網羅されているために、どの知識を身に付ければよいかが分かりづらいです。特に初心者には、どの分野を集中的に学べばよいかが全く分からないと思います。

その点、オンライン学習講座では、講座の手順に沿って1つ1つ課題をクリアしていけば良いため、必要な知識を短期間で習得することが出来ます。書籍の場合だと、自分で計画的に学習を行う必要があり、そのマネジメントはかなり大変なものになります。オンライン学習であればこの点を克服できるため、計画的な学習が苦手な人にはおすすめです。

2つ目の理由は、オンライン学習が圧倒的な低コストを誇る点です。書籍だと、入門書であれば通常は2,000円~4,000円ほどの価格帯、プログラミングスクールであれば数十万円の投資が必要になります。

これに対し、オンライン学習では、月額1,000円程度、あるいは3,000円を課金する一度きりのタイプなど、低コストで幅広い学習が可能になっています。書籍であれば、その本に存在するページ以上の価値は生まれないものの、オンライン学習だとPythonに限らず、他の言語も併せて習得することが出来るのです。Pythonに限ったサービスでも、非常に多彩な分野を学ぶことが出来ます。

オンライン学習が低コスト化する理由は、そのユーザー数にあります。ユーザー数が多ければ多いほどに規模の経済が働くため、高品質なサービスを低価格で提供することが可能になるのです。筆者も、初心者の頃はPyQなどを用いてオンラインで学習を行っていました。

Pythonを習得できるサービス

Pythonを習得できる代表的なサービスには、以下のようなものがあります。

  • Progate
  • Aidemy
  • PyQ
  • Dotinstall
  • AIAcademy

これらのサービスを、1.Web開発の観点から評価、2.AI・機械学習の観点から評価したものが、以下の表になります。

Protgate Aidemy PyQ Dotinstall AIAcademy
Python基本
Web開発 ×
AI・機械学習 × ×
サービス上でのプログラミング 出来る 出来ない

上記のように、オンライン学習サービスには様々なものが存在します。例えばProgateでは、Pythonに限らず複数のプログラミング言語を体系的に学ぶことが出来ます。

しかし、Pythonに限ってみれば、表のようにWeb系分野・AI分野ともに知識を網羅しているサービスは少ないです。この網羅性が必要かどうかは、達成したい目標によって変わるでしょう。WebかAIか、どちらかに専念したい人は一方を切り捨てても良いです。逆に、両方を学んでから決めたいという人には、網羅性の高いサービスが適しています。

もう一つ重要な点が、「サービス上で開発が出来るか」ということです。サービス上でのプログラミングが出来ない場合は、自分で環境構築(Pythonを使うためのセットアップ)を行う必要があります。しかしこれは、初心者の方には難しい分野になるのです。すなわち、サービス上でのそのままPythonを実行できるかが、おすすめ出来るサービスの分かれ目になっています。

以上の点から、「知識の網羅性」と「サービス上でのプログラミング機能」を兼ね備えたサービスが、初心者には適していると言えそうです。

ここでおすすめできるのが、「PyQ」です。表を見ればわかる通り、PyQはPythonの基本事項からWeb開発分野、AI・機械学習の分野までを幅広くカバーしています。広範囲の分野を網羅できる理由は、PyQが「Pythonに特化したサービス」だからです。Pythonで幅広い分野に対応したい人にとっては、PyQはうってつけのサービスと言えるでしょう。

Web系に進むにしても、AI系に進むにしても、PyQはどちらにも対応できるのでおすすめ、ということです。

価格帯は3,000円程度と他のサービスよりも少しだけ高くなっているものの、Pythonの知識を体系的に学べて、かつ1つのサービスだけで学習を完結できる点が大きなメリットになっています。筆者はPyQを実際に使用して、Pythonの基礎事項をより深く理解することが出来ました。Web開発にそのまま応用できそうな知見を獲得できたのが良かったですね。

気になる人は以下のリンクから試してみて下さい!PyQに限らずとも、Pythonを学習できるサービスは様々に存在するので、自分に合ったもので学習をすると継続しやすいです。

PyQリンク:オンラインPython学習サービス「PyQ™(パイキュー)」

スポンサーリンク

STEP2:ポートフォリオ作成 or 仕事受注

初心者の方は、オンライン学習を終えた段階で学習を終了してしまうことが多いです。その理由は、実際に開発に携わることがなく、どんどん開発から離れてしまうためです。知識だけはあっても、やはり趣味や実際の業務で用いないと、モチベーションが低下してしまうということですね。

これを防ぐためには、「いきなりサービスを作る」という経験が大事になります。プログラミングも受験勉強などと同じように、演習問題を何度も解くことで身に付くような技術と言えるでしょう。趣味でも業務でも構いませんが、とにかく手を動かして何かを作るという過程で、プログラミングの技術が養われるのです。

趣味として作るには、Webサイトかスマホ向けのアプリがおすすめです。これらのサービスを作る過程では、Python以外にもHTML/CSS/JavaScriptや、サーバーの知識などに触れることになります。この過程で、Pythonを中核として様々な技術への知見が高まるのです。

実際の業務を体験してみたい人には、「クラウドワークス」や「ランサーズ」といった、フリーランス向けの求人サービスがおすすめです。これらのサイト上には、初心者でも受けられる比較的簡単な仕事が多く存在します。最初は簡単な仕事から初めて、徐々にレベルアップを図っていくことで、いつの間にか技術レベルも上がってくるはずです。

筆者は、実際に業務を受注することをお勧めします。なぜなら、知識だけでなく実際の開発工程の知見が身に付くからです。個人の趣味としてWebサイトを作っている場合には、自分のペースですべての物事を進めることが出来ますよね。しかし企業だとそうはいかずに、チームで工程を進めるために様々な障害が発生します。これらの障害は、実際の業務でしか経験できない事実です。

以上のように、基本的な知識を身に付けた後は、ポートフォリオの作成や実際の業務受注に向けて動くことをお勧めします。

スポンサーリンク

STEP3:技術レベルUP→仕事受注

ポートフォリオを作成し、簡単な仕事を受注できるようになれば、あとは技術レベルのアップと実務経験を蓄積していく段階です。企業側からの仕事を受注しているだけでは、身にけられる技術の幅が狭まってしまいます。幅広い分野に対応できるエンジニアを目指すには、やはり自助努力が欠かせません。

初期段階ではオンライン学習サービスで基本事項を学びました。しかし、ここからはあらゆる手段を尽くして技術レベルのUPを狙っていきます。代表的なのは、技術書と呼ばれるプログラミングについての書籍でしょう。応用レベルの書籍を駆使することで、現役エンジニアに匹敵する知識を手に入れることが出来ます。

それよりも効果的なのは、エンジニアの勉強会に出席することです。ここでは、意識の高いエンジニア達から最先端の技術に関する知見を得ることが出来ます。こういった勉強会は様々な形で開催されているので、ぜひ調べてみて下さい。書籍よりも人から学ぶ方が、当然学びの質は高くなると思います。

技術レベルを向上することが出来たら、あとは仕事を受注するだけです。プログラミングの知識は、実務で使用しないと自分の経験値になりません。知識を手に入れただけでは、その知識を実務に応用することは出来ないということです。ここからは、「技術レベルのUP→仕事受注」のサイクルを繰り返すことで、自身のスキルを高めていく段階です。

まとめ

本稿では、文系でもPythonを身に付けるためのロードマップを解説しました。

まずはオンライン学習サービスを用いて、Pythonの基本事項を身に付けることが重要です。既に紹介した通り、Pythonに限れば、網羅性とサービス上でのコーディング機能を兼ね備えた「PyQ」がおすすめとなっています。

オンライン学習を終えれば、ポートフォリオの作成と実際の仕事を受注する段階に入っていきます。実務を経験することで、自分の知識を確かなものにすることが出来るでしょう。

学習を進めていくに当たって重要なのは、自分から新たな分野の知識を身に付けに行くことです。与えられる仕事をこなしてばかりでは、様々な分野に対応できるエンジニアになることは出来ません。ここでは、書籍や勉強会などの学習方法が適していると言えます。

本稿で紹介したように、文系でもPythonを身に付けることは十分可能です。ぜひ、将来性のあるエンジニアを目指してください。

Twitter(フォローや質問等)
メールでの質問やお仕事依頼

人気記事

no image 1

1日2時間でTOEIC800点台へ。就活や昇進に使える、超効率的な勉強法。
その秘訣とは……
1:基礎力を底上げすること
2:戦略的に解くこと

2

本稿では、転職における「市場価値」を高めるための方策を提案します。本稿で扱う内容は、すべて経営戦略に基づいたものになっており、「そもそも市場価値とは何か」といった定義から、「市場価値を高めて維持する方 ...

© 2020 Diligent Life