1.背景
最近IT未経験・異業種からIT業界に入る新メンバーが多く入社しており、これからエンジニアとしてどんな方向で、どんな領域に行くかについて、よく皆さんと会話しています。例えば、下記のような分類はよく出てきます。
・フロントエンジニア/バックエンドエンジニア
・開発エンジニア/インフラエンジニア
・iOSエンジニア/Androidエンジニア/WEBエンジニア
私は15年以上のIT経験を持っていますが、たまにも、本当にこんな見方でいいの?という疑問が実は持っていたりします。
ところで、最近業界TOPのエンジニアたちの考え方を収録した『This is Software Engineer』という本を読んで、全然違う見方を見かけて、なるほど!と感銘を受けましたので、皆さんにご紹介させて頂きたいと思います。
2.ご質問
一般的には、ソフトウェアエンジニア(SE)について、ソースコードを書くでしょうとう印象を持っていると思います。ここで皆さんに質問したいですが、ソースコードを書くSEたちは、皆同じ種類の仕事または似たような仕事をしているでしょうか?
答えは、ソースコードを書いているSEでも、全く違う種類の仕事をしている可能性があります。
『This is Software Engineer』からの引用ですが、あるプロのエンジニアはSEの領域について、下記のように分類しています。
①インターアクション(Interaction)
②システム(System)
③アルゴリズム(Algorithm)
④データ分析(Data Analysis)
⑤テスト(Test)
⑥運用保守(Operations)
以下、2つの実例を使って、この分類をご説明します。
3.例1…エレベーター
まず、エレベーターを例としてご説明します。
◆インターアクション
・操作パネルの形状
・ボタンを押した場合、ボタンが光るかどうか
◆システム
・エレベーターの軌道と制御装置
◆アルゴリズム
・A乗客が1Fで上行ボタンを押した時、同時にB乗客が20Fで下行ボタンを押下した場合、先にどちらに行くかを決める。
◆データ分析
・運行中に1F、2F、3F…にそれぞれ停止した回数のデータを記録し、どのフロアに利用頻度が高いかを分析する。
◆テスト
・エレベーターを本番使用に投入する前に、一連の試験を実施し、性能と安全性を確保する。
◆運用保守
・エレベーターが故障したら、サポートセンターで故障連絡を受け付けるや、エンジニアが修理に駆けつけることなど。
4.例2…スマホアプリTiktok
もう一つ、スマホアプリのTiktokを例としてご説明します。
◆インターアクション
・いろんなTABがあり、TABをクリックすると、違う画面に入れる。
・ユーザが見える、クリックインできる。これがインターアクション。
◆システム
・ユーザがTABをクリクした後、スマホアプリがこのリクエストをサーバに送って、サーバがリクエストを処理した結果をユーザにフィードバックする全過程は、システム(フロントエンドとバックエンドから構成)がサポートしている。
◆アルゴリズム
・ユーザの年齢性別や過去の閲覧記録、居場所などをもとに、おすすめTABを押した時の表示内容を決める。
◆データ分析
・ユーザデータを分析し、広告のクリック単価・投入内容やプッシュ対象についてのアトバイスを運営会社に提供する。
・サーバリクエストのデータを分析して、サーバ構成を動的に調整し、最適なUXをユーザに提供する。
◆テスト
・億単位のユーザと百億単位のビデオ・ライブの再生をサポートするシステムなので、当然安定性と可用性は非常にクリティカルになる。それをサポートするのが、各種のテストである。
・アプリの新しいバージョンがリリースされる度に、単体テスト・結合テスト・性能テストなどが実行される。
◆運用保守
・アプリのサーバエラーまたはネットワークエラーが出たら、それに対するメンテナンスを行う必要がある。これが運用保守の部分。
5.纏め
いかがでしたでしょうか。なんとかく、私達が普段SEの「システム」という領域に注目していることがご理解頂けたと思います。
でも実際に「システム」だけではなく、他にSEにとっていろんなチャンスが潜んでいる領域があります。例えば、近年が流行っている「アルゴリズム」、「データ分析」領域とかあります。また、サービス提供に不可欠な「テスト」「運用保守」には、当然大きな市場があり、色んなビジネスチャンスがあります。「テスト」だけで東証一部上場のIT企業も少くないです。
また、SEの領域は今後技術の発展によって、新しい分野が当然出てくると思います。2〜3年後、IR(Interconnected Reality:接続現実)やCity Brainのような技術が普及すると、新しいSEの分野も合わせて出現すると思われます。
今回の紹介で、技術者の皆さんにご自身のキャリアを考える時の一つのご参考になれば幸いです。
ご自身に合ったSEの領域を見つけること、切に願っております。