この記事はこんなあなたにオススメ
- プログラマとして働く気は無いが、プログラミングを学びたい人
- プログラマとして働く気はなさそうな人に「プログラミング始めたい」って言われ疲れた人
- 非エンジニア向け、プログラミング講習会をやりたい・やっている人
著者の背景
- 新卒からずっとビジネス職
- もともと大学時代に分析系のスクリプトを書いていたが、社会人2年目までは会社でコード書くことはなかった
- 現職はもろもろハックしやすい環境なので、たまに業務を効率化するスクリプトを書いている
独断と偏見での紹介なので、これも教えるに値するよ!いやいや、これは教えるべきじゃなくね?みたいなことあるかもしれませんが、ご愛嬌ということで…
ビジネス職の人が覚えて得する言語を勧めよう
ビジネス職がやってる作業の3割は人類がやるべきことじゃないです。機械でできます[要出典]
一方、そんな個人の作業効率に関する、問題発見・問題解決ができるほどエンジニアリソースは潤沢でないケースがほとんどです。
そこで、そんな3割の業務を彼らが自分自身の手で楽にできるよう、何から勉強すべきかアドバイスするのがおすすめです。
おすすめの言語と実ビジネスへの応用
GoogleAppsScript(GAS)
業務でGoogleAppsを使える環境なら、GASの提案がおすすめです。
特徴
- Javascriptベースの言語
- 従って、フロントや簡単なWEBサービスづくりへの発展性もあってGood
- 環境設定は不要
- GoogleSpreadsheetsやGmail、Googleカレンダーと言ったGoogleAppsとの連動が簡単
- 従ってGoogleSpreadsheetsをDB代わりに使うことができる
- cronのようなバッチ設定が可能なので、サーバー要らずで定期実行が可能
- 初学者には難易度が高いかもしれないが、当然に外部APIも叩くことができる
ユースケース
- 問い合わせフォームの回答を受け取ったら、即時に自動返信をする
- カレンダーとスプレッドシート両方で管理されているスケジュールを同期させる
- ChatWorkで自社の株価を定期的につぶやく
- 定期的にスプレッドシートのバックアップ(スナップショット)を保存する
欠点
- 外部ライブラリに頼りにくく、APIを叩くなどが初学者にとって難しい
- エラーメッセージが分かりにくい
Python
いわずもがな。分析志向の強い人や、既にリテラシ高めの人はハマるかもしれません。
プロダクト志向のひとなら、将来Rails書くこと見越して、Rubyでもいいかも。
特徴
釈迦に説法なので簡単に
- pandasやnumpyなど数値処理が便利
- ライブラリが充実
- ドキュメントも充実
ユースケース
- 定期的に確認しているサイトをスクレイピング
- コピペ系単純作業をbs4とかにやらせる
- 自社に関するTweetを収集してポジネガ分析する
- 暗号通貨の自動売買をする
欠点
- 環境設定は手伝ってあげる必要がありそう。pip使えるようにするところまではやってあげたい
- 地味に、pyenvとかで躓く人はつまづきそう
- Python 2.Xのコードがたくさん落ちているので、サンプルプログラム動かないって泣きつかれそう(print hoge とかで躓く)
やっちゃだめ
C
基本学ぶのには良いなと思いますが、うーんってかんじ
ポインタとかでムダに躓いてほしくないし、非エンジニアならポインタの知識はまじで要らない
Java
オブジェクト志向を学ぶのには良い教材なのかな?
なんか、非エンジニアがビジネスシーンで活用できるイメージがない。偏見?
ExcelVBA
よっぽどExcelerじゃない限り学ばなくていいと思う。記録したマクロを編集できる程度でいい気がする。
死にゆく言語だし、メンテしにくいし、なんか32bit/64bitみたいな論点もあるっぽいし。
なんかこう、辛い記憶しかないや…