このブログを読んでいるあなたは、システムエンジニアとしてIT業界に入ることを検討されているかことでしょう。そして、IT業界の人たちってどんな事を考えているんだろうと、疑問に思っているかもしれません。そんなあなたに、世界レベルで活躍するエンジニアが書かれたこの本をおすすめしたいのです。
この本は、エンジニアの間でとても有名な本です。私の場合、IT業界に入ってすぐにこの本を知りました。読み進めていくにつれて、日本の職場とアメリカの職場の風土がだいぶ違っていると言う印象を受けました。著者の牛尾剛さんは、アメリカにわたりマイクロソフト社のAzure Fuctionsの開発メンバーとして活躍されている方です。ご自身は以前からある悩みを抱えていらっしゃったようですが、どうすればすごいと思ってしまうようなアメリカのエンジニアのようになれるのか、アメリカのエンジニアの考え方や牛尾さんの気付きが書かれています。序盤で私の印象に残ったのは次の3点です。本文の一部を引用させていただきます;
●いきなり手を動かすのではなく、事実を元に仮説を立て、検証すること。
●試行錯誤は「悪」である。
●どんなに頭のいい人でも理解に時間がかかる。
この3点について説明していきます。
仮説を立てることが、自己成長につながる
最初に
いきなり手を動かすのではなく、事実を元に仮説を立て、検証すること。
についてです。
日本の職場はどうでしょうか。以前私が所属していた職場は、「考えている暇があったらまず手を動かせ。」という風土でした。しかし、失敗すると「なんで失敗したんだ」と詰めるという理不尽な思いをしてきました。この記事を読んでいるあなたも、そのような経験をしてきたかもしれません。しかしエンジニアになってからは、いきなり手を動かしてはだめだ、ということを思い知らされました。例えば、やみくもにSQLを打ってデータベースからデータを抽出しようすると、無駄に時間と労力ばかりかかってしまうという結果に終わってしまいます。どのような現象が発生しているのか、内部の処理はどうなっているのか、いつ処理されたデータなのか、これらの事実があれば、その時に何が起きていたのか推測することができます。仮説が立つんですね。あとはその仮説が正しければ事象を再現することができるというわけです。
これは自己成長につながる考え方でもあると思います。私は自己成長のために、再現性のある成功体験と失敗体験が必要だと考えています。なぜ成功したのか、なぜ失敗したのか理由が分かれば、それらを再現することができます。成功体験ならば次も似たような場面で成功できるかもしれませんし、失敗体験ならば似たような場面で失敗を防ぐことができるかもしれません。手を動かす前に、事実を元に仮説を考えれば、その後の検証が成功したとしても失敗したとしても次に繋がるのです。それまでの私は再現性のある成功体験と失敗体験をどのように作ればいいのか、自分はどのように成長すればいいのか悩んでいましたが、本を読んでその悩みを解決することができました。
はたして知識や技術とは苦労して手に入れるべきなのか
次に
試行錯誤は「悪」である。
についてです。
以前の職場で私は、「わからないことがあったら自分で調べてから質問しろ」とよく言われてきました。しかし私は後輩から質問されたときには、自分で調べろとは言いませんでした。なぜなら、私は自分が知識や技術を得るために試行錯誤してきた時間を、後輩には別な知識や技術を得る時間にしてほしいと考えているからです。そうしなければ結局、今まで先輩が辿った同じ道を辿り、数年後には先輩と同程度の実力の人間が育つのみで終わってしまいます。極端な話かもしれませんが、自分たちが苦労して得たものを次の代に伝え、次の代が苦労したことはさらに次の代に伝えるということが、職場としての底力を上げることにつながるのではないでしょうか。
牛尾さんは、試行錯誤を「悪」だと言い切っています。ご自身は仕事をしているときに試行錯誤した結果、丸一日潰した挙げ句、得た知識が何もなかったという経験を述べられています。その後、アドバイスを貰ってみたらすぐに解決できたとのことです。そしてもらったアドバイスが知識となって、次に活かすことができているのです。
知識や技術は苦労しなければ覚えないとよく聞きますが、これは半分間違っていると私は考えています。すぐに質問して解決してしまった結果、その場しのぎになってしまい、得られるものが何もなかったことが定着しない原因なのではないでしょうか。そうだと分かればもっと違ったOJTのやり方が見えてくるかもしれません。そのため私は、牛尾さんはよく試行錯誤は「悪」だと言ってくださったと感心しました。
ハウツー本を読んだとしても、この一言につきるのではないか
最後に
どんなに頭のいい人でも理解に時間がかかる。
についてです。
私は、頭のいい人とは、その場で聞いてその場で理解しているような頭の回転がとても速い人のことだと思っていました。だからこそ私もそんな人間になりたいと思い、一発を狙って効率の良い読書や資格勉強の方法などのハウツー本を読んできました。しかし、牛尾さんによると「それは時間をかけて基礎を積み上げているからであり、どんなに頭のいい人でも理解することには時間がかかる」そうです。正直、目から鱗が落ちました。効率よく一発で知識を習得することはできないと、改めて認識させられました。
そのため私は、理解することには時間がかかると割切り、徹底的に理解を深めるための行動を取るという方向性に軌道修正することができました。ハウツー本を読んで実践しては挫折して、という負の循環に陥るくらいなら、「世界一流エンジニアの思考法」1冊を読んで、腹を括って基礎をみっちり学習したほうがかえって成長できるかもしれません。
この記事では「世界一流エンジニアの思考法」を読んで、序盤の方で私が気がついたことや感想などについて書いてみました。これ以降にも「脳に余裕を生む方法」だったり「チームビルディング」、「生活習慣」についても書かれているので、ぜひ最後まで読んでみてください。これからもエンジニアに役に立ちそうな本の感想を描いていきたいと思います。
コメント