こんにちは、DAIと申します。普段はマーケターとして仕事をしています。

【その他の画像】

 「プログラミングを学んでみたいけど、何だか難しそう」「学んでみたものの、何を作ればいいのか分からない」と悩んでいる方は意外と多いのではないでしょうか。

 私は独学でプログラミングを学び、いくつかのアプリケーションを作ってきた経験があります。

 そこで、本記事ではプログラミングに関する悩みを抱えているビジネスパーソンに向けて、ビジネスの現場でプログラミングがどう使われているかや、どの順番で何を学んでいけばいいのかを解説していきたいと思います。

 まず、プログラミングを実務で生かすためには、どういったユースケースがあるかを把握しなくてはいけません。コードを書かなくても済むことは何か、コードを書かないといけないことは何かを理解して実装することも大事です。

 特に最近は「No Code」という概念が浸透し、プログラミング不要でアプリケーションなどを作れる開発ツールが増えてきています。プログラミング的な発想をできる人であれば、コードを書かなくても業務を自動化できるのです。

 まずは、私が所属する企業でどのような業務を自動化しているかを紹介します。そのほとんどは、ビジネスチャットツールSlack」を活用したものです。

コードを書かずに業務を自動化

 当社には、エンジニアの正社員はいませんが、その代わりにマーケターなどがプログラミングをして業務を自動化しています。例えば、以下のような例があります。

・Hubspotで申込みが入ると、Slackに自動通知:SaaS Integration

 当社では「Hubspot」という顧客管理(CRM)サービスを利用しており、顧客から申込みがあったときにSlack上で自動通知される仕組みになっています。これは、Hubspotに標準搭載されたSlackとの連携機能を使って実現しています。

 SaaS Integrationは、Webサービス同士を連携させて自動化する方法です。サービス自体が連携機能を持つので、設定を変更するだけで済みます。検索エンジンで「サービスIntegration」と検索すれば、普段の業務で使っているサービスがどのサービスと連携できるかが分かりますSaaS Integrationができるかどうかを、まず調べてみるといいでしょう。

 例えば、Slackは「Google カレンダー」とも連携でき、カレンダーに登録された当日の予定をSlackで自動通知させることも可能です。

 誰でも簡単にできる実装方法なので、SaaS連携で解決できるのであれば一番お手軽だと思います。

Twitterで社名が投稿されると、Slackに自動通知:iPaaS

 当社では、Twitterで社名やサービス名が投稿されたときに、そのツイートを自動でSlack上に通知するようにしています。それによって、お客さまの声がしっかりと可視化され、サービス改善にも生かせるからです。下記の画像は、Webサービス同士を連携できる「IFTTT」というiPaaSサービスを利用し、コードを書かずに実装したものです。

 iPaaSを使えば、各サービスが公式では対応していない連携を行えます。よく知られているiPaaSとして、IFTTTや「Zapier」「Microsoft Flow」などがあります。いずれも直感的な操作のみで、コードを書かずに実装できるので、当社でも重宝しています。サービスの設定画面からの連携ができない場合は、iPaaSの利用を検討してみましょう。

コードを書いて業務を自動化

Google カレンダーの詳細な予定を、毎日Slackに自動投稿:Google Apps Script

 当社では、オンライン上で顧客との面談を行っているのですが、Google カレンダーに設定した面談予定を毎朝Slackに自動投稿しています。米Googleが提供するプログラミング言語Google Apps Script」を使い、Google カレンダーAPIを実行してデータを取得、Slackに自動投稿する――という仕組みです。

 さきほど紹介したSaaS Integrationですと、Google カレンダーの当日の予定をSlack上で通知することは可能ですが、例えば「面談」と書いてある日程を、担当者ごとに抽出してSlackに通知するといった細かな設定はできません。

 このように、SaaS Integrationができない場合や、iPaasもあるがより細かい設定を加えたいときに初めてコードを書くことになります。その際にお勧めなのが、Google Apps Scriptを使う方法です。Googleスプレッドシートなど、Google関連のさまざまなサービスを操作でき、応用範囲も広いからです。

Google Apps Scriptを使う上で必要な知識

 Google Apps Scriptでは、Googleの各種サービスJavaScriptで操作するので、プログラミング初心者の方はまずJavaScriptの基礎を学ぶと良いでしょう。プログラミングを学びたい場合は、オンライン学習サービスを利用すると便利です。さまざまなサービスがありますが、個人的にはProgateのレッスンが初心者にも分かりやすいと感じました。

 次に、Web APIの基礎を学びます。APIは、何かしらのサービス提供者が、そのサービスを利用するために提供するインタフェースのことで、Web APIはそれをHTTPHTTPSベースで実現するものです。

 Twitterで特定のキーワードが投稿されたときにSlack上で自動通知する――という仕組みも、TwitterAPISlackAPIを組み合わせたものです。私のブログでもWeb APIに対応しているサービスをまとめているので参考にしてみてください。

ツールの使い分けはどうすればいい?

 これまで紹介した方法で解決しない場合、私は最終手段としてプログラミング言語の「Python」を利用しています。最近は機械学習ブームなどもあり、Pythonを学ぼうと考える人が増えているようです。Pythonを使えば、Google Apps Scriptよりも細かな実装や大量のデータ処理を行えるでしょう。

 業務自動化について、これまでいくつかの手段を紹介してきましたが、あらためてその特徴を表にまとめてみました。

 基本的には、コードを書く必要がないSaaS IntegrationとiPaaSを検討することをお勧めします。それだと実装が難しい場合はGoogle Apps Scriptを検討し、より細かな実装を求める人はPythonを利用すると良いでしょう。

 私自身、最近まで「Google Apps Scriptを使えば大抵のことはできる」と思って手を動かしていたのですが、今は「いかにコードを書かずに効率良く目的を実現するか」を重視するようになりました。ツールの仕組みが分かれば、ほとんどコードを書く必要はなくなるので、開発も非常に楽になるのです。

●実務でプログラミングを生かすための考え方

 では、「普段の面倒くさい業務を自動化したい」と思った時に、何から始めればいいのでしょうか。意識したいのは以下の3つです。

1. 何を自動化したいのかを理解する

2. どの手段(プログラミング言語サービス)を利用するか検討する

3. 最も簡単かつ安全に実装できる方法を学ぶ

 せっかくプログラミングを学んでも「何を実装すればいいか分からない」という状態では先に進めません。プログラミングは目的を達成するための手段なので、まずは何を自動化できるかを理解していきましょう。いろいろなプログラミングのユースケースを意識的に見つけていくことで、何ができるかもイメージしやすくなります。

 目的が決まったら、それぞれの手段を比較して、一番効率的に実装できる方法を検討します。ここでよくある落とし穴は、本来ならもっと簡単に解ける課題を、複雑な技術を使って解こうとしてしまうことです。コードを書かなくても実現できないか、などを考えていきましょう。

 「コードを書かなくても自動化できるなら、コードを学ぶ必要はないのでは?」と思う人もいるでしょう。しかし、サービスが自動化される仕組みや、プログラミング的な思考を知っておくと、幅広い業務の課題解決に役立つと思っています。

 まずは身近な業務に目を向け、何かしらの課題を解決できないか考えてみることをお勧めします。