新人プログラマーによる3つの業務効率アップ術
前回の記事では、「エンジニア、プログラマーになりたいならとりあえずなってみれば良い」、ということを中心に自分の意見を説明していきました。
今回は、新人プログラマーが自分の作業効率を上げるために行った工夫と、何がより効果的だったのか、について理由を交えて紹介していきたいと思います。
簡単に自己紹介
新卒から塾会社で働き、諸々の事情から別業種への転職を考え、半年間プログラミングを独学後、プログラマーに転職しました。この記事を書いている段階ではプログラマーになって9ヶ月ほど。業務では設計書からプログラムを書く製造の工程を中心に担っています。
1.EXCELマクロの活用
プログラマーになって、もちろん製造工程なのでプログラムを書いている時間が一番長いのですが、自分のタスク管理や日々の業務進捗報告などでよくEXCELを使っています。
プログラマーになってみてちょっと驚いたことなのですが、チームで開発するとなると一つのファイルに膨大なプログラムを書いていくのではなく、小さく小分けされたパーツを大量に作っていくようなイメージになるんですね。(もちろんひとつのパーツがめちゃくちゃ大きいこともあります)
この辺は、以前「チームで開発すること」についての記事を書きましたので、まだ読まれていない方はぜひ↓
そのため、Aというパーツを作っている時に、Bというパーツを急ぎで作らなければいけなくなったり、Bというパーツを作っている時にCというパーツのレビュー結果、少し修正が必要になったり…という風に、結構タスク管理が大変だなと思いました。
ただ、タスク管理をするにしても、全て手打ちで状況を入れていくのは大変だったので、必要最低限の情報を入力すれば後はマクロを実行するだけで補完し、その内容を別のマクロ一つで業務報告のメールにする、という風に、決まりきったルーティン部分をマクロに任せて自動化しました。
そうすることで、タスク管理のストレスが激減し、プログラムを考えることに専念する時間が増えた分、プログラミングのスキルも早く伸びたのではないかと思います。
他にも自動化するツールは色々作りましたが、ツールを作ることが習慣付いたことで、何か業務を行う際には「どの部分なら自動化出来るか」を考えるようになりました。
プロジェクト自体がそこまで忙しくなかったのもあると思いますが、EXCELマクロをしっかり活用し、初心者ながらプログラミングに集中する時間をしっかり作れたからこそ、入社してから残業時間を合計10時間未満に抑えられているのだと思います。
2.業務で使用するツールの使い方を勉強
EXCELマクロに比べてざっくりした書き方になっていますが…(笑)
例えば、プログラミングをする際にコードを書いていくエディタの機能ですね。僕の場合はサクラエディタを使っていたのですが、入力補完とマクロをしっかり活用することで、コーディングの効率をかなり上げることが出来ました。
僕の業務ではSQLを書くことが多いのですが、SQLはSELECT文、INSERT文などでそれぞれ書き方の型があるので、その型を呼び出せるようにマクロを活用し、テーブル名やカラム名が長ったらしいものは、入力補完で素早くミスなく書くことが出来るようになるなど、機能を調べて活用したからこそ出来るようになりました。
プログラミングの勉強となると、言語についての学習を思い浮かべる方がほとんどだと思いますが、僕のように本当に未経験からプログラマーになる人は、エディタに付いている便利な機能をしっかり勉強することも大事だと思います。道具の使い方も知らないのに、良い仕事なんて出来ないですよね。
エディタとEXCELについては、おそらくプログラマーはよく使うのではないかと思うので、これからプログラマーを目指す方は今一度、「エディタ 便利機能」「EXCEL 便利機能」などでググってみることをオススメします。思っている以上に色んな発見があって面白いです。
僕は業務時間外で仕事のためにプログラミングを勉強する時間はほぼ取ったことが無いのですが、エディタやEXCELの使い方についてはスマホで隙間時間を使ってよく調べていました。
3.キーボード操作を覚える
僕の場合、マウスを使った操作だとどうしても目を使ってクリックする場所を探さないといけないのがネックだなと思っています。
目の移動が多くなるとその分気が散るような気がするので、出来るだけ無駄な目の動きをなくすためにも、キーボード操作はある程度身につけて、慣れておくことをおすすめします。
EXCELやOutlook、サクラエディタ、Chromeなどのアプリケーションごとのキーボード操作に加え、Windowsそのもののキーボード操作(と言っても僕が使うのはウィンドウの切り替えくらい)もよく使う操作くらいは覚えておくと、かなり作業効率は上がると思います。
特にコーディングの際は設計書のファイルとエディタの画面を行ったり来たりするので、Alt+Tabキーでウィンドウの切り替えに慣れておくと楽です。何かと色んなファイルやアプリを起動していたりするので、マウス操作だと個人的に結構ストレスが掛かります。
終わりに
途中で書きましたが、製造工程であっても、プログラマーとして働く時はコーディング以外の部分で頭を使う業務も結構多いです。
僕の頭は大して優秀ではないので、色んなことを並行して行おうとするとすぐに限界が来ます。そうならないように、自分の記憶や能力には頼らず、既存の機能やマクロにまかせて、極力自分の頭は使わない工夫こそ大事なのではないかとこの9ヶ月ほどで学びました。
「頭と時間を使いたくないから、頭を使わなくても済む方法を頭と時間を使って考える」って、頭良いやつっぽい考えで気に入っています(笑)
EXCELマクロで使用するVBAも、サクラエディタのマクロで使用するJavaScriptも、僕の場合は本業ではほとんど使わないので、本来無くても良いスキルではあるのですが、もし今後もEXCELやサクラエディタを使ったプロジェクトに配属されることになれば、同じようなことが出来ると思うとかなり気楽です。
効率化、自動化をすることで暇な時間を作り出し、その時間をさらにツールの勉強や作成に当てることでさらに効率化し…という循環は、今後どんなプロジェクトに行っても必ずやりたいなと思います。(絶対に残業したくないので)
最後まで読んでいただきありがとうございました。
今後もプログラミング学習やプログラマーとしての仕事、副業に関することなどを中心に記事を書いていきますので、良ければ読んでいただけると嬉しいです。
Twitterもやっていますので、気軽にフォロー・リプライください。質問などもしっかりお答えします。