「ITエンジニアって、結局何をする仕事なの?」
「難しそうだけど、面白いの?」
そんな疑問ありませんか?確かに、ITという言葉は身近になったけれど、その裏側で働くエンジニアの仕事は、なかなかイメージしにくいかもしれません。
でも実は、皆さんが普段使っているスマホアプリやウェブサイト、ゲーム、SNS、さらには銀行のATMや電車に乗る時のSuicaまで、私たちの生活のあらゆる場面でITエンジニアが活躍しています。
この記事では、そんなITエンジニアの仕事の魅力や、どうすればなれるのかを、僕の経験を交えながら、超シンプルに解説していきます。
これを読めば、ITエンジニアという仕事がもっと身近に、そして面白く感じられるはずです!
システムエンジニアってどんな仕事?
システムエンジニア(SE)の仕事は、ざっくり言うと「お客様の困りごとをITの力で解決するための、全体の設計図を書く仕事」です。
【具体的な仕事内容】
お客様の「困りごと」を聞き出す 【企画・要件定義】
お客様(例えば、銀行やお店の社長さん)から、
「もっと効率的にお客様にサービスを提供したい」
「新しいスマホ決済サービスを始めたい」
といった相談を受けます。
SEは、お客様の「困りごと」や「やりたいこと」をじっくりと聞き出し、それを具体的な「システムが満たすべき条件(要件)」にまとめます。この段階で、ITに関する知識だけでなく、お客様の業界(銀行、小売、物流など)のことも深く理解することが求められます。僕も、新しいシステムを作る際には、業務フローを徹底的に学びました。
システムの「設計図」を書く 【設計】
要件が固まったら、いよいよ設計図を書く作業に入ります。家を建てる際の「設計図」と同じように、システムの全体像から、どの部屋に何があって、どんな配線にするか、といった細部までを設計していきます。
- 基本設計システム全体の大きな枠組みを決めます。
「こんな画面を作って、このボタンを押したらこういう動きをする」といった、ユーザーが使う部分を設計します。
- 詳細設計プログラマーがコードを書けるように、一つひとつの機能を細かく、具体的に設計します。
「このボタンを押したら、このデータが、こういう手順で処理される」といった、
システムの内部の動きを詳細に書き起こします。この設計が甘いと、後から大きな手戻りが発生したり、システムがうまく動かなくなったりするため、非常に重要な仕事です。 - コーディングシステムを作る。
プログラマーは詳細設計に従って、システムを構成する1つ1つの単位(モジュール)にプログラムを作っていきます。プログラムを作ることを「コーディングする」といい、作る人を「コーダ」といったりします。期日通りにプログラミングが完成するように工程管理を行います。
- テスト要件通りに動くことを確認する。
作ったプログラム、システムが要件通りに動くことを確認するためにテストをします。
テストの順番としては、小さい単位から大きな単位に順番にテストしていきます。UT (Unit Test) :プログラム単位のテスト
IT (Integrated Test):プログラムとプログラムをつなげたテスト
ST (System Test) :すべてのプログラムをつなげたシステム全体のテスト - マネジメントチームをまとめ、成功に導く。
SEは、設計図を元にプログラマーに仕事を割り振ったり、進捗状況を確認したり、トラブルが起きたときに対応したりと、プロジェクト全体を管理する役割も担います。プロジェクトには、納期や予算といった制約があります。それらをしっかり守りながら、チーム全体を目標に向かって導いていくのは、大変な反面、大きなやりがいを感じられる仕事です。
システムエンジニアの働き方
「ITエンジニアって、ずっとパソコンに向かって黙々と仕事をしているんじゃないの?」と思われがちですが、実は働き方はとても多様です。
働く場所
客先常駐
お客様の会社のオフィスに出向いて、そこで働くスタイルです。お客様と直接コミュニケーションを取りながら仕事を進めるため、より現場に近い経験を積むことができます。
社内開発
自社のオフィスやデータセンターで働くスタイルです。自社の製品やサービスを開発・運用することが多く、チームメンバーと密に連携を取りながら仕事を進めます。
リモートワーク
会社に行かずに、自宅や好きな場所で働くスタイルです。新型コロナウイルスの影響もあり、IT業界ではリモートワークが急速に普及しました。
仕事の進め方
仕事を進めるにあたって大きく2つのやり方があります。少し専門的な言葉になるのですが、仕事を順番にやっていくか、小さく繰り返しやるかで進め方が変わってきます。どちらの開発手法にもそれぞれに面白さがあります。SEは、プロジェクトやお客様の要望に応じて、最適な進め方を提案・実行していきます。
ウォーターフォール開発
上流工程(企画・設計)から下流工程(プログラミング・テスト)へと、まるで滝のように一つずつ順番に進めていく伝統的な開発手法です。大規模な金融システムや公共のシステム開発でよく採用されます。
アジャイル開発
小さな単位で開発とテストを何度も繰り返しながら、少しずつシステムを完成させていく開発手法です。変化に柔軟に対応できるため、ウェブサービスやアプリ開発でよく使われます。
システムエンジニアに必要な4つのスキルとは?
では、システムエンジニアを目指す上で、どのようなスキルを身につければ良いのでしょうか。
プログラミングスキル
SEの仕事は設計が中心ですが、プログラミングの知識は必須です。プログラミングの知識がなければ、プログラマーに適切な指示を出したり、設計が本当に実現可能か判断したりすることができません。まずは、PythonやJavaといった言語を一つ深く学ぶのがおすすめです。
論理的思考力
物事を筋道立てて考える力は、ITエンジニアにとって最も重要なスキルの一つです。お客様の漠然とした要望を具体的な要件に落とし込んだり、システムの設計図を書いたり、トラブルの原因を突き止めたりする際に、この力が大いに役立ちます。
コミュニケーションスキル
「SEは人と話すのが苦手な人がなる仕事」というイメージがあるかもしれませんが、それは大きな間違いです。お客様の要望を聞き出し、チームメンバーと協力し、プロジェクトを円滑に進めるためには、高度なコミュニケーションスキルが求められます。技術力と同じくらい、いや、それ以上にコミュニケーションが大切だということです。
専門知識(+α)
IT技術だけでなく、自分が関わる業界の知識も重要です。業務フローやルールを理解することで、よりお客様のニーズに合ったシステムを提案・開発できるようになります。
システムエンジニアの年収は?どのくらい稼げるの?
システムエンジニアの年収は、日本の平均年収よりも高い傾向にあります。厚生労働省のデータなどを見ると、ITエンジニア全体の平均年収は約400万円〜600万円程度と言われています。もちろん、これはあくまで平均です。年収は、スキルや経験、働く会社の規模、担当する仕事の内容によって大きく変わります。
未経験・新人 | 年収300万円〜400万円 |
経験3年〜5年程度 | 年収400万円〜600万円 |
シニアエンジニア・プロジェクトマネージャー | 年収600万円〜1000万円以上 |
特に、高度なスキルや専門的な知識を持つエンジニアは、年収1000万円を超えることも珍しくありません。
「IT業界は35歳がピーク」と言われることもありましたが、今では専門性やマネジメント能力があれば、年齢に関係なく活躍できる時代です。
ITエンジニアの「本当の魅力」とは
自分の仕事が、社会の役に立っていると実感できる
自分が作ったシステムが、何万人ものお客様に毎日使われ、スムーズな銀行取引を支えているってドキドキしませんか?そんな風に、自分の仕事が社会の役に立っていることを肌で感じられるのは、何物にも代えがたい喜びです。
論理的な思考力が身につく
ITエンジニアは、物事を筋道立てて考える癖が自然と身につきます。複雑な問題を一つひとつ分解し、解決策を導き出す能力は、ITエンジニアの仕事だけでなく、人生のあらゆる場面で役立つ一生もののスキルです。
常に新しいことに挑戦できる
ITの世界は、技術がものすごい速さで進化していきます。常に新しい技術や知識を学び続けなければいけない大変さもありますが、逆に言えば、一生飽きることがない、挑戦し続けられる仕事だと言えます。
【まとめ】ITエンジニアは、未来を創る仕事
ITエンジニアは、ただコードを書く人ではありません。お客様の困りごとを解決し、新しい技術を使いこなし、人々の暮らしを豊かにする「未来を創る仕事」です。「難しそう」と感じるかもしれませんが、学習意欲と論理的な思考力があれば、誰でも挑戦できる仕事です。
もしITエンジニアという仕事に少しでも興味を持ったら、まずは小さな一歩を踏み出してみるのはいかがでしょうか。プログラミングの学習から始めてみたり、IT企業について調べてみたりするだけでも、新しい世界がきっと広がります。