雑記

事務職がプログラミングを勉強するメリット

たびすけ
ブログタイトルにある通り、私は文系で事務職でサラリーマンです。
そんな人種がプログラミングを覚えるとどうなるのでしょうか・・・

自分の価値が高まる

自分の知識が増え、市場価値が上がることが一番です。

それ以外はオマケ程度で考えても良いくらい大きなメリットです。

プログラミングが分かる事務職というだけで結構重宝されます。

企業に勤めていると、勉強しても給料にすぐには反映されないことも多いと思いますが、目先の損得で考えるよりも自分自身の知的資産を増やして将来的にどれだけ価値があるのかを見て考えましょう。

たびすけ
ぶっちゃけ副業して収入増やす方が会社の給料を上げるよりコスパは高いです。
(ただし下っ端に限る)

作業が早くなる

これはマジで早くなります。

一般的な事務職と比較すると作業内容によっては半分以下の時間で終わらせることは良くあることです。

本職以外がコーディングすることに対して否定的な意見は少なくありませんが(他人のクソコードの手直しとか想像しただけで吐き気がするのでお気持ちは察しますが・・・)、別にコーディングしなくても勉強前より早くなります。

Excelについても、VBAを使わず、関数だけの利用でも勉強すると全然早くなります。

作業が早くなる理由

  • データの保持方法が上手くなる
  • コーナーケースを想定して処理できる(エラー回避ができる)
  • 関数への理解が深まる

いくら優れたプログラムでもデータを扱う以上、データの保持方法を最適化しないといけません。

データの保持・出力期待値の想定・コーナーケースの処理が上手くなると業務速度は劇的に向上します。

これはVBAでも関数でも同じです。

実際に私が会社の業務で改善を行う時は、7割くらいはExcel関数とデータ保持の方法の変更とピボットテーブルで対応しています。

VBAを使う時は個人的な作業でこっそり使います。

コーディングすることだけがプログラミングの勉強ではないです。

いわゆるプログラミング的思考というものですが、事務職こそ身に着けるべきだと思っています。

もちろんその勉強の過程でコーディングはすることになると思いますが。

たびすけ
業種にもよりますが、現時点で社員の作業で処理されているデータ量程度であればプログラミングを覚えたらイージーモードですよ!

業務システムへの理解が早くなる

「作業が早くなる」と重なる部分も多いですが、業務システムで何ができるかがメニュー画面とインプット項目を見ればおおよそ検討がつくようになります。

たびすけ
全部分かるわけではないですよ!
画面からデータベース定義を想像すると、実装されている機能がなんとなく想像できるようになります。

システムを使う前に確認すること

  • 入力項目に●●がある
    • 目的の帳票はありそう
    • Excelで集計が楽にできそう
  • 入力項目に●●がない
    • 目的の帳票はなさそう
    • こうすればExcelで集計が楽にできそう
  • 外部取込できそう(できなさそう)
  • 各データにキーになる項目がある
    • ピポットテーブルが使えそう
    • 関数が使えそう
    • SQLで集計すれば楽そう
  • この機能は実装が簡単だからありそう
  • この機能は実装が難しいからあったらラッキー

こんな感じのことを確認したりします。(当然、業務知識は前提にあります)

今まで、便利な機能や目的の帳票があるのに使ってない事務職を多く見てきましたが、プログラミングしていると仕様書を見なくてもシステムごとの標準的な機能や流行りの機能はある程度把握できるようになります。

たびすけ
「プログラミング楽しいーー!!」と思って、機能を使い倒していると自然と知識が増えていきます

情報システム部門との交渉がはかどる

情報システム部門と交渉する時に次のようなことを考えています。

情報システム部門との交渉

  • システムのマスタを変更するだけで対応できそう
  • 開発すればすぐに実装できそう
  • 開発に時間がかかりそう
たびすけ
依頼の難易度を事前に分かるようになります

これって結構重要で、情報システム部門も「なんで使ってないのかな?言ってくれればすぐにやるのに」という機能と「いや、できるけどそれ開発(管理)が面倒なんだよなー」とか思ってたりします。

「できるけど面倒なんだよなー」もこちらが主導権を握って進めてあげると意外に対応してくれたりします。

情報システム部門のコストと自部門のベネフィットを比較して、お互いの立場を考えて上手い落としどころを提案できるようになるんです。

メチャクチャな依頼をすれば知識を持っていても嫌われますけどね。

結局、プログラミングも魔法ではないので「できること」と「できないこと(できるけど面倒なこと)」があることを理解して話し合いを進めないといけません。

たびすけ
プログラミングを勉強するとコーディングできることはもちろんですが、基本的な知識の幅が広がります。
プログラムは魔法じゃないので「なんでも」はできません。
そこを勘違いすると技術屋には嫌われてしまいますよー!

-雑記