この記事では、エンジニアやプログラマーにとって、キーボードを使ったショートカットキーを覚えることが重要かどうかについて考えていきたいと思います。
皆さんは、パソコンを使って仕事をする時、キーボードのショートカットキーを頻繁に使っていらっしゃいますでしょうか。
私がシステムエンジニアとして社会人になったばかりの頃、先輩や上司から、キーボードのショートカットキーを使ってコンピューターを操作できるようになる事は、仕事の効率を上げる上で非常に重要なことであると教わりました。
それを聞いた私は、一生懸命キーボードのショートカットキーを覚え、OS自体のショートカットキーや、各アプリケーションに用意されているショートカットキー、エディターを操作する際のショートカットキーなど、日頃操作するソフトウェアに用意されたショートカットキーは一通り覚えるようにしていました。
それによって、仕事の能率は確かに上がり、スピード感を持って業務を行えている自覚が少しずつついてきたのですが、ある時期を境に
「本当にショートカットキーと言うものは、そんなに重要だったのだろうか?」
と、思うようになりました。
この記事では、このショートカットキーを覚えることが本当に重要なのかということについて考えていきましょう。。
業務の効率を上げる上では、ショートカットキーは非常に役に立つ

私は社会人としてのキャリアを、SIerの企業でスタートしました。
よくも悪くも少し古い部分があり、業務の中でExcelを使って行う作業も多かったです。
そういった業務においては、ショートカットキーを覚える事は非常に役に立ちました。
また、ショートカットキーだけでなく、OSに用意されたIME辞書のような機能を使って、タイピングの効率を上げるようにもしていました。
もし、事務的な仕事が多かったり、開発業務中にでもExcelを使ったテスト証跡や仕様書を作成する必要があるのであれば、ショートカットキーは非常に有用なものになるでしょう。
また、どんな業務であっても、コンピュータを使って仕事をする以上、わざわざマウスを使って操作するよりも、キーボードを使って操作する方が効率が良いのも事実です。
極論を言えば、GUIでパソコンを操作するのではなく、コマンドラインで操作をすれば、マウスなど一切使わずにスピード感を持って操作することができるのかもしれませんが、通常業務でコマンドラインからパソコンを操作すると言うのは、あまり現実的ではない場合が多いでしょう。
やはりパソコンを使う上で業務効率を上げる現実的な方法としては、キーボードのショートカットを覚える事は有効な方法なのかもしれません。
エンジニアとしてソフトウェアを作ると言う事は、多くの場合、ユーザの方の業務効率を上げることが目的となるでしょう。
コンシューマー向けのサービスを開発しているのであればまた違った目的があるのかもしれませんが、エンタープライズ系の業務システムを開発している場合は、ユーザの業務効率を上げることが、基本的には開発の主目的となります。
そう考えると、システム開発の本質は業務効率化ですから、エンジニア自身が自分たちの業務を効率化しようとする事は、自然なことかもしれません。
また、効率的に行えないことにフラストレーションを感じるという事は、業務効率化の重要性をわかっているという事ですから、エンジニアの仕事においてそういったマインドは重要になってくるのかもしれません。
キーボードのショートカットは、面倒くさがらずに一回覚えてしまえば、その後の業務をずっと効率的に行うことができるものですから、そこを面倒くさがらずに取り組めるかどうかが業務の効率を分けるポイントかもしれません。
また、キーボードのショートカットキーだけでなく、自分自身で業務を効率化するためのスクリプトを作ってみたり、手作業を減らすためにバッチ処理を組んでみたりする事は、エンジニアにとって楽しみながら業務を効率化していく1つの方法だと思います。
そういった、業務効率化のためのツールの開発を行うという事は、最初に面倒くさがらずに開発作業を行うことによって、その後継続して効率化の恩恵を受けるということです。
つまり、最初に苦労しておくことによって、その後ずっと楽をしようということです。
この、エンジニアに必要なマインドを持っている方であれば、当然、ショートカットキーを使わずにずっと非効率的な方法で作業し続けるという事は、避けたいことの1つでしょう。
ぜひ、ショートカットキーを駆使しながら効率的に業務を進めていきたいものです。
ショートカットキーは重要だが、本質ではない

前述のように、ショートカットキーを覚えて効率よくパソコンを操作する事は、業務効率化において非常に重要なことだと思います。
ただ、プログラミングの業務を続けていて感じるのは、確かに効率化は大事ですが、それは本質ではない、ということです。
システム開発で重要とされることは、素早く、品質の高いシステムを作ることです。
ただ、プログラミングにおいて、キーボードを叩いている時間というのは、そこまで長くはありません。
というのも、既存のプログラムを読んで仕様を把握したり、どういった設計で開発を行うべきなのかを考えたりする時間の方が、プログラムを書いている時間そのものよりも長い場合が多いのです。
確かに、エディターを使いこなして素早くプログラムをかける事は非常に便利ですし、積極的に行っていくべきことです。
ただ、エディターを使いこなして、素早くコーディングをしたからといって、そのソースコードの保守性が高く、良い品質のものが作成されているとは限りません。
また、どんなにショートカットキーを覚えたからといって、プログラミングそのものについて知識がなければ、当然プログラムを書くことができません。
プログラムそのものについて学び、設計について学び、自身でも開発を行いながら、システムがどうあるべきなのかということを実践の中で学ぶことが、最も重要なことであると思います。
その本質の部分があって初めて、それを効率化する必要が出てくるのです。
まだシステムを作れない人がいくらショートカットキーを覚えたからといって、業務の効率化はされません。
どういったプログラムを書くべきなのかということを頭の中で素早く考えられない人が、いくらショートカットキーを覚えたからといって、すらすらとソースコードを書くことはできません。
当たり前のことですが、効率化するという事は、その効率化を行う対象が必要です。
ゆっくりでも、品質の高いシステムを開発できるという前提があって初めて、それを行うスピードが問題になってくるのです。
ですから、そもそもシステムそのものを作れるようになる事が、当然ですが、最も重要なことです。
新人の時は、私はそういった事に対する疑問をほとんど持たず、ショートカットキーを覚えている人が、ビジネスマンや開発者として優れていてカッコイイのだと信じていました。
ただ、しばらくプログラマーとして仕事をしていく中で、ショートカットキーによる効率化は確かに大事だけれども、それが本質ではないんだということに気づき始めたのです。
もしあなたがこれからエンジニアになろうとしていたり、プログラマーとして働き始めたばかりなのであれば、ぜひこのことを心の隅に留めておいてください。
本質的な学習に時間を割いて、素晴らしいシステムやサービスを作ろう!

確かに、ショートカットキーは重要ですし、覚えるべきものです。
ただ、それはあくまでオマケ的なものです。
本当に時間をかけて、熱心に身に付けていくべきは、本質の部分です。
良いシステムやサービスを作るために、技術的な知識や、設計に関するスキルを身に付けることをどうか忘れないようにしてください。
それをしなければ、ただの「作業者」になってしまいます。
「素早く作業ができます!」
というのは確かに素晴らしいことですが、
「何の作業を素早くするの?」
と、言われないようにしてください。
エンジニアという仕事は、一生勉強です。
かく言う私も勉強中ですが、ぜひ本質的な知識を身に付けて、より良いシステム、サービスを作れるようになっていきましょう。
この記事が、あなたがエンジニアとして働く上でのヒントになれば幸いです。
最後まで読んでくださり、有り難うございました。
コメント