変わりたい組織と、成長したいビジネスパーソンをガイドする

リスキリングで人気の「プログラミング」。システムやアプリの開発だけでなく、業務効率化にも有用だ。何を学べばどんなアウトプットができるのか、難易度とともに解説するほか、初心者が独学で習得する方法や、おすすめの書籍・動画なども紹介する。

リスキリングでプログラミングが必要な理由とメリット

昨今、あらゆる産業でデジタルシフトや技術革新が進み、DX(デジタルトランスフォーメーション)の推進が急務になっている。DXにはIT(情報技術)スキルを持った人材の育成とともに、DXに必要なITシステムの開発・導入を担える人材も必要だ。ところが、「DX白書2023」によれば、そうしたDXを担う人材が不足しているという。

IT人材の社会的ニーズが高まる中、リスキリングで学びたい分野としても「プログラミング」が人気だ。プログラミングスキルを習得するメリットを3つ解説しよう。

メリット(1) 職域を広げられる・IT分野で活躍できる

キラメックスが運営する「テックアカデミー」が2022年8月にプログラミング学習経験のある文系女性を対象に実施した調査によれば、全体の約4割が「プログラミングに興味があった」と回答した。続く2位と3位は、「ITスキルを身につけたいと思った」「今後何かの役に立つと思った」で、それぞれ約3割を占めている。

テックアカデミーの調査をもとに作成

テックアカデミーの調査をもとに作成

学情が20代社会人に行ったアンケートでは、プログラミングを選んだ理由に「デジタル領域で活躍できる人材になりたい」「今後も必要とされる分野で手に職をつけたい」があげられた。

「専門知識を身につけ、仕事の幅を広げたい」「ニーズがある分野のスキルを身につけたい」などが動機となっていることが伺える。

メリット(2) 業務効率化・自動化ができる

プログラミングと言うと、システム開発に携わるエンジニアなどITの専門職がやるものだというイメージが強いかもしれないが、実は営業や企画などあらゆる業務で、もっと汎用的に使えるものだ。

その代表例が、業務の効率化や自動化だ。典型的には、「Excel VBA」(表計算ソフト「Excel(エクセル)」の拡張言語)や、パソコンの定型作業を自動化するソフトウエア技術「RPA」(ロボティクス・プロセス・オートメーション)などの活用があげられる。

「Excel VBA」は、エクセルで使えるプログラミング言語。定型的な処理をプログラミングすることで、それまで数十分かかっていたタスクをあっという間に完了できる。

これに対して、RPAは自分でプログラムを書く必要すらない「ノーコード」の技術だ。RPAツールを使った直感的な操作でプログラミングを作成する。具体的に行うことは、パソコン上でタスク処理の手順を記録し、より適切な処理になるよう調整すること。2021年からはWindowsで無償RPAツール「Power Automate Desktop」(以下、PAD)が提供されている。

メリット(3) ツールやシステムをより活用できる

プログラミングができれば、今まで使ってきたツールやシステムをより効果的に活用できるようになる。先述のExcel VBAのほかに、Google Apps Script(GAS、ガス)もある。

「Google Apps Script」は、米グーグルが提供する企業向けクラウドサービス「Google Workspace」用のプログラミング言語で、Workspaceの各ツールを連携させることができる。これによって例えば、

・Gmailとスプレッドシートを連携させて見やすいメールを作成する
・ドキュメントやフォームなどとGmailを連携させ、イベント参加者ごとに日程表を作成し、メール送信する

といったことを自動化できるのだ。

Webサイト制作などで活用されるプログラミング言語の「JavaScript」や「PHP」を使えば、より高度な制御が可能となる。また、機械学習などで活用される「Python」を使えばVBAやRPAも細かくカスタマイズできる。大量の単純作業を一気に消化できるだけでなく、アプリケーション間の連携、UX(顧客体験)の向上、アプリやツールの自社に合わせたカスタマイズ、さらには独自開発も夢ではない。

プログラミング初心者がまず知っておいたほうがいいこと

とはいえ、プログラミングに数多く見られる専門用語に戸惑う人も多いだろう。見たこともない言葉を前に、学習を断念するケースは少なくない。そこで、まずはプログラミング学習の入り口となるプログラマーの種類や基本用語、最近のトレンドであるノーコードについて概要を把握しておこう。

主なプログラマーの種類と必要な学習内容

一口にプログラマーと言っても、どのようなものを作りたいかによって学ぶべきことは変わってくる。代表的なプログラマーの種類と必要な学習内容は、下表の通りだ。

WebプログラマーECサイトなど、ブラウザで動作するWebシステムを構築する。
HTML/CSSのほか、JavaScript、PHP、Javaなどの学習が必要。
アプリケーションプログラマー(アプリ開発者)スマートフォン等で動作するアプリ、Webアプリなどを開発する。
iOSアプリの開発にはSwiftなど、Androidアプリの開発にはKotlinやJavaなどが必要。
ゲームプログラマーゲームを動かすためのプログラムを作る。ゲームの種類は、コンシューマーゲーム、PC用オンラインゲームなどさまざま。
必要なプログラミング言語は、C++やC#、Rubyなど。
汎用系システムプログラマー大企業の基幹システムなど、汎用機を軸として長年使えるシステムの開発を行う。
分野に応じて必要なプログラミング言語が異なる。
組み込み系システムプログラマー産業ロボットや家電製品などを制御するプログラムを作る。
C言語、C++、C#などが必要。
業務系プログラマー経理システムや在庫管理システムなど、業務に必要なシステムの開発を行う。
C#、VB、Javaなどが必要。
オープン系プログラマーデータベースや管理システムなど、オープン系システム(UNIX、Linux、Windows)を用いた開発を行う。
使用する主な言語は、C++、C#、Java、PHP、Pythonなど。
AIプログラマー(AIエンジニア)AI(人工知能)を用いた製品・サービスを開発する。
よく使われるプログラミング言語はPythonだが、他にデータ解析や数学の知識も求められる。

なお、「C言語」「C#」「VB」「C++」などは、非常にレベルの高いプログラミング言語だ。初心者にとってはハードルが高く、習得に多くの時間が必要となる。

プログラミングの基本用語10選

どの種類を選ぶにせよ、プログラミングに関心があるなら知っておきたい基本用語がある。まずは次の10語を押さえておきたい。

ノーコードとは「コードを書かないプログラミング」

プログラミングを行う場合、原則としてソースコードを書かなければならない。だからこそ、ソースコードを書くために必要なプログラミング言語の学習が不可欠となる。

ところが、近年はソースコードを書かずにプログラミングができるアプリケーションが登場している。いわゆる「ノーコードツール」だ。先述したRPAが、この一例。ノーコードでシステムやアプリを開発することを「ノーコード開発」と言う。

ノーコード開発の事例には、Shopify(ショッピファイ)を用いたECサイト開設、Bubble(バブル)を用いたアプリ開発などがある。

日常業務レベルで使えるものはWindowsのPADだ。米マイクロソフトの公式ページでは、使い方の例として、

・顧客リレーションシップ管理ツールへ他のソフトから顧客情報を転記する
・データを別のファイル保存先にエクスポートする
・Excelファイル、PDF、データベースなどにあるデータを統合し、定期的なレポートを自動生成する

などを紹介している(※)。

簡単なアプリ開発や業務効率化が目的なら、プログラミング言語をイチから習得する以外に、こうしたノーコードツールの活用も視野に入れるとよいだろう。

Power AutomateがWindows11にもたらす機能を確認する|Microsoft

プログラミング初心者は何から学ぶ? 活用目的と学習難易度

プログラミング初心者にとって最も手をつけやすいのは、ノーコード開発だ。しかし、作りたいものによってはプログラミング言語の学習が必要となる。

そこで、あらためて目指す成果物や活用目的と、それに必要なプログラミング言語、学習難易度をチェックしてほしい。「まずは何か作ってみたい」という場合なら、習得が比較的容易なものから始めてみよう。

なお、ゲームや組み込み系システム、AIなど本格的なプログラミングが必要なものについては、初心者にとって難易度が高すぎるため除外した。これらの習得を目指す場合は、まず小さなアプリやシステムの開発から始めるのがおすすめだ。

プログラミングを独学する方法

目的や必要な学習内容を決めたら、いよいよ学習開始だ。学習方法は、大きく分けて独学とプログラミングスクール活用の2種類がある。先に独学方法を3ステップで見ていこう。

独学方法(1) eラーニングや動画で全体イメージをつかむ

第1ステップは、「プログラミングとは何か」の全体像をつかむことだ。さまざまな基本用語とともに、プログラミング言語で記述されたソースコードとはどのようなものか、どうやって記述するのか、ソースコードと実際の処理の対応関係などをチェックしよう。

ざっくり全体像を把握するには、実際のコーディング画面などを見ながらイメージをつかめる無料動画やeラーニングを活用するのがおすすめだ。無料動画では、次のようなYouTubeチャンネルがある。

【主なプログラミング学習動画チャンネル】
・だれでもエンジニア / 山浦清透
・プログラミングアカデミー
・SAMURAI ENGINEER [侍エンジニア]

独学方法 (2)  入門書や技術書で細部を確認しながら作ってみる

動画でプログラミングの全体像を把握できたら、実際に自分の手でソースコードを書いてみよう。手を動かすことで、曖昧な点が明確になり、理解を深めることができる。その際、動画を再度見ながら進めてもよいが、あえて書籍を使って進める方法もよい。動画とは異なる観点で、説明やソースコードの見本をじっくり確認できるからだ。

プログラミング初心者向けの書籍は多数あるが、定評のあるシリーズに『ツボとコツシリーズ』(秀和システム)と、『ふりがなプログラミングシリーズ』(リブロワークス)がある。前者は豊富な図解でソースコードの書き方や概念を理解しやすく、後者は英語が基本となるソースコードのほぼ全てに「ふりがな」として日本語の意味を付けている。

【初心者におすすめの書籍シリーズ】
ツボとコツシリーズ(秀和システム)
 『Accessマクロ&VBAのプログラミングのツボとコツがゼッタイにわかる本』など
ふりがなプログラミングシリーズ(リブロワークス)
 『スラスラ読める JavaScriptふりがなプログラミング 増補改訂版』など

ちなみに、プログラミング学習法自体を解説した書籍もある。プログラミング学習は挫折する人も多い。こうした本でプログラミング自体を学べるわけではないが、モチベーション管理に役立つだろう。学習する中で迷った際の道しるべとなってくれるはずだ。

【プログラミング学習法についての書籍】
『プログラミング入門講座 ——基本と塩宇法と重要事項がきちんと学べる授業』(SBクリエイティブ)
『知識ゼロからのプログラミング学習術 独学で身に付けるための9つの学習ステップ』(秀和システム)

独学方法(3) 学んだ内容を実際に業務で使ってみる

仕上げに、動画や書籍でインプットした知識を使って、自分の業務で使えるプログラムを作ってみよう。ポイントは、お手本のソースコードをそのままコピー&ペーストするだけでなく、変数などを調整してみること。これによって実践的な視点を養うことができる。

例えばExcel VBAなら、

・特定の顧客に関するデータを自動で抽出する
・請求書を自動で作成する
・複数のブックから自動でデータを取得して集計する

といった方法が考えられる。

また、Webアプリケーションやスマホアプリであれば、

・タスクごとの作業時間を計測する(開始時刻と終了時刻を記録する)
・タスクの種類ごとに平均値を出す

など、業務に関するデータを集計・分析するツールを作ってみると面白いだろう。

プログラミングスクールで費用補助の対象となる講座の例

独学以外では、プログラミングスクールを活用して効率よく進めることも可能だ。受講料が数十万単位の高額コースが多いものの、経済産業省の「リスキリングを通じたキャリアアップ支援事業」や厚生労働省の「専門実践教育訓練給付制度」の対象講座であれば、一定の条件を満たすことで最大70%の受講料の支給を受けられる。

制度の詳細は「政府のリスキリング支援まとめ 経産省や厚労省などの制度を解説」「教育訓練給付金とは? 注意点や制度の最新動向を解説」の記事を参考にしてほしい。

写真はPIXTA

写真はPIXTA

対象講座の例として、「CodeCamp(コードキャンプ)」「テックキャンプ」「tech boost(テックブースト) 」の講座をご紹介しよう。

CodeCampの「Webデザイナー転職コース」「エンジニア転職コース」

「CodeCamp」では、未経験者向けにプログラミングやWebデザインを学べる講座を開講している。コース名は「Webデザイナー転職コース」「エンジニア転職コース」だ。経済産業省による「リスキリングを通じたキャリアアップ支援事業」対象講座となっており、修了して転職することで受講料の最大70%が支給される。

授業スタイルは、マンツーマンのオンライン授業。教材を使って自分で取り組んだあと、分からない部分を講師に質問するという形がおすすめだ。

テックキャンプの「短期集中スタイル」「夜間休日スタイル」

「テックキャンプ」には、通学プランとオンラインプランがある。経済産業省の「第四次産業革命スキル習得認定講座」と厚生労働省の「専門実践教育訓練給付制度」の両方の対象講座があり、「教室で学びたい」という人にもうれしい。「短期集中スタイル」では最短10週間で、「夜間休日スタイル」では約半年間で、ITエンジニアに必要な知識を学べる。

オンライン学習の場合、質問はチャットやビデオ通話で何回でも可能だ。専属トレーナーが学習完了まで伴走して進捗管理してくれるほか、未経験者専門のキャリアアドバイザーがマンツーマンで転職をサポートしてくれるサービスもある。

tech boostの「ブーストコース」(PHP、Ruby、Java)

未経験からフリーランスエンジニアへのチャレンジを支援する「tech boost」にも、厚生労働省の「専門実践教育訓練給付制度」対象講座がある。PHP、Ruby、Javaをそれぞれ学べる3つの「ブーストコース」だ。内容は、Webアプリケーションを作りたい人向けのカリキュラムとなっている。

講座では、実務経験2年以上の現役エンジニアによる現場目線のアドバイスとともに、完全オリジナルのポートフォリオを作成できる。はじめに「ベーシックターム」で基本を学び、次の「ディベロップターム」でアイデア出しからテストまで、現場を意識した流れで開発を行うというカリキュラムだ。

プログラミングスキルだけでなく、フリーランスに必要な営業力、コミュニケーション力の向上が図れる点も大きな特徴となっている。

自分に合う分野、難易度からプログラミングを始めよう

リスキリングで人気の高いプログラミング。具体的な学習内容は、「何を作りたいか」によって変わる点に注意が必要だ。そして、プログラミング言語によっては学習難易度が高く、初心者向きではない場合もある。将来的に本格的なエンジニアを目指す場合でも、プログラミング初心者は小さなプログラムから手をつけるほうが、挫折しにくいだろう。

まずは、プログラマーの種類、作りたいものと必要なプログラミング言語、そのプログラミング言語の難易度、学習にかける時間などを考慮しつつ、学習全体の方向性を検討してみてほしい。

(ライター 沼尾知佳)

新着記事

Follow Us
日経転職版日経ビジネススクールOFFICE PASSexcedoNIKKEI SEEKS日経TEST

会員登録をすると、編集者が厳選した記事やセミナー案内などをメルマガでお届けしますNIKKEIリスキリング会員登録最新情報をチェック