Pythonと本と子供と雑談と

いつからはじめても遅くない

アラフォーからのプログラミング: パート1: プログラミングができることのメリット

案外、アラフォーでプログラミングをはじめたLT記事の反応が良かったようなので、その周辺を掘り下げて行こうかなと思いました。

www.mazarimono.net

具体的には、プログラミングを始める際に気になるであろうこと、実際やってみるというあたりを書いていきます。いきなりからパート1となっています。先は考えていないものの、なんとかシリーズものにしていきたいなと思います。

というわけではじまりはじまり。

f:id:mazarimono:20220203103232j:plain

プログラミングができることのメリット

プログラミングができることのメリットには、いつもやっている繰り返し作業を自動化できるという点があります。

仕事をしていてこんな作業があったとしましょう。

いくつかの部署からメールで送られてくる、各商品の日々の売り上げをエクセルで集計して、資料を週レベル、月レベルで作成する。

この仕事を分解すると次のようになります。

  1. 各部署のエクセル収集
  2. エクセルにあるデータを集計する
  3. 集計したデータをもとに資料作成

この作業をプログラミングができる・出来ない・プラスアルファで見てみましょう。

プログラミングできないとき〜

できない人の作業を考えてみましょう。

1. 各部署のエクセル収集

流石に歩いて集める人は今どきいません。メールで集めるでしょう。

各部署からメールが来ると、それに添付されているエクセルファイルをダウンロードして、自分のリポジトリに格納します。

資料が来ない部署があれば、確認の電話をしたりします。この来ない部署みたいな、問題はプログラミングができても存在し続けます。この辺りは人間力だったり、組織作りの問題だったりします。自動的に入力されれば今回の課題だと解決しますが、結局はどこかにボトルネックは出てきます。

2. エクセルにあるデータを集計する

各部署から来たエクセルを一つにまとめます。こういうときは、エクセルが共通化されていると便利ですね。なので、最初に雛形を作って渡しておきましょう。

次にエクセルの便利な関数を使って集計を作成します。たまに、手作業でやる方がいますが、これは反則です。役立つ関数などを部署内で共有しましょう。

3. 集計したデータを元に資料作成

先ほど作った集計をもとに、資料を作成します。

まずは週次、月次のデータのグラフを作成し、そこから各商品の変化を取り上げます。商品の変化は表にしてあればそれを貼り付けても良いのですが、表ですらうまく読み取れないとか、数字は見たくない主義の人もいるので、渋々文にまとめます。

できないとき〜; まとめ

プログラミングできない時のまとめは以上のようになります。

エクセルの関数が使えるか使えないかで、作業時間は格段に変わります。なので、エクセル系のyoutubeなどは関数解説が多いのだと思います。

プログラミング出来ない場合でも、そのようなソフトの機能を使いこなすだけでもかなり効率が上がり、他の作業をケアできるようになります。

プログラミングができるとき〜

できる人の場合を考えてみましょう。

1. 各部署のエクセル収集

メールが来たら、エクセルをダウンロードするプログラムを作ります。自動化です。作成時には時間がかかりますが、その後継続する作業なので、毎週手作業するよりも効率的です。

2. エクセルにあるデータを集計する

先に述べた手作業を全て自動化します。作成時には時間がかかりますが、(略

3. 集計したデータを元に資料作成

同上。

できるとき〜; まとめ

自動化してパイプラインを作成すると、データの収集から資料の作成までができるようになります。作業に2時間かかり、それを毎週していたとすると、52週で104時間が浮くことになります。

その浮いた104時間は、新規事業を考えるなど、新たな価値を生み出す作業時間に使えます。

できるとき〜 plus ツール

プログラミングができるからといって、なんでもゴリゴリ作るべきか?という問題があります。

作るべき!という人もいるでしょうが、私は便利なものであればお金を払って使うべきだと思います。(プログラミングが好きで勉強のためにこれをやるとかはまた別の話)

上の作業なら、経理ソフト系を使うと簡単に資料を作成して、みる状態が作れます。そういうのを使うのが嫌な場合でも、クラウドなエクセルを使って入力して必要な部分はプログラミングしてみたいな感じが良いと思います。

実は「ツール選定もしっかりできるプログラマー」みたいなポジションが一番重宝するのではないかと思っています。これは、次のテーマとしたいです。

本日まとめ

本日は、実際のルーティン作業がどうなるかということで、プログラミングができるメリットを示しました。

プログラミングができるから自動化できて、その時間が浮くから良いぞということでした。

それより良い感じで、プログラミングができてツール選定もできる人ってのをあげました。ツール選定できる能力であれば、プログラミング必要ないのでは?という感じでしょうが、そうでもないと思っているので、そのあたりを次に触れられればなぁと思っております。