日頃の業務でなにかしら作業するにあたり、避けて通れないであろう効率化……
これについて、少し前にバズったツイートがあります。
本文のリンクと文言は忘れてしまいましたが、それに関するメモが残っていました。今回はそのツイートもといメモに基づいて、自分なりにまとめていきます。
作業は自動化する
これは「何度も繰り返した定型的な作業はプログラムによって自動化すると良い」という旨だと思います。
ちょっとした効率化を小さなプログラムで実現していくことはとても大切なことです。
効率化の方法をプログラムによって具現化すること、そしてそれを積み重ねることはITエンジニアとしてのレベル向上に強く繋がると確信します。
質問は文書化する
「ある事柄について何度も繰り返し質問した」ということは、同じような質問が今後も繰り返されることを意味します。
どうせまた同じ質問をするなら、QAサイトを作って共有することが望ましいでしょう。
その際には、質問とその回答を文書化しておく必要があります。
処理は共通化する
これはプログラミングの基本といえるところでもありますが、案外できていなかったりします。
修正や拡張がしやすいように、成果物として管理しやすいように、処理の共通化を図っておくことは欠かせません。
もし同じ処理が必要になる場面が何度もあれば、関数やクラスにまとめてしまうと良いでしょう。
指摘されたら規約化する
これも前述の質問の時とほとんど同じでしょう。
「ある事柄について何度も繰り返し同じ指摘をされたこと」に対しては、手間やミスを避けるために工夫が必要となります。それが規約化です。
規約をWordなどで文書化して、それを共有することが望ましいでしょう。
同じ文書を作ったら定型化する
契約書や見積書は、内容は異なるにせよ形式は同じです。
同様の形式の文書を何度か作ったら、そのひな型を作った方が良いでしょう。
たとえば要件定義書や外部仕様書、内部仕様書……、といった仕様書はその最たるものですが、先ほど書いたQAや規約についても同じことが言えますね。
ミスしたら仕組み化する
同じミスを二度と起こさないようにするためには、ミスを生まない仕組み化が必要です。
これはプログラミングによるものであっても良いですし、業務上の手順をリスト化して書いておくだけでも良いです。
もし手順をプログラムに落とし込めるのであれば、進んでソースコードに落とし込んだ方が良いでしょう。
経験の言語化をはかる
自分の経験は、図らずも他の人の役に立つものです。
ただし、必ずしも役に立つ必要はありませんし再現性に乏しくても大丈夫。とにかく書ける範囲で書いてしまえばいいと思います。
たとえ思考の整理のためにポエムじみた雑記を書いてそれをネットに公開したとしても、それはそれで他者からの共感を得らるかもしれません。
エンジニアとしてのみならず人間としての魅力も伝えることに繋がるでしょう。
それでは今回は以上です。
最後までお付き合いいただきありがとうございます。