
なんだか不器用な人っていますよね。
いつもどこかでミスをしてしまう人とか、おっちょこちょいな印象の人、ちょっとしたことでつまずく人など。
一見すると「要領が悪い」と片付けられてしまいがちですが、実はそこに
面白いヒントがあります。
不器用さは“特化しすぎ”の裏返し
不器用な人の特徴をよく観察すると、ある
共通点があります。
それは「状況ごとにやり方を変えられない」こと。
例えば、あるやり方を一度覚えると、それをどんな場面でも使おうとする。
結果として、状況に合わず失敗する。
これはプログラムでいうと、「特定のケースに最適化しすぎたコード」に似ています。
条件が少し変わるだけで
動かなくなる、あの感じです。
つまり、不器用さとは「汎用性の低さ」と言い換えることができます。
プログラムにおける汎用性とは何か
プログラムの世界では、よくこんな要素が重視されます。
・汎用性
・有用性
・速度
・利便性
この中でも汎用性は、長く使えるかどうかを決める重要な要素です。
汎用性の高いプログラムとは、「多少条件が変わっても、そのまま使える」ものです。
たとえば、
・入力値が変わっても動く
・環境が変わっても壊れない
・他の機能にも流用できる
こういう性質を持つコードは、結果的に
修正コストが下がり、全体の効率が上がります。
つまり、汎用性は遠回りに見えて、最終的には
効率性そのものになります。
汎用性がいらない場面もある
ただし、すべてに汎用性が必要かというと、そうでもありません。
例えば個人ブログ。
自分しか使わないツールに、
過剰な汎用性は不要です。
むしろシンプルに「自分の用途だけ満たす」ほうが速い。
セミナー用のサンプルコードも同じです。
理解しやすさが最優先であり、汎用性はほぼゼロでいい。
ここで重要なのは、「どこにコストをかけるか」という判断です。
汎用性は強力ですが、設計コストが高い。
だからこそ、必要な場面でだけ使うべきものです。
汎用性は未来への投資
汎用性を持たせるということは、
未来の変更に備えることです。
・将来の仕様変更
・別プロジェクトへの流用
・他人が使う可能性
こういった「まだ起きていない出来事」に対応する力が、
汎用性です。
逆に言えば、未来を考えないなら汎用性はいらない。
ここが
判断の分かれ目になります。
あとがき
不器用な人は「汎用性が低い」と言いましたが、では逆に、
汎用性を極めた人はどうなるのでしょうか?
あらゆる状況に対応できるように考えすぎて、
コードは複雑になり、
書くのに
時間がかかり、
結局「何も完成しない」状態になります。
そう、一番不器用なのは、
“完璧な汎用性を目指しすぎたエンジニア”かもしれません。
でも、そんなエンジニアは、個人的に嫌いじゃないです。
むしろ、愛すべき不器用だけどスキルの高いエンジニアと言っても良いかもしれません。
経験上、こういうエンジニアは、非常に性格がよく、素直で誰とでも仲良くできる・・・という人だと思うんですよね。
0 件のコメント:
コメントを投稿