「システムエンジニアにとっての重要なスキル」について、
5年間の自分の体験を基にまとめてみました。
特に新人システムエンジニア向けに書いてみたので参考にしてみて下さい。
本記事の内容
- システムエンジニアに重要な3つのスキル
- 新人時代に自分が実践したこと
この記事を書いている僕はシステムエンジニア6年目。
自分が新人の頃には仕事のスピードが遅いのに加えて、なかなかの無茶振りも重なり毎日頭はパニックで終電近くまで仕事していました。
とはいえ、5年の間に現場で体験したり見てきた中で、
自分が新人の時に「これやっとけばよかった」とか「こういう考え方ができたら楽だった」など感じることが多々あります。
そこで、今回は僕が考える「新人や若手のうちに身につけるべきスキル」についてまとめてみました。
システムエンジニアに重要な3つのスキル
僕が思う重要なスキルはこれ!!!
- コミュニケーション能力
- 情報収集・整理する能力
- トライアル・アンド・エラーする能力
1.コミュニケーション能力
わからないことの質問、作業進捗や発生した課題などの報告や相談、成果物のレビューをしてもらう際の説明、また、あいさつや飲み会など・・・
システムエンジニアに限らずコミュニケーションスキルは最も重要です。
色々理由はありますが、一番は困った時にはコミュニケーションで他人を巻き込めるからです。
例えば自分1人で完了させるには技術的にスキル不足な作業を振られて困った時。。。
自分にとって難しい作業でも他の人と協力すれば解決は速いですし、そもそも自分にとっての課題は、他の人にとっては課題ですらないという事だってあります。
特に新人だと1人では分からないことや、失敗してしまうことも多く、特にコミュニケーションが重要になります。
技術的なスキルや知識がない間は特に、コミュニケーションスキルでカバーすべきです!!!
よく見かけるダメな例(マジメな良い人に多い)
「質問して他の人の貴重な時間を奪ってしまうから何度も質問に行くのが気まずくて質問できない」
「質問に答えてもらったが、よく理解できなかった。。。でも何度も同じ質問をするのは申し訳なくて質問できない」
「プログラミングでどハマりして全く解決方法がわからない。。。上司は忙しそうなので、進捗聞かれた時にこのこと報告しよう」
「こんなことも分からないのかと思われるのが嫌で質問できない」
そういった人はこれくらいの考え方に変えてみて下さい。
「他の人のことなんて考えず、とにかく自分の作業をスケジュール通りに終わらせること優先、自分優先」
「忙しい上司なんて関係ない、技術的にスキル不足な自分にタスク振ってる上司が悪い!!!」
「質問レベルが低くて評価下がっても分からないものは仕方ない。そのままにしていたらいつまでたっても進歩はない。」
他にも、コミュニケーションを取ることで、自分の作業ミスや認識誤りに早い段階で気づくこともできたり、他の人に可愛がってもらえて、いろんな情報をもらえたり・・・
なのでコミュニケーションは最重要なのです。
2.情報収集・整理する能力
システムエンジニアは扱う技術が頻繁に変わります。
そのため、自分が知らないことを調べて情報を収集して整理して自分のものにするまでを素早く行う必要があります。
今自分が持っている知識や技術的なスキルよりも、情報収集・整理するスキルの方がはるかに重要です。
理由は、現場では自分が今まで触れたことのない技術を使わななければならない状況になることが多いということ、
そして今使っている最新技術や尖ったスキルはしばらく(数ヶ月、数年)すると次の技術に取って代わられることが多いためです。
よく見かけるダメな例
「自分はこれやったことないので出来ません!!!」
「やっとこの現場に慣れてきたので、新しい現場に移動したくないです。。。」
やったことないことをさせて貰えるのは情報収集・整理するスキルをアップさせるチャンスです!!!
もちろん技術的なスキルも自ずと身につくでしょうし。
自信がなくても「やったことないけど自分に任せてください!!!」や、
できるかどうか聞かれたら「はい」か「YES」くらいの気持ちで行きましょう。
技術的なスキルよりも新しい環境に対応するための情報収集・整理のスキルは重要なのです。
3.トライアル・アンド・エラーする能力
自分の技術不足や、新しい技術に挑戦する際、必ず失敗します。
諦めずに、失敗やエラーの原因を試行錯誤してトライアル・アンド・エラーし続ける能力も重要です。
理由は、まだ実績のないような技術を取り入れる際、必ず上手くプログラムがエラーで動かなかったり、課題にハマったりします。
その時に、エラーや課題の原因を仮定して、その対策を考え、実際に試す。
それを繰す返ことで状況を打開しなければならない場面に遭遇する機会はこの業界は多いからです。
頭で「ああでもない、こうでもない」とひたすら考えているだけでもダメです。。。実際に手を動かして試す。失敗したら次の作戦を考えるのです。
実際に失敗しないと、仮定したことが間違いなのか、正解なのか、惜しいのか分からないからです。
だからトライアルアンドエラーが重要なのです。
一度ハマったら諦めるのではなく、自分でトライアル・アンド・エラーで悪い状況を突破できるようになれば一人前です!!!
新人時代に自分が実践したこと
ここまでえらそーに書いてきましたが、自分が新人時代に実際に意識したり実施していたことを紹介します。
とにかくしつこく質問・相談、余計な話でコミュニケーション
自分が新人時代には、相手が忙しい、何度も質問して申し訳ないなどの気持ちは一切持ち合わせてなく、、、
とにかくスケジュール期限優先、自分優先で考えていました。(悪い人の例ですが、、)
相手が「もう勘弁して下さい。。。」となるまで質問や相談してましたが、上司の無茶振りもスケジュールの期限は何とか守ってました。
ただ、質問して教えてもらったことは完璧に理解して、2度と同じ質問はしないことと、
ちょっとフザけて相手を笑わせたり、魚釣りや野球ネタで責めたりと一工夫はしてました。
僕のは決していい例ではないですが、人それぞれやり方あるかと、、、
資格勉強で情報収集・整理の訓練
自分は読解力が非常に低く、情報整理が特に苦手でしたが、、、
自分が新人時代には、応用情報技術者試験の資格勉強通じて、試験範囲の単語の内容についてスプレッドシートにまとめて情報収集・整理の訓練をしていました。
知らないことについて情報を収集・整理して自分のものにする点ではこの訓練が仕事でも活かせたと思います。
何か自分の趣味についてとことん深くまで調べて情報をまとめる。でも十分訓練になるかもしれませんが、
専門分野の技術的スキルアップにも繋がるので情報系の資格勉強は訓練にはオススメです。
新人最初の仕事でひたすらトライアル・アンド・エラー
トライアル・アンド・エラーは新人最初に経験した、実績のないフレームワークの技術検証の実践で勝手に訓練できていました。
周りの人にも詳しい人はおらず、人柱のような状況でネットにも情報はなかったので、、
エラーの内容から原因の推測・仮定→仮定した原因への対応策を考える→実際に試す→・・・をひたすら繰り返し。。。
これは辛かったですが、この経験は自分にとって重要でした。
というわけで、今回はシステムエンジニアとして重要な3つのスキルについて解説しました。
- コミュニケーション能力
- 情報収集・整理の能力
- トライアル・アンド・エラーの能力
特に新人の方で、仕事できるようになりたい。けどどうすればできるようになるか分からない。。。といった方はまずはこの3つを身につけることを意識して、行動してみてください。
2022/3/21追記
SEやプログラマーのよくある悩みについて、
僕の8年間の経験から悩みと自分なりの解決策をまとめたので
こちらの記事も是非みてください!