はじめに
はじめまして。mirankoといいます。
転職準備に際して技術ブログ的なものを試しにやってみようということで、今後定期的に投稿していきたいと思います。
簡単に自己紹介をしますと、
- 年数:新卒で入社して4年目
- 業種:SIer
- 担当業務:業務アプリケーションの改修
- 言語・技術:Java,JavaScript
といった感じで、いかにもありがちな「少し年次がたって社会人にはなったけどこれからどうしよう」
的なエンジニアかなと思います。
前置きはこのあたりにして、早速今回の内容に入ります。
※この記事はSEになりたて~私と同程度の年数の人を想定して書いています。
目的思考って何だっけ?
目的思考というワードは一度は聞いたことがあると思います。
特に新人研修などで口酸っぱく、なんだかありきたりなことを教えられた中の一つ、といった印象ですね。
私の目的思考とは 「その作業の目的を考え、理解したうえで作業をする、作業の改善に努める」行動パターン のことと定義しています。
この「目的」というのが特に新人や1年目の頃は理解しづらく、「言われた通りにやる」になりがちです。しかし目的思考をする行動パターンが自然と身につく、身につかないでは、入社半年後以降の「ある程度わかってきたな」の段階からの伸びや作業の効率がぐんと変わると考えています。
実際の事例
最近これを実感しているのが、私と後輩の比較です。
私は入社してからすぐ開発で、周囲も作業で忙しく自分で考え、行動する必要に迫られていました。結果、自然と自発的に手段・目的を考えたうえで相談したり、あるいは改善点を指摘したりといったことが現在では身についてきていることを実感しています。
さて後輩さんですが、彼はある意味不運なことに入社した年度の作業がほぼ単純なテスト工程で、「手順通りにやればいい」作業がほとんどでした。さらに期間で契約されたテスト要員との中で作業していたこともあり、目的よりも終わらせることが一番重要と感じる空間での作業になってしまいました。
結果、「手順書通りやればいい」フェーズが終わった今でも目的思考の薄い、ただやっただけの作業にとどまってしまっています。勿論これは作業指示役が丁寧に目的・最終成果物を指示していないことも原因ではありますが、少なくとも1年いる人間ならある程度自分で目的を考えた上で行動するのも自然とできて当然、と見られてしまうのではないでしょうか。
目的思考がないと何でダメ?
この目的思考がないことでの問題点は、まず手戻りが必要以上に発生することです。
例えば手順に粗がある、もしくは見落とした場合でも、作業前もしくは作業中に目的と最終成果物のイメージがついていれば、ここはおかしいのでは? と自然に気づくことができます。
勿論「自然と」気づくには経験が必要な面も多いでしょうが、例えば
A画面で検索した結果に対して、Mという項目が追加する修正Xを適用した。Mが追加されているか確認してほしい。
といった依頼に対して、ただ画面で検索する
というタスクをやって終了、ということでは検索結果にMが該当するパターンがないから追加が確認できない、やり直し!
といった手戻りが発生します。
これはいくつか原因がありますが、
- 作業指示に「Mを確認すること」を明記していない
- 作業者が「最終的にMを確認するから、それを確認できるようなテストにする」ことを考えずに作業した。
が大きな原因でしょう。
このうち1については確かに作業指示側の落ち度です。口頭で言ったから、とか他の所に書いてあるから、とか言い訳は立ちますが、あればミスは防げたかもしれません。
2についてはどうでしょうか。言うまでもないと思いますが、これではダメです。私も若輩の身ですが、流石に断言できるはずです。
まず、先ほど述べました通り手戻りが発生することも勿論ですが、作業者自身が自ら注意・工夫できないことも同等に重要だと考えます。
目的思考の上で作業していれば、Mを確認するためにどうすればよいか、分からなければ相談してから作業する、リスケするといった対策が立ちます。こういった経験を通し、似たような作業についても経験を応用して注意点や改善点を考えることができます。
もう少し広げて言えば作業指示者が注意点を全て教えてくれる場合の方が少ないということが重要です。指示者は大概他のタスクも抱えていて、「指示したからOK」となりがちなパターンも少なくありません。そんな指示、つまりは作業を行う上での真に必要な情報量が足りていない指示に対して目的思考のないままでは、注意点を掘り起こすことや他作業との類似点を探して応用するといった発展的な思考に至らず終わってしまいます。
以上のことから、作業の目的を考え、理解したうえで注意点・改善点を探しつつ取り組むことが作業者にとってもチームにとっても重要なのです。
目的思考を身につけるには?
じゃあどうすれば身につくのか、といったところも書かないと不公平かなと思いますのでそっち方面にも。
目的思考を身につける、つまりは身につける前ということですが、その段階ですべきことはその作業の目的、注意点を聞いてから作業に取り組むことをルール化するに尽きるのではないかと思います。
目的思考はエンジニアというより社会人として当たり前ですが、これを意識して身につけるにはルール化する他ありません。
新人研修で言われながらも忙しかったり上司に聞くのが億劫だったりで「とりあえずやって詰まったら聞けばいいや」と逃げの姿勢でやらなかった作業内容の確認をするのです。(私はそうでした……)
繰り返すうちに自然と作業の目的、注意点、改善点を考えて作業するようになります。(なってくださいお願いします)
終わりに
結論:目的思考とは目的、最終成果物を考えた上で作業の注意点、改善点を意識しつつ作業することであり、これがないと手戻りが発生する、自己成長につながらない、チームの損失となるなど全部よろしくない。
初めてのくせにだいぶ説教臭い記事になってしまいました……
今後はこれまで得た知識をまとめるなどしていきます。
使えるgrepコマンドとかいいですね。
ここまでお読みいただいた方、いらっしゃいましたら本当にありがとうございました。