ITエンジニアとして伸びない人、成長が遅い人の特徴を、アンチパターンとして書いてみます。

■言語を学ぶこと自体が学習の目的になっている
プログラミング言語の文法を学び、それで満足するパターンです。大抵の場合、言語の入門書を一冊読み通せればいい方です。
趣味レベルであれば何の問題もありません。しかし、開発エンジニアとして仕事をしていきたいのであれば、これではあまり良くありません。

プログラミング言語、といいますかIT技術は「手段」でしかありません。

手段を通して、何を実現したいのか?何をつくりたいのか?これこそが重要です。

つくりたいものがまずあって、それをどうやったら実現できるか、ということで、逆引きで言語の学習をする、という方が伸びるのではないかなと思っています。

プログラミング言語は、人間の会話言語に比べると習得は圧倒的に楽です。覚えることはそこまで多くありません。本当に重要なのは、基礎を覚えた上での反復練習、つまり実装経験を積むことです。「基礎が理解できていなくても、とりあえず作り始め、その中でわからないことを調べながら進めていたら、気づけば言語の知識が身についていた」というパターンが理想だと思っています。

もちろん、中には言語への関心が非常に高く、言語を学ぶこと自体が楽しい、という人もいて、それなら良いのですが、実装したものが少ないけど言語知識抜群、という人は割合として相当低いのではないかと思います。

■わからないことがあると先に進めない完璧主義
IT業界には初見殺しの用語が多いです。横文字や略称が非常に多く、初めて聞くと、何の意味かわかりません。特に未経験で業界に入った人からすると、少なくとも半年間は会話についていくだけで大変、というかまともについていけないと思います。

また、色々な技術に触れると、ほぼ何かしら理解に苦しむ「概念用語」がでてきます。例えば「オブジェクト指向」や「API」、「依存性の注入」がいい例ではないでしょうか。これは文字情報でのインプットだけではなかなか理解できるものではありません。実際に使ってみて、手を動かしてみて初めて「ああ、こういうことなのかぁ」となんとなく実感できるものです。

成長が遅い人は、教科書を読んでわからなかったときに、そこで文字情報だけでなんとか理解しようとします。しかし、多くの場合において、結局は腑に落ちません。わからなくてもとりあえず進めてみる、という非完璧主義精神が非常に重要だと思っています。

■インプット過剰でアウトプットが弱い
これは上述の「わからないことがあると先に進めない」と通ずるところがありますね。
受験勉強でも同じですので、ITエンジニアに限ったことではないでしょうが、インプットとアウトプットのバランスが悪い人は伸びません。

 

重要なのはアウトプットの方です。インプットはさらっとしたレベルにとどめておき、早い段階でアウトプットに入る。その中でわからないことを埋めるようにインプットしていく、これが速いと思います。

■暗記しようとしている
私自身がそうだったので、受験勉強を暗記で乗り切った文系タイプに多いのではないかと思います。研修期間初期の私は、PHPやSQLの文法を、単語カードに書いて覚えようとしていました。

 

ITの世界では、英単語や世界史の出来事のように、暗記すべき事柄はそんなに多くありません(と思っています)。
もちろんLinuxの基本的なコマンドなど、暗記していないと論外な事柄もありますが、わからないことがあれば業務では検索エンジンで調べればすぐわかるので、すみずみまで事細かに覚えておく必要は全くありません。何年もコードを書いているプログラマーであっても、言語の文法あれどうだったっけ?と思ってググることは珍しくありません。


暗記力ではなく、理解した上で全体像の地図を(ぼんやりとでもいいので)頭にもっておき、適切なワードで素早く検索できる力の方が重要であり、活きます。

■わかったふりをする。質問をしない
上述の項目は新人にありがちな傾向として書きましたが、これは非新人でも時折あるパターンです。というかよくあるかも。
説明を聞いたときに、本当はよくわかっていないのに、わかったふりをする人がいます。
そういう行動を続けていると、本人としてもいつの間にか、「どこからわからないのかがわからない」「何をどう質問したらいいのかわからない」「今さらこんな質問をしたら恥をかく」などという状態に陥ります。

 

わかったふりをする原因としては、「できない人と思われたくない」という心理が強い要素なのかなと思っています。しかし、正確に理解している人がそういう人と会話をすると、「あ、この人わかっていないな」というのはすぐにわかります。下から上はなかなか見えませんが、上から下は一瞬でわかるものです。「わかっていないのに質問をしない人」という否定的な評価にしかなりません。

 

(私のように)親切な人はそこで紐解いて教えてくれますが、仕事であれば、学校ではないので、多くの場合、質問しない限り教えてくれません。理解できている前提で話は進んでいきます。

 

これはその人のそれまでの人生経験でつくられた性格の面が大きいため、短期での改善が難しいだけに厄介な問題です。しかし、わからないことを自分で抱えて自己解決できることはまずありません。ほぼ間違いなく悪循環に陥り、最悪の場合事実上の戦力外通告としてプロジェクトから退場となります。

 

適切な質問を重ねれば、逆に周りからの信頼を得られるものです。

 

■自分でまず調べない
質問をしない、の逆パターンです。ググればわかることを自力で調べずに質問する人は、できない人の典型です。

「わからないことがあれば質問しましょう」とよく言われますが、これはなんでもかんでも聞けば良いという意味では当然ありません。人に聞くのは、ネットや資料を調べてもわからなかった情報、またはそもそもネットや資料に載っていない情報です。

とはいえ、質問しない人に比べれば軽症であり、改善もしやすいのではないかと思っています。もっとも私はこういう人にはこれまで遭遇したことはないのですが(私の基準が甘い?)。

■業務時間以外で全く学習していない
ITエンジニアとしてまともなキャリア形成をしたいのであれば、業務時間以外での学習が必要です。業務時間内だけでの学習だけでは、どうしても向上するスキルの幅が限られます。

未経験新卒入社や、業界に入って日が浅い人は、日々の研修内容を理解し、またプロジェクトの業務をこなすには、業務外でも学習しないとついていくことはほぼできません。
また、ある程度年数を重ねている人は、業務外で学習しなくとも、日々の業務をルーティンで進めていけるとは思います。しかし、そのプロジェクトでの仕事の進め方や扱っている技術に慣れきってしまうと、次のプロジェクトに異動となったときに苦労する未来が濃厚です。

IT技術は常に変動、進化しています。いま困っていないから学習しないではなく、今後参画できるプロジェクトの幅を広げておくために、少しずつで良いので自己学習を続ける必要があります。

つまり、私のことです。