システムエンジニアがスーパーエンジニアになるための勉強法とは!
ベテランエンジニアや優秀なエンジニアはたくさんいますが、本当の意味でのスーパーエンジニアは、実はそう多くはないと思います。ざらにはいない稀な存在だからこそ、スーパーと呼ばれ、価値も上がるというものです。スーパーエンジニアと呼ばれる人を見ていると、そもそもの天性のようなものが備わっているように思える時もあり、自分が努力したところでたどり着けないんじゃないかと逆に落ち込んだりもします。でも、そこで諦めてしまったらスーパーエンジニアどころか、システムエンジニアとしての成長が止まってしまいます。だから私は、スーパーエンジニアを目指し続けたいと思っています。
スーパーエンジニアを目指すためには、スーパーエンジニアを真似てみたらいいのではないか?と思いたち、彼らに共通している習慣を探してみましたので紹介します。
スーパーエンジニアは、生産性が高いのが特徴です。何かに着手する際、一見、思いつきで始めているように見えることもありますが、必ずゴールを明確に設定しています。その必要性と、結果、効果などをしっかりと考えた上で着手します。
また、ものごとの優先度を常に正しく把握しているようです。開発において常に変動する優先度を確実に見極めています。肝心なことは何か、今本当に大切なことは何かを、総合的な視点で考えることが出来るようです。
スーパーエンジニアは、憶測だけでものごとを進めることはまず無いようです。もやもやと憶測するよりも、事実を計測して証明し、確認することに時間を使います。また、知ったかぶりをして知らないことやわからないことを何となくスルーするということもありません。「自分には知らないことがたくさんある」ということを、当然のこととして理解しているため、どんな相手にも素直に、「それ何?」と聞くことが出来るのだろうと思います。
注目を集める新しい技術を簡単に批判することもありません。なぜその技術に注目が集まるのか?を自ら検証した上でなければ安易な意見を述べたりはしません。
他人のコードに対して文句を言うエンジニアはよく見かけますが、「何がどう悪いのか」、「どうすれば良くなるのか」を明確に指摘出来る人は少なかったりします。スーパーエンジニアは、他人のコードを読む習慣があり、批判するのではなく、「どこをどうすればどう良くなる」という具体的な指摘提案ができます。さらに、自分自身が書いたコードに対しても同じ視点で見ることが出来るのがスーパーエンジニアのすごいところです。これが本当にベストなのか?もっと良い方法があるのでは?という、前向きな疑問を常に持っているようです。
こうして習慣を少しまとめてみると、スーパーエンジニアは、「素直で、貪欲」という共通点が見えるような気がします。もっと良いものをつくりたい、もっと良い方法があるはずだ、という思いがとても強いのだと思います。自分の意識や行動を変えていけば自然と習慣になるだろうという気持ちを持って、訓練のつもりで真似してみたいと思います。