ki-ki-blog Written by ⚽kaz±

異業種の方が仕事中にプログラミングする方法【初心者におすすめ】

CODE Programming

異業種からエンジニアを目指している方、エンジニアだがプログラミング以外の業務を担当している方:
プログラミングを学習したいけど、
・仕事が忙しくて進捗が遅いよぉ
・公私ともに忙しくて、学習の時間がとれないよぉ

今回はこんな悩みについて解説していきます。
これを書いたじぶんはこんな人です学卒後から現在も組み込みエンジニアとして従事。業務で計20個以上のツールを作成し、自身、および社内のエクセル作業の自動化を行った経験あり

プログラミングの勉強をできる時間帯はいつでしょうか?まず質問です。エンジニアとそうでない方で、どちらのほうがプログラミングの学習時間が多いでしょうか?答えはもちろんエンジニアです。理由は以下。

  • エンジニア以外の方:仕事以外の時間でしか学習できない
  • エンジニア:仕事中、及び仕事外の両方の時間で学習が可能

なので、仕事中に学習できるほうが、そうでない方より圧倒的に学習時間を確保することができます。でも、エンジニア以外の方は、プログラミングが仕事でないからそれは難しい・・・。そんなことはないです。

異業種の方が社内でプログラミングする方法:業務お役立ちツールを作る

エンジニア以外の方で、仕事中に合法的にプログラミングを行う方法、それは自分の業務に役立つツールを作成することです。なぜかというと、

  • 業務をもっと効率化したいが、みんな時間ないし、時間あっても作れないから
  • 作ればまわりから重宝されるから

「もっとこうやりたい」「この作業がめんどくさい」という言葉、職場でよく聞きませんか?「自分ならそれを自動化できますので、その改善作業をやらせてください」と上司にお願いすることで、たとえエンジニアの方でなくても、プログラミングを仕事中に行うことが可能となるのではないでしょうか。

そうすることで、エンジニア以外の職業であるにも関わらず、エンジニアと同じ学習時間を確保することが可能となります。エンジニア目指してプログラミング学習中の初心者の方に本当におすすめなやり方です。

とくに、事務員など、事務作業の方には本当におすすめです。事務作業というのは、「めんどくさい」「ルーチン化」の作業がたくさんありますので。

どんな事務作業を自動化するか

まずはエクセル作業に着目するとよいでしょう。エクセルはどこの企業も使ってるはずなので。そして、身に着けるべき技術はVBAという言語となります。簡単にいいますと、「エクセルを自動化するための言語」となります。
VBAを使えることになることで、

  • 任意のセルに移動
  • 移動先でやりたい処理を実施
  • 次のセルに移動

という感じで、処理をしたいセルに移動し、処理をしたら次のセルに移動、というのが可能になります。すなわち、この動き自体が自動化された動きとなります。なお、じぶんは、こちらの書籍で学習しました。
>>学生のためのExcel VBA 第2版

作成オススメのお役立ちツール:「自動化できる系」

  • 機械的にここの値をここに移動する
  • コピペした値をもとに、ある一定の演算式でデータを生成する

こんな業務を自動化してしまいましょう。
参考:じぶんがつくった自動化ツール「アンケート自動集計ツール」アンケート自動集計ツールを作りました。
アンケートの概要はこんな感じ。

  • 総務部がエクセルで作成した、改善活動に関するアンケートについて、従業員がエクセル上で質問に回答。
  • 従業員の数だけエクセルファイルが存在する。

これを、以下のように自動化

  • ファイルをすべて特定のフォルダに置く
  • その中からファイルを一つずつ自動で開く
  • 開いたファイルから、特定セルの値(アンケートの回答欄となっているセル)を別ファイルにコピペ

そして、このコピペされたファイルがアンケート集計結果ファイルとなります。こんな感じで、アンケート集計結果の自動化を行いました。それまでは派遣さんが人的に集計していたそうなので、びっくりされましたね。

作成オススメのお役立ちツール:「めんどくさい系」

ここからここにコピペして、それをもとにして、エクセル以外の別のツールを立ち上げ、ある作業を行う・・・

こんな感じで、完全に自動化はできないが、ある作業を一つ一つ細かく細分化し、そのうちの一つでも自動化できるようなネタが、あれば、それを自動化するとよいでしょう。

なぜなら、それだけでも業務効率は上がるはずなので。上司もそのような一部自動化にも賛成してくれるのではないでしょうか。

参考:じぶんがつくったツール「ファイルのパス生成ツール」概要はこんな感じ。

有償ツールに、ある条件に合致したファイルのパスを設定する必要がありました。で、その有償ツールの動作までは自動化できませんでしたが、ファイルのパスの生成を自動化。

これを、以下のように自動化

  • カレントパスに移動
  • そのパスに置いてあるフォルダについて、最下位層まで自動で進んでいく
  • 条件に合致するファイルを見つけると、そのときのパスを一時的に新規シートにメモ
  • メモ結果が、有償ツールにかけるデータ(ファイルのパス)となる

作成したら、他者に使ってもらい、感想を聞きましょう

実際にツールを作ったら、他者に使ってもらうことはもちろんですが、その際は必ず感想をきくようにし、そのフィードバックをツールに反映しましょう。

なぜなら、 自分はよかれと思っていても、同僚は違う意見をもつことが多いからです。自分だけのツールだったら別にいいのですが、チームや部署のお役立ちツールでしたら、同僚の意見は絶対なので、きちんと意見をきき、その内容を速やかにツールに反映しましょう。

注意:他者への展開は段階的に

ここまで書くと、ツールを作った瞬間に関係者に一気に展開してしまいがちですが、それはやめましょう。いきなり全社員に展開すると、なにかエラーがあるとざわついてしまうからです。なので、ツール作成後の流れは以下がよいでしょう。

  1. じぶんで試す
  2. そのあと、まずは自分のチーム内でのみ使用
  3. 他者が使った感想を汲み取り、ツール修正
  4. 全体に展開

仕事中にプログラミングすることで、社内外の評価をあげよう

これまで解説した通り、たとえエンジニアでなくても、仕事中にプログラミングの学習をすることは可能です。もちろん初心者でも。なので、エンジニアを目指す方はこれをどんどんやっていきましょう。

なぜなら、そうすることで、

  • 社内:みんなから重宝される
  • 社外:実績をアピールできる

と、なるからです。
エンジニアを目指す初心者の方でも、エンジニアのように、仕事中、及び仕事外の時間をプログラミングに注ぎ、理想の生活を手に入れましょう。

最後に:エクセルの自動化を学習するときはエンジニアも、エンジニア以外の人も、業務でプログラミングをする場合、その内容にもよりますが、記事中でも書いたとおり、まずはエクセル作業の自動化が始めるとよいでしょう。

その際、学習をする必要がありますが、VBAの教材は星の数ほどあり、正直どれでもいいのですが、初心者の方は以下のようなテキストにするとよいです。

  • ページ数が薄いもの
  • 演習問題が多いもの

ページが薄い本を選ぶ理由は、たとえ内容が薄くとも、「1冊やりきった!」という経験を積めるからです。また、あまりに分厚い本を買うと、挫折する可能性が高いうえ、「まだこんなに残っている・・・」と、学習段階でプログラミングから離れてしまう可能性があるから注意です。

また、読むだけではわからないので、演習問題が豊富に載っているテキストを選ぶとよいですよ。

自分が行った教材を紹介しておきます。
>>学生のためのExcel VBA 第2版

今回は以上です。

合わせて読みたいプログラミングスクールはやめとけ?【時間と根気で判断しよう】