未経験からプログラミングをはじめるには何を選んだらいい?
このように未経験者がプログラミングを学習する場合、まずは何を勉強したらいいのかと悩んでいる方は多いのではないでしょうか。
実際に、多くのプログラミング言語では開発環境の構築をはじめプログラミング言語ごとの文法を理解するなど、やることがたくさんあります。
また、学習中になんらかのアプリケーションを作成する際に完成イメージを持ちづらく、なんとなく一般的なtodoアプリのようなサンプルアプリを真似することになりがちです。
そのため、実際にアプリを作る過程で必要な実装力が身につかないことがしばしばおきます。
そのため僕は、プログラミングの完全初心者はGoogle Apps Script(以後GAS)から学びはじめることをおすすめしています。
GASのようなどの業界でも普段の業務で利用するアプリケーションを使ってデータ操作を自動化する場合
- 日頃行っている業務イメージをもとにアプリの設計を行うことができ
- それを最終的に自動化などをすることですぐに自身で使えるアプリになるため
プログラミング学習と日々の業務効率化を両方行うことができるので、まさに一石二鳥です。
この記事では、未経験者がプログラミング学習をはじめる際の挫折ポイントやGASをおすすめする理由、GASの概要や注意点、具体的なはじめ方や僕がやったことなどを解説します。
GASを使った簡単なツールの作り方を学んでいき、そこから徐々に本格的にWebアプリケーション開発へのスキルを積んでいきましょう。
未経験者がプログラミング学習で挫折するポイント
GASについて紹介をする前に、未経験者がプログラミング学習をする時に挫折してしまうよくあるパターンについてまとめました。
プログラミング学習のよくある挫折パターンと原因分析
- 難しい概念に最初から取り組みすぎる
- 実践的なプロジェクトがないまま理論だけを学習する
- 目標が大きすぎて途中で心が折れる
- イメージがわかないまま開発手法だけ学ぶので本質的な理解が難しい
上記のようなプログラミング学習に挫折するパターンを見ていると、知識やノウハウを覚えることばかりに集中して実際にどのように動くのかを理解できずにつまずいている印象です。
プログラミング初学者にもっとも大事なのは、自分が書いたプログラムによってこのように動くんだという経験を重ねて体感していくことです。
たしかに。特にプログラミングの学びはじめは、書いたプログラムがどういった動きをするかを都度確認しながら進めるとわかりやすいな。
そのため、僕がプログラミング学習でおすすめする効果的な学習方法としては
- 小さな成功体験を積み重ねる
- 実務に近いカタチでの学習アプローチ
- コミュニティやメンターの活用する
などがあります。
特に自分の専門領域がニッチなものだったりすると、会社や周囲の人だけではなかなか有益な意見を聞けないことが少なくありません。
そんな時にコミュニティやメンターとつながるには、Xを活用するのがおすすめです。
ITエンジニアがXを活用するメリットについてもっと詳しく知りたい方はこちらの記事をご覧ください。
また、現職でできることからステップアップをして未経験からITエンジニアになることもできます。
その方法についてもっと詳しく知りたい方はこちらの記事をチェックしてください。
プログラミング初学者におすすめのGAS
上記で効果的な学習方法として挙げた「小さな成功体験を積み重ねる」ために僕がプログラミング初学者におすすめしたいのがGASです。
GASで簡単なツールを作ってプログラミングの基礎を学んでいき、次第に本格的なWebアプリケーション開発へ移行していくとスムーズにプログラミングが体に入ってくるでしょう。
プログラミング言語が数ある中、なぜGASからはじめるのが良いの?
そんな疑問にお応えするべく、次からは僕がなぜGASをおすすめするのかについて解説します。
なぜGASから学びはじめるのが良いのか?
まず結論を先にお伝えすると、プログラミング初学者にGASをおすすめする理由はさまざまな面で学習する際のハードルが低いものだからです。
さまざまな面の詳細をいくつかに分けて説明する場合
などのポイントになります。
すぐに開発をはじめられる
GASはGoogleアカウントを持っているだけで開発をはじめられるので、プログラミング初学者にとって最適な選択肢のひとつです。
また、特別なソフトウェアのインストールや複雑な環境設定は必要なく、ブラウザさえあればWindowsでもMacでも開発が可能となっています。
無料版のGoogleアカウントは制限があるので、Google Workspaceを使用するとより多くのプロジェクトを作成できて実行時間の制限も緩和されるため、本格的な開発にも対応できるでしょう。
自分で環境設定を整えなくても良いのは負荷が減るので有り難いな。
すぐに実際に運用することができる
GASは開発したプログラムをすぐに実際に運用できることも特徴で、Googleが提供するクラウド環境の中で動作するので外部のサーバーを用意する必要はありません。
また、プログラムの定期実行を設定できる「トリガー機能」も利用できるため、業務の自動化も簡単です。
プログラム運用に必要な機能が最初から揃っているため、開発から運用までスムーズに進められることがGASの大きな魅力と言えるでしょう。
たとえば、Googleフォームへの回答があった時に自動処理を実行したり、毎月1日に定期的な処理を行ったりすることができます。
Google各サービスとの親和性が高い
GASはGoogleが提供するさまざまなサービスと簡単に連携できます。
たとえば
- Googleスプレッドシートでデータを管理して
- Gmailで自動送信を行い
- Googleカレンダーに予定を追加する
といった連携が可能です。
数行のシンプルなコードでも目に見えるカタチで結果が得られるため、プログラミングの便利さを実感しやすいのが大きな特徴です。
また、業務効率化やデータ連携などアイデア次第で活用の幅が大きく広がるでしょう。
GASを学習して得られるもの
僕がGASに触れたことで習得できるなと感じたのは、基本的なコードの理解や必要最低限の記述ができることで、それによって実際に業務時間も3割ほど削減することができました。
加えて、備わった能力的なところで言うと
- 複数のパターンを用意する力
- 構造体系を把握する力
- 想定パターンを考える力
- 単調な作業をこなす忍耐力
なども自ずと培っていきました。
1つのやり方で上手くいかないこともあるので、複数のパターンを用意すしたり想定しておく癖はいわゆる職業病でしょうかね・・
GASからプログラミングを学んだ方が良い理由や得られるものがわかったところで、改めてGASについての基本情報についてご紹介します。
Google Apps Script(GAS)とは?
GASはGoogleが提供している便利な開発ツールでおもな特徴は、Googleの各種サービスを自動化したり連携させたりできる点にあります。
たとえば
- Googleスプレッドシートに入力したデータを使ってGmailで自動的にメールを送信したり
- Googleカレンダーに予定を自動登録したり
することができます。
また、プログラミングの経験がなくでも必要最小限のコードを書くだけで目的の機能を実現できる「ローコード開発」というアプローチなのも特徴です。
Microsoft OfficeのマクロやOfficeスクリプトを使ったことがある方であれば、それらのGoogle版だと考えていただくとイメージがつきやすいでしょう。
うちの会社のExcel管理表は予定表や納品リストを作るマクロがセットされているけれど、それと同じようなものなんだな。
GASでできる具体的なユースケース
GASでできることは非常にたくさんあります。
特に、Google Workspace内のアプリケーションである
- Googleドキュメント
- Googleシート
- Gmail
- Googleカレンダー
- Googleフォーム
などと相性がよく、これらのアプリのWeb APIを使って簡単なアプリなどを作るのに最適です。
また、GASでできることについてポイントをいくつかまとめました。
- スプレッドシートの自動化
- データの自動入力・更新
- 定期的なレポート作成
- データの自動集計・分析
- メール関連の自動化
- 自動返信システム
- メール内容の自動振り分け
- 定期的なメール送信
- カレンダー連携
- 予定の自動登録
- リマインダーの自動設定
- 空き時間の自動調整
- フォーム連携
- 回答データの自動集計
- カスタム承認フロー
- 自動返信メールの送信
- Webアプリケーション
- 社内ツールの作成
- データ入力フォームの作成
- ダッシュボードの作成
定型業務として複数の案件を扱っている管理表を見てその都度協力会社にメールを送っているので、連携できればかなり効率化が図れるな。
このようにGoogleアカウントひとつで開発ができてGoogle Workspace内のアプリケーションと連携しやすいGASですが、利用時に留意する点もあります。
まず、GASはJavaScriptの互換言語のためローカル環境に置いているファイルの操作はできません。
これはWebブラウザからローカルに置いてあるファイルにアクセスできてしまうとセキュリティの上で問題になってしまうからでもあります。
また、アカウントの無料・有料に関わらず、下記にある実行時間の上限を超えるとスクリプトが強制終了されるので注意しましょう。
実行時間についての制約
制約される項目 | 制約される内容 |
スクリプトのランタイム | 6分/実行 |
カスタム関数のランタイム | 30秒/実行 |
実行時間については、無料のGoogle(G Suite)アカウント、有料のGoogle Workspaceでも同じように制限がかかるので注意ですね。
GASの基本情報がわかったところで、次では具体的なはじめ方について解説をします。
GASではじめてのプログラミング
こちらではプログラミングの第一歩として、GASを使って実際にプログラミングを作成してみましょう。
その前にGASには2つの開発方式があります。
コンテナバインド型とスタンドアロン型
コンテナバインド型 | スタンドアロン型 | |
エディタの起動 | Google Workspace内のアプリケーションでから | Googleドライブ上で新規作成 |
Googleサービスとの連携 | ○ | ○ |
Webアプリケーション開発 | ○ | ○ |
今回はコンテナバインド型を使って説明します。
GASでHello World!を表示させてみよう!
はじめてのプログラミングとして、コンテナバインド型のGASを使ってプログラムを作成してみましょう。
今回はGoogleスプレッドシートで行います。
メニューにある「拡張機能」から「App Script」をクリックします。
下記のような画面が表示されるので、枠で囲っているスクリプトエディタの領域にコードを記述します。
エディタが起動した時点で自動的にスクリプトファイルが作成されるので、自分がわかるようにプロジェクト タイトルを変更しましょう。
function myFunction() {
}
上記コードの「{」と「}」の間に下記コードを入れますと・・
Logger.log('Hello, world!');
オレンジ色で囲った部分(下の囲み)のようになります。
入力後にツールバー上にある「保存」ボタンをクリックします。
ツールバー上の「実行」ボタンを押して、4で作成したプログラムを実行しましょう。
5を行うと「実行ログ」のエリアに「Hello World!」が表示されました。
これで、すべて完了です!
すごい、GASってこんな感じでサクッとできるんだ!
はじめの一歩として実際にGASを動かしてみたところで、次では僕が実際にやってみたGASを使った事例についてご紹介します。
ウリが実際にやってみたGASの事例
ウリの実体験 〜野良GASには要注意〜
前職の時に、マーケティング部門の人がGASの中からBigQueryに対してSQLを実行して、その実行した結果をスプレッドシートに保存するようなジョブを作っていました。
たとえば、BigQueryに格納されているインターネット広告運用の実績データをスプレッドシートに表示させるようなものですね。
GASは基本的にはJavaScriptと同じようなものなので、外部サービスのWeb API(ここではBigQuery API)を実行してその実行結果をスプレッドシート上に取得できるなど自由度が高いです。
ただその一方で、全社的に管理が必要な仕組みに対して勝手にWeb APIを実行するような処理を勝手にGASで作ってしまうと誰も管理していない状態になってしまいます。
まさに「野良GAS」とならないように、併せて管理できる体制作りをするなどの対策が必要です。
みんなで共有できるということは、同時に管理体制もしっかり考えないといけないという教訓をこの時に学びましたね・・
少しほろ苦い僕の経験談をお話ししたところで、次では僕がGASを勉強するときに役に立った書籍や動画についてご紹介します。
ウリがおすすめするGAS関連書籍・動画
僕がGASを勉強した際に役に立った書籍をいくつか紹介しますので、ぜひ書籍選びの参考にしてください。
Udemyは頻繁にセールを開催していて期間中は8〜9割くらい安くなるので、セール期間中に購入することをおすすめしますね。
まとめ|GASはWeb開発への橋渡し
これまで、未経験者がプログラミング学習で挫折するポイントやGASをおすすめする理由、GASの概要やメリット、具体的なはじめ方や僕がやった事例について解説しました。
GAS上で簡単なアプリケーションを作ったら、今度は本格的なWebアプリケーション開発に進みましょう。
GASでもWebアプリケーションは開発できますが、ITエンジニアを目指すことを前提とするのであれば、JavaScript(Reactなど)やRuby on Railsなど、本格的なプログラミング学習に入るのがおすすめです。
その上で、一旦はGASを通じて以下の基本的な知識を押さえておくのが良いでしょう。
- GASでのWebアプリケーション作成
- HTML/CSSの基礎知識
- APIの概念とRESTful APIの理解
次のステップとしてWebアプリケーション開発で言えば、Ruby on Railsあたりから入るのがおすすめです。
Ruby on Railsについて詳しく勉強したい方は、専門実践教育訓練給付制度の対象講座である「Webエンジニア転職コース Ruby on Rails専攻」がある
\ Web系企業就職率94%、受講生満足度92% ※/
※1:RUNTEQ受講生のうち所定の学習を履行された方およびRUNTEQ Agent経由で転職活動を履行された方に関する就職率(2023年1月〜2023年6月のRUNTEQ統計より)※2:2023年8~9月に現役受講生を対象としたアンケート結果より
また、今回のように学習した内容を自分への備忘録として技術ブログなどに書きためておくと良いでしょう。
ITエンジニアが技術ブログを書くメリットや具体的なはじめ方について、もっと詳細を知りたい方はこちらの記事をご確認ください。