
ITエンジニアの仕事をしていくにあたって、IT技術者の素養について考えることがありますのでとりとめもなく書いてみます。
ITの技術力がある人とはどういった人でしょうか。
重要な事は課題を解決する能力があるかどうかだと思います。
課題を解決する能力がある人は、普段から課題を解決する準備をしています。
準備のひとつが知識レベルの話です 。
まず基本的な単語は覚えておく必要があります。ただ、きちんとした意味を取る必要はありません。
何の話をしているのか、話におけるあるべき姿のギャップが何なのか、課題とすべきものは何なのかが分かることが必要なので、浅く広く大意を取ることが重要です。もちろん専門分野に深い知識があるに越したことはありません。
もう一つはツールの話です。
問題が発生したときに どういうツールを使ってその問題を解決するかをあらかじめ考えておく必要があります。
これは大きな視野のものから小さい視野のものまで多岐に渡ります。
- 参考になるWEBサイト
- 参考になる書籍
- 過去の自分のナレッジ蓄積ツール
- 過去のメール検索
- 障害調査を行うためのコマンド
- ログを調べる際のgrepの仕方
- 正常時との差分(DIFF)の取り方
- Excelでの分析の仕方 等
この2つの準備ができているかどうかで課題解決のスタートラインに立てているかどうかが決まります。
次に実際に課題が発生した時の流れを考えてみます。
まず、課題を解決するために調査するわけですが、調べ方を知っているかどうかというのがポイントになります。
一つ注意しなくてはいけないのは Google 等の特定のリソースに集中してしまうことを避けることです。
製品のマニュアルであったり、その他特定のコミュニティであったり特定のナレッジであったりそれぞれのリソースに関する信頼度に応じた選択をすることが重要です。
また、実際に起こっている事象について、ログやデバッグ技術を使ってより多くの情報を得ます。
ここで事前準備の精度が問われます。優秀なIT技術者ほど必要な情報にたどり着くのが早いのが特徴です。
また、その時複数の選択肢を持っているかというところで解決できるかどうかのポイントになります。
次に重要なのはそれらの選択肢を使って仮説を建てられるかどうかというところです。
仮説を立ててそれを検証するというところのロジックそれを頭の中でどのようにイメージができるかというところが重要です。
そうなると仮説を作ることには多くの選択肢を持っている必要があるということがわかります。
なぜなら選択肢が少なければその仮説が駄目だったということになると、 もう何も出来なくなってしまうからです。
選択肢をたくさん持っている場合はそもそも仮設の数というのも多くなります。
仮説を多く持っているということは、その仮説の信頼度についてもある程度順番をつけることが可能になります。
そうすると、可能性の高い順に仮説を試していくということが可能になるわけです。
これが瞬間的にできる人というのはIT技術者として優れているのかなという風に思います。
誰もが瞬間的に頭の中でこの判断をできるわけでは無いので、特に初めのうちは選択肢と仮説を文書化するのが良いです。
自分の立てた仮説は何なのか、なぜその選択肢を使ったのかというのを復習すると、IT技術者としてのレベルを上げていけるのではないかと思います。