
「プログラミングでお金を稼ぐにはブラインドタッチって必須スキルなのかな?これからエンジニアを目指したいのだけど、全然できていない。プログラミングの練習よりも先にできるようにするべきなのだろうか…?」
今回はそういった悩みにお答えします。
本記事の内容
- プログラミングにブラインドタッチは不要【現役エンジニアが断言】
- エンジニアでブラインドタッチよりも大切なこと【本質】
記事の信頼性
この記事を書いている私はエンジニア歴8年で、今も開発現場でプログラミングをしています。ですので、実際の開発業務でどんなことをしていて、プログラミングを始めとする必要なスキルにはどういったものがあるかをお伝えすることができます。
今回は「プログラミングをするのにブラインドタッチは必要か?」という疑問にお答えします。結論を先にお伝えすると、ブラインドタッチは「できなくてOK」だと考えています。
プログラミングするのにブラインドタッチは不要【エンジニアの経験談】
私のエンジニアの経験上、プログラミングをするのにブラインドタッチは不要です。
プログラミングは開発の一部分
僕がエンジニアとして働いている作業の内訳は次のようなイメージです。
- 40%:技術的な仕様を考える
- 40%:全体の設計を考える
- 20%:コードを書く、テストする
この数値から分かるように、開発業務のうちプログラミングをしてコードを書いている時間は結構少ないです。人によっては驚きがあるかもしれませんが、現実はこんなものです。僕の周りにいる人たちにはもっとコード書いている時間が少ない人もいるぐらいです。
タイピングが早くなれば20%の時間が短縮できるかもしれませんが、全体から見ると影響は小さいですよね。
プログラミングは開発の一部分なので、ブラインドタッチができなくても問題ありません。
プログラミングをしていればタイピングは自然と早くなる
プログラミングをしていれば自然とタイピングは早くなっていくので、エンジニアを目指す段階では気にしなくてOKです。
プログラミングをするためにはタイピングを行う必要があるので、キーボードを使って入力することのだんだん慣れてきます。
スマホが普及し始めたころ、フリック入力が慣れない操作で苦戦したことありませんか?でも、スマホを普段使っているとだんだんフリック入力が早くなってきたと思います。
これと同じです。タイピングもプログラミングをしていれば自然と早くなるので気にしなくて大丈夫です。
ホームポジションは覚えておく
ブラインドタッチは不要ですが、ホームポジションは意識してタイピングしておいた方が良いです。
プログラミングは普段の文字入力で使わない記号を多く使います。キーボード全体を広く使うことになるので、ホームポジションからどのあたりに記号があるかを把握できるぐらいは覚えておくと良いですね。
例えば、「()かっこ」はホームポジションから右手の中指とか薬指ぐらいにキーがあったような、ぐらいを覚えておくと良いでしょう。
補足:エンジニアでブラインドタッチが出来る人は半分くらい
https://twitter.com/manabubannai/status/1096248909142183936?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1096248909142183936&ref_url=https%3A%2F%2Fmanablog.org%2Fprogrammer-touch-typing%2F
Twitterで5000人のエンジニアにブラインドタッチができるかアンケートを取った結果があります。
するとブラインドタッチができると答えたエンジニアは半分ぐらいです。案外そんなもんですね。
この数値からも分かるように、ブランドタッチはエンジニアにとっては必須ではないです。
エンジニアがブラインドタッチよりも大切にすべきこと【本質】
エンジニアはブラインドタッチを練習するよりも大切にすべきことがあります。
エンジニアの価値は、課題を解決すること
エンジニアの価値とは、世の中にある課題をソフトウェアの力で解決することです。決してプログラミングをすることや、タイピングを早く行うことではありません。
例えば、給与明細を紙から電子化するシステムを考えました。このシステムを作ることで次のような課題を解決できます。
課題
- 紙の印刷にかかるコストが高い
- 過去のデータが参照できない
- 明細を持ち歩いていないといつでも参照できない
この時に評価されるのは、課題を解決したシステムであって、システムを実現したプログラミングではありません。エンジニアの本質は世の中にある課題を解決することであり、そこに価値があります。
コードを書かなくて済むことを考える
エンジニアは考えることが仕事です。言われた通りにやるだけじゃエンジニアとしての価値は低いです。
基本的なソフトウェア開発の考え方はなるべくコードを書かないことです。
コードを書く量が増える→開発に必要な時間もコストが増え、ソフトウェアの品質は悪くなる
コードを書けば書くほど良いことはありません。
じゃあどうするかというと、エンジニアは次のようなことを考えるべきです。
- どう設計すると最もコードを書かずに済むか?
- すでにあるライブラリを利用することはできないか?
- すでにあるコード(OSS)を利用することはできないか?
- 社内の資産を再利用することができないか?
コードを書かないように考えて工夫することがエンジニアの価値です。
コードを書かずにプログラミングができるサービス
最近では自分でコードを書くことなくプログラミングができるサービスがあります。
例えば、Scratch(スクラッチ)では、自由にインタラクティブストーリーやゲーム、アニメーションを作ることができます。
また、「ノーコード / ローコード・スタートアップ」と呼ばれる、新しいサービスを作るのにほとんどコードを書かずにサービスを展開することができるような動きもあります。
今はAIが著しい成長をしていて、単純な作業はどんどん置き換わっていくことが予想されています。プログラミングも単純な作業だと考えると、人がタイピングしてコードを書くだけでは価値が低い作業と捉えられてしまいそうです。
タイピング量を減らすことを考えるべき
これはエンジニアではなくても当てはまりますが、パソコンを使う作業であってもタイピング量を減らすことができないかと考えるべきです。
なぜかというと、タイピングが必要な作業には単純な作業が多く価値が低いものが多いからです。単純作業は極力自動化するなどしてタイピングをしなくて済むように考えるべきです。
例えば会社で働いていると次のような作業があります。
- メールの冒頭のあいさつや締めの挨拶を毎回送るたびに入力している
- HTMLの冒頭「DOCTYPE」や「body」タグといったものを毎回作成している
はっきり言って、こういった単純な作業を毎回タイピングして入力してては無駄です。
- メールの冒頭のあいさつや締めの挨拶はテンプレート化。メール作成すると自動で挿入されるようにする。
- HTMLの「DOCTYPE」や「body」タグはテンプレート化して毎回使い回す。
普段の単純作業を「面倒だな」と感じて、それを課題として捉えて、ソフトウェアの力で解決することがエンジニアの価値につながります。
プログラミングのタイピング量はツールを使って減らす
プログラミングにおいてタイピングする量はツールを使うことでグッと減らすことができます。
例えばHTMLを作成するとき、Visual Studio Codeを使うと、一部分だけ文字を入力すればタグを予測して補完する機能(インテリセンス)が備わっています。DOCTYPEと入力するのに対し、DOCぐらいで補完できればタイプ数は4文字減ります。
タイピング量を減らすことができるツールは積極的に活用すべきです。
まとめ
ということで、プログラミングにはブラインドタッチは不要だと考える理由について説明しました。
本記事のまとめ
- プログラミングは作業の一部でありエンジニアを目指す時にブラインドタッチは不要。自然と上手くなる。
- エンジニアの本質は課題を解決すること。プログラミングを始めとするタイピングをしないように考えて行動することに価値がある
ブラインドタッチができないからエンジニアになれないと考えていた人は安心してください。プログラミングをしていれば自然とタイピングも早くなっていきます。
ある程度できるようになったら、エンジニアとしての価値はどこにあるか、本質を考えるようにしましょう。