システムエンジニアに重要なスキルって何?どうやったら成長できる?
このような疑問に答えていきます。
本記事のテーマ
本記事を読むと、次の情報が得られます。
- システムエンジニアに設計力が重要な理由
- 設計力向上のための手段
結論
エンジニアには設計力が重要で、それを伸ばすための手段は次のものが考えられます
- 目的志向(常になぜ?を考え続ける)
- 議事録を書いてみる
- 図表を使って、認識合わせをしてみる
記事の信頼性
私は新卒でSIerという「対企業向けにシステムを開発する企業」に就職しました。エンジニアとして、システム開発の全工程(要件定義や設計、開発、テスト、リリース、保守まで)を担当してきましたし、現在はAndroidのアプリも作成していますので、経験者の視点からお話ししていきます。
設計力が重要な理由
設計力とは
ここで言う設計力とは、システムの設計の上手さ、つまり「ある課題を解決するための手段として、数ある選択肢の中から、最適な選択肢を選ぶための力」と定義しています。
システム・プログラムというのはあくまでも課題解決など、「特定の目的を解決するための手段・道具」でしかなく、どんなに優れた技術を使っていたとしてもそれが活用されなければ意味がありません。
なぜ設計力が必要なのか?
設計力が無いと、本来の目的に合わないシステムが構築されてしまいます。例えるのであれば、「紙をきれいに切りたいのに、メチャクチャ切れ味の鋭い包丁を渡された」ような状態です。(紙をきれいに切りたいなら、ハサミの方が使いやすいですよね。包丁でも切れないことは無いですが、ハサミに比べ操作性に劣ります。)
このような状態になると、システム開発は炎上(長時間労働や納期の遅延)してしまいます。また、顧客側とも険悪な雰囲気になるうえに、最終的にあまり使われないシステムとなってしまい、皆が不幸な思いをしてしまいます。
設計力が高ければ、エンジニアの生産性も高くなりますし、利益も大きくなります。そして何より、ITというツールを活用して目の前の課題を解決するというエンジニア本来の役割を達成できます。顧客側も満足して保守や次の開発案件をくれるかもしれません。
設計力を鍛える方法
設計力が重要なことはご理解いただけたと思いますが、どのように伸ばしていけば良いでしょうか?個人的には次の3点です。
ただし、いきなり力がつくことは無いので、毎日の積み重ねが大切です。
目的志向(常になぜ?を考える)
一番大切なのは「目的志向」です。つまり、「なぜその選択肢を選んだのか?」を考えることが重要です。
例えばデータベースを選ぶときに、オンプレかクラウドか、製品はSQL Serverなのか、Oracleなのか、MySQLなのかなど無数の選択肢が存在します。例えばリプレースだから前回と同じデータベースを選んだとか、サーバの維持費や監視コストを下げたいからクラウドにするなど、そこには必ず理由があります。
きっと、エンジニアの方であればこのような選択を数えきれないほど経験すると思います。顧客からも「このようにして欲しい」などの要望も来るかもしれません。
そんな時に一度立ち止まって、「なぜ自分はその選択肢を選んだのか?」、「なぜ顧客はその選択肢を望んでいるか?」を考えてみましょう。最初は難しいかもしれませんので、その判断を下した人に理由を尋ねるのも良いかもしれません。そうやって、自分や周囲の考え方を知ることで自分の引き出しが増えていきます。
引き出しが増えれば、「そういうことなら、このような方式はいかがですか?」といったような、課題解決のための提案も自然とできるようになります。
抽象化・水平展開(他にも応用できないかな?)
先ほどの目的志向は「垂直方向の思考」ですが、水平方向の思考も訓練しましょう。例えば顧客との打ち合わせの中で、「この帳票は朝6時までに出力されないと困る」と言われたら、「他に時間的制約のある帳票は無いか?」と横展開していくのです。
ポイントとしては、「目的志向」と組み合わせることです。「目的志向」で相手の指摘事項の本質(なぜその指摘をするのか?)を探り、その本質的な指摘事項を他の機能に転用するのです。
先ほどの例でしたら、「なぜ朝6時までに出力されなければいけないのか?」を考えます。顧客から「営業が使う帳票だから、6時までに出力しないといけない」などの理由を引き出し、「他に営業が使う帳票は無いか?」と横展開するのです。
議事録や図表の作成
さて、先述の2つは思考法ですが、これらの思考法を訓練するにはどうすれば良いでしょうか?私の意見としては、「自分の言葉・表現でアウトプットを作成すること」が非常に重要です。
よく、「人に教えるには3倍理解していないといけない」など言われますが、打ち合わせでわかった気になっていても、何か成果物を作成するときに、意外と自分が理解できていないことを自覚します。その自覚こそ、設計力向上のきっかけなのです。
また、議事録や図表は打ち合わせの時に作成する機会があると思いますので、あとから見返してもわかるように、決定事項だけでなくできるだけ背景や選定理由を、自分の言葉で記載するようにしましょう。
まとめ
今回は設計力について解説してきました。設計力は「ある課題を解決するための手段として、数ある選択肢の中から、最適な選択肢を選ぶための力」であり、目的を考える垂直方向の思考と、他の機能に展開する必要があるか考える水平方向の思考を駆使する必要があります。
この設計力を鍛えるのに丁度良いのが議事録作成や会議資料などで使う図表の作成です。できるだけ背景も含めて記載するようにしましょう。
色々と偉そうなことを書いてきましたが、私もまだまだ未熟で勉強中の身です。
今回の記事が皆様の参考になれば幸いです。ではでは。
コメント