新人エンジニアに「システム構成」の知見が必要な理由

こんにちは。はるまきです。私は今、エンジニア3年目です。私が新人のころ(今もまだまだ新人ですが…)に知っておきたかったことを振り返るシリーズ第四弾です。

今回は「システム構成」です。システム構成がエンジニアライフにおいてどのように役に立つのか、どのように勉強すればいいのかを述べます。

このシリーズの読み手のペルソナイメージは過去の自分です!笑 それでは早速参ります。

なぜシステム構成への理解が必要なのか?

システム全体の「流れ」を把握することで、自分が今何をしているかを理解できるようになります。それは自分の仕事がなんなのかを正しく把握することにも繋がります。

それはロールプレイングゲームのパーティの編成に似ています。それぞれに役目があります。攻撃役,サポート役,回復役などに分かれますよね。それぞれにどのような役目を正しく理解していないと敵ボスを攻略することはできません。

話をシステム開発に戻します。システム開発では、自分が所属する部署やシステムが、全体のどこに位置していてどのような役目があるのかを理解することが、大切です。

どのような時に役立つのか?

正しく自分の役目を知ることは、どこに注力すればいいかの判断がつくようになります。例えば、(雑にいうと)バックエンドならばクライアントからのリクエストに対して正しくデータを返すことに注力するべきですし、クライアントサイドの開発であればUI/UXに注力するべきだと思います。

また大規模システムではシステム全体を理解することで仕事のスピードが向上します。大規模システムは一般的に、「顧客データ全般を取り扱う部署」「料金を担当する部署」「セキュリティを担当する部署」など多数のシステムで構成されています。自分の部署がシステム開発をするなかで、他部署(他システム)への問い合わせが必須になります。そのときにシステム全体を理解していれば、どのシステムに問い合わせばよいかを素早く判断できるようになります。

どのように学べばいいのか?

自分で実際に一般的なシステムを作ってみることがいいかと思います。一般的な「DB+webサーバー+フロントサイド」の構成でいいと思います。AWSやレンタルサーバーを用いてもいいですが、初めは自分のPC内で作成するのが手軽でおすすめです。

また業務では、システム全体の構成が書かれている資料は確実にありますので、初めのうちに確認しておくといいと思います。

まとめ

今回はシステム構成の大切さについて述べました。

システム構成を知っていれば全体の流れを掴むことができるます。右も左も分からないとシステム開発をしていても面白くありません。是非身につけたいですね。

これからも学習を続けていきます。