最近なかなかブログの更新が出来ていないのですが、今後もブログの内容をどんどん拡充していきたいと思っています。
Google Apps Script(以外、GASと記載します)を広めたい理由と題しまして記事の執筆をしておりますが、今回はなぜ私がGASに魅せられたのか、その背景のストーリーを交えながら皆さんに広めたい理由を記事にしていきます。
すべてはここから始まった
私は、GASと出会うまではプログラムを触ったことがありませんでした。
数年前に勤めている会社では、周りの同僚と比較すると、パソコンの事が分かる(せいぜいExcelの関数がある程度使えるという程度のレベルの低いものですが)という事で社内の準システム担当というような立場を任されるようになってしまい、いろいろなITに関する知識を吸収せざるを得ない状況になったことがすべての始まりだったと今となっては思います。
準システム担当と言っても、本当のシステム担当者は体調不良により出社していない状況でしたので、何かわからなくても聞く人がいないという状況で、私のシステム管理者としての人生がスタートしました。
頼れる人がいないという状況に対しては、不安が無いわけではありませんでしたが、この状況をポジティブに捉え、誰もわからないのだから自分のやりたいものを見つけて、それにもっともらしい理由をつけて社内で提案をすれば誰も否定ができない状況になるかなと妄想し、一人で思いを巡らせていた記憶があります。
社内ではモバイル端末を利用した業務効率化を促進しようとITに疎い会社にもかかわらず外回りの社員全員にタブレット端末を配布し、業務支援ツールとして使用していましたが、所詮サードパーティ製のアプリの寄せ集めでアプリ間の連携がなかなかできていないという状況がありました。
ファイルストレージサービスはDropbox、PDF編集アプリはAcrobat reader、ExcelやWordなどの編集はMicrosoftアプリ、カレンダーはGoogleカレンダーなどなどいろいろなアプリを利用していて、統一感のない状況でした。
みんながITに疎いということも相まっていつも『パスワード忘れました!』や『〇〇アプリがうまく動作しません!』、『〇〇アプリが使いづらいです!』といった細かな問い合わせが各所から日々上がってくる状況でした。私も、メインと担当業務がある中での対応だったのでなかなかスケジュールがタイトな状態で続けていたなと振り返ってみて感じています。
サードパーティ製アプリに頼ることはもちろんメリットはありますが、自社の業務に特化したシステム改変を行うことはなかなかできません。そのため、どこかでほぼ必ず妥協(要望を諦める)する必要が出てきます。その部分では何度も歯がゆい思いをした事があります。
社内ではExcelを使うことが一般的でしたので、モバイル端末でなんとかマクロを使えないかと模索していましたが、それもサポートされておらずなかなかうまく行かないなぁと一人で落胆している状況でした。
当時の社内の状況はというと、企業用有料グループウェアサービスであるGoogleのGSuiteをすでに導入していましたので、お金を毎月支払っているのだからこれをなんとか使えないかなぁと思い調べ始めた事が私がGSの道へ踏み込んだ理由になります。
プログラム初心者にGASをおすすめしたい理由
GASは初心者にこそおすすめしたいと私は思っています。理由はいくつかありますが、一番の理由はとても手軽に始められるという事です。
他のプログラムであれば、コードを書き始めるまでにいろいろと準備をしなければならないことがあり、そもそもここの準備で躓くひとも少なくないと思います。
GASであれば、なんとGoogleアカウントさえあれば、あとは数クリックでコードを書き始めることができるという手軽さなのです。
最近では多くの方がスマートフォンを利用していると思いますが、Android利用の方はほぼ必ず、iPhone利用の方はほとんどGoogleアカウントをお持ちだと思います。Googleアカウントがあれば準備の9割はすでに終了していますので、あと数クリックでコードを書いてシステム開発をすることができる状況です。
皆さんご存知でしたか?
それくらいプログラムを始める敷居が低いことが初心者の方にこそGASを勧めたい理由になります。
これだけ気軽に始められるにもかかわらず、GASでできる事はとてもたくさんあるので、非常に優秀な言語だと私は感じています。
GASでできる事
- スプレッドシートの自動化
- Googleサービスの機能拡張
- Googleサービス間の連携
- 外部APIの利用
- ウェブサイトのスクレイピング
- WEBアプリの開発
などなど、初めて触れる方は何をしたらいいのかわからない程の選択肢があります。ゲームをやる方は広大なオープンワールドが目の前に広がっているという例えがわかりやすいかもしれませんね。
フィールドにほっぽり出されて何をしたら良いかわからない、意外とストレスですよね。
ちなみに、当ブログでもGASを始めるまでの手順はをまとめたページをご用意しています。
こちらからアクセスして下さい。
可能性がありすぎて逆に困る
『色々なことができるという事』は、裏を返せば『何をしたらいいのかを自分で考えなければならない』ということですので、初心者の方にはこの部分は普段使わない部分の頭を少し使って考える必要があるかもしれませんね。
意外とこの部分を最初から明確にすることは難しいのです。
道標があれば効率的に知識を身につけられます
やはり最初は誰でも道標がほしいものです。私は道標がなかったので、自分の唯一の強みである語学力(英語)を駆使してかなり遠回りをしてやっと今のレベルまでこれたと思います。
この経験から、初心者の方はだれか先生となる人を見つけられると効率的にスキルアップができるのではないかと思うのです。
自分一人でやるという方も私は止めませんし、モチベーションを維持できる方であれば一人でやる方がプログラム以外にも副次的スキルが身に付くと思います。わたしも遠回りしましたが、その時に身に着けたウェブ検索力・問題解決力にはかなり自信を持っています。GASとこれらの副次的能力を合わせればできないことはないんじゃないかと言うくらい鼻が伸び切っている状態です(笑)余談はこの辺にしておきますが、自分が続けられる方法を選択することがスキルアップの近道ですので、自分に合うやり方を模索して下さい。
Rome was not built in a day.(ローマは一日にして成らず)
Practice makes perfect.(継続は力なり)
この精神を持って最初から取り組みましょう。
自分が知らない内容が2〜3個の課題をこなそう
今私は、非エンジニアの方にGASの使い方を教えるというようなこともやっておりますが、私がいつも初学者に最初に与える課題はスプレッドシートとGASを使って足し算をする課題です。SUM関数を使えばとても簡単なんですけどね(笑)
それをわざわざGASでやってもらうのが私からの一番最初の課題です。
なぜこんな課題を与えるかというと、わからないことだらけの課題だと最初からやる気が削がれてしまうからです。私の持論ですが、与える課題は常にチャレンジング(その人のスキル以上)でなくてはいけませんが、その人の能力で解決可能である必要があります。このような微妙なさじ加減が教える側の意識には大事だと思っています。
こういう簡単な処理を開発してプログラムの動作を少しづつ理解してもらい、自身と知識を少しずつ身に付けて言ってもらうというやり方で初心者を対象にやり方を教えるのが良いかなと指導の構成を考えています。
あくまでも私のやり方ですので、違うご意見も否定するつもりはありません。
このような感じで、課題を与えてくれる人が入れば効率よくプログラムの勉強ができますね。
『課題のサンプルURL』 https://docs.google.com/spreadsheets/d/1PQ9yAcFiXyesse1u7SlCMguFS_z7vU7z_TSK74Oxhsg/edit?usp=drivesdk
『課題内容』
セルA10にA1:A9の総和を出力せよというシンプルな課題
『身に付けてほしい内容』
- 変数の使い方
- セルの指定方法
- セルの値取得と出力
説明なしでは初心者の方には難しいですので、事前にある程度説明を行い、説明を聞いた後に自分でコードを書いてみて実践で覚えるというやり方を採用しています。
GAS学習における日本人のデメリットと学習における壁
Googleはアメリカの企業のため、日本語の資料よりも英語の資料のほうが充実しています。日本人は英語は比較的読める人が多いと思いますが、プログラム初心者の方にしてみると、見慣れた単語でも違う意味を持ったりする場合がありますので、なかなか理解がしにくい場合があります。
公式リファレンスも英語版しかありませんし、分からないことがあったとしても、日本語より英語のサイトのほうが多くの情報を収集することができます。
当サイトではそのわかりにくい部分を初心者目線で解説できればなと考えています。
学習の壁というのは言語の壁ということになります。英語ができればより多くの情報を取得できますよ。
クラウドスクリプティングの強みを有効利用しよう
クラウドスクリプティングとは、コードの開発をクラウド上で行うGASのようなコードの総称ですが、この強みを有効活用すれば、対面で教えてもらう人がいなくてもインターネットを通して指導を受けることができます。
インターネットにアクセスできる環境さえあれば、同じコードにアクセスしてコードの開発やレビューができるのです。
ここにアクセスして来てくれている人たちはインターネットにアクセスできる環境ですので、もし皆さんの希望があれば私が皆さんにGASの指導をすることがあるかもしれませんね。
簡単に導入できて、
簡単にコードを書き始めることができ、
簡単に指導が受けられる
初心者の方にしてみれば、メリットしかないのではないかと思います。
このような理由から私は初心者にこそGASをオススメしたいと思っています。
難しい専門用語は必要ない、コードは書ける
他のブログを見ていると、すでにある程度の知識がある方を対象に書かれているブログが多く散見しています。
私は元々プログラマーではないし、誰かに教わったこともないのであまり専門用語などには詳しくありません。プロパティとかクラスとかメソッドとかインスタンスとかIT業界は色々な横文字が並んでいますよね。
そのような用語がわからなくても、正直それほど大きな問題はないと思っています。
私もよくわかってないことは多いですが、コードは書けますし、アプリの開発も行うことができます。興味があるなら調べればいいと思いますが、用語を知ってもコードは書けるようになりません。プログラムをより深く理解するためには必要な知識かもしれませんが、興味が出てきてから調べればいいと思うのです。私はまだあまり興味がありませんのであまり調べていないのです。
ただし、このような状況にもかかわらず、GASに関してはかなり書ける方だと自負しています。
ある意味では、私が専門用語をあまり知らないので初心者の方がわかりやすい言葉で説明ができるのかもしれませんね。ある意味メリットです。
スキルが身に付いてきたらオンラインで仕事を受注してみよう
今では、CrowdworksやLancersに代表されるようなクラウドソーシングサイトで誰でも簡単に仕事を受注できる環境があります。
私は、スキルが身に付いた人はこういうサービスを利用してどんどん仕事を受注するべきだと思っています。
今までは趣味で勉強していたりして、スキルアップが目的になっている人がほとんどだと思いますが、そこに副次的に報酬までもらえたら嬉しくてもっとモチベーションの維持につながるませんか?
大事なのは、モチベーションを維持すること
モチベーションの維持に金銭的な収入が効果があるのであれば、どんどんチャレンジすることをおすすめします。
『クラウドソーシングサイトはあまり稼げない』という記事が結構散見されるのですが、私はそうは思いません。
『あまり稼げない』という表現には大事なことが省略されているのです。足りない語句を付け加えるとすれば、私ならこのように付け足します。
『クラウドソーシングサイトは誰でもできる仕事を受注してもあまり稼げない』
これには市場の原理が働いていると思いますが、誰でもできる仕事の募集というのは敷居が低く、誰でも応募できてしまうために競合となるワーカーが多くなってしまいます。
募集 < 応募の場合は、募集者は選び放題のため受注確率が非常に落ちてしまいます。
中にはなかなか受注ができないので、安くても良いやという考えで金額を一般市場の相場よりもかなり落として応募する人も出てきます。物売りであればダンピングという行為ですね。
こういう行為をされると誰も得をしなくなってしまう状況が作り出されます。
通常の相場で提示している人は受注ができなくなりますし、安い金額で受注して完成物を納品してもリターンが少ないので、やる気もクオリティも低い完成物が納品されてしまうということも考えられます。従って、金額勝負担ってしまうと容易に予想できる案件には応募しないことが鉄則です。
案件の中には、募集数名に対して応募が100を超えている案件なども少なくありません。このような案件は応募するだけ時間の無駄です。スキルがない方に応募してもらえば良いのです、
プログラムが出来るようになると、スキル持ちが集う違う畑で勝負ができるようになります。かつての自分がそうであったように、スキルがない人は世間にゴマンとおりますが、スキルがある人はそれほど溢れていないと思います(あくまでも比較の問題ですが)
その土俵に立てることで、
受注率が上がります
受注金額が上がります
営業トーク次第で予算をアップしてもらうことすら可能
私が今までに一月にどのくらい稼いだかは別の機会にブログの記事にしようと思いますが、10万超えたーやったーというようなレベルではありませんので、ぜひ皆さんも同じようにスキルアップと収入アップをしていってもらえればなと思っています。
まとめ
今回の記事では、私のいままでの経歴について少し触れさせてもらいながら、初心者の方にGASを広めたい理由を書かせていただきました。
皆さんにGASが広がってくれれば、システムはより洗練されたものにアップデートされると思いますし、より多くの情報が発信されることで、これからGASを勉強しようと思っている方々にはさらにプログラミングを始める敷居が低くなっていくと思います。
Googleからも日々新しいコードが増やされたりとGASの拡充が継続的に行われていますので、今後もっともっと盛り上げていきましょう!
スキルアップ、収入アップしてより良い生活環境を自分の手で改善していきましょう。