初めて触ったプログラミング言語は?習熟までどれくらいかかったか

エンジニアと言えば、仕事でパソコンを使う割合が最も高い職種と言っても過言ではありません。そんな彼らだからこそ、自分のPCに対するこだわりは相当強いものになっているでしょう。彼らは一体どういったポイントを重視し、どのような目的でPCを使っているのでしょうか。先輩エンジニア300人にアンケートを実施しました。

システム開発とは

pixta_67915583_M
システム開発とは、業務を効率化するための仕組み(システム)を一から作り上げることです。例えばATMで暗証番号を入力するとお金が引き出せたり、駅の改札でICカードをタッチすればゲートが開いたり、今の私たちが当たり前のように使っている便利な機能は、最初から備わっていたわけではありません。ITエンジニアたち一人ひとりの努力によって、システム開発が行われてきたからこそ、さまざまな便利な機能が社会に浸透していったのです。

システム開発の工程とは

便利な仕組みを作り上げるシステム開発は、決められた工程に沿って進められることがほとんどです。システム開発の工程とは、言うなればプラモデルの取扱説明書のようなもの。決められたパーツを、決められた手順で組み合わせてはじめて全体像が完成するように、システム開発でも正しい手順を踏んで作業をしていくことで、はじめて便利な仕組みが整うようになるのです。

システム開発の工程と職種名

pixta_22461615_M
ここからは、代表的なシステム開発の工程と、そこで活躍するエンジニアの職種名を紹介していきます。

1.要件定義

要件定義とは、新しく開発するシステムにどのような機能や特徴を持たせるかを考える、システム開発におけるファーストステップとなります。基本的にはここで決められた定義に即して、人員や予算、期間といった開発計画を進めていくため、非常に重要な工程と言えるでしょう。

この工程で活躍するITエンジニアは、「SE(システムエンジニア)」や「プロジェクトマネージャー」という職種名で呼ばれることが多くなっています。クライアントとの打ち合わせなども精力的に行っていかなければならないため、経験豊富なITエンジニアが担当することがほとんどです。

2.設計

設計とは、要件定義の内容をもとに、システム全体の設計図を考えていくステップです。必要となる機能や役割を果たすために必要な要素は何かを考え、実現可能な方法を探っていくステップとなるため、要件定義と同様に非常に重要な工程となっています。

この工程も、要件定義と同じく「SE」や「プロジェクトマネージャー」といった経験豊富なITエンジニアが担当することが多いでしょう。また要件定義と設計を合わせて、上流工程と呼ばれることもあります。

3.プログラミング

プログラミングは、設計によって作った設計図をもとに、実際のプログラムに落とし込んでいく作業です。例えばゲームを作るときに「Aボタンを押すとジャンプする」という設計をした場合、本当にAボタンを押せばジャンプするようにコンピュータに指示を出すのがプログラミング、と覚えればわかりやすいかもしれません。

ここで活躍するITエンジニアは、もちろん「プログラマー」です。プログラマーは建設現場の大工さんのようなもの。プログラマーが持ち前の技術で木を削り、釘を打つからこそ、立派な家(システム)を作ることができるのです。

4.運用テスト

プログラミングが完了したら、今度はそれらが正しく機能するかどうかを調べる、運用テストのステップに入ります。完成したと思ったシステムでも、いざ使おうとするとエラーやトラブルが起きるケースは決して少なくはありません。ちゃんと世に出せるシステムにするためには、必須と工程と言えるでしょう。

この工程を主に任されるのは、先ほどの「プログラマー」や、テストをメインの業務とする「テスター」、出てきたバグを取り除く「デバッガー」などが挙げられます。

5.運用・保守

運用テストも完了し、クライアントへの納品が済んだからと言って、システム開発が終わることはありません。運用テストでは出てこなかったエラーが後になって出てきたり、その他のシステムに合わせてアップデートが求められたり、システムは常にその状態を管理しておかなければなりません。そうしたアフターフォローに相当する工程が、運用・保守です。システムを正しく機能させ、クライアントや社会に満足を届けるためには、無くてはならない工程です。

この工程を担当するITエンジニアは、その名の通り「運用・保守」という職種名が与えられることが多くなっています。「○○エンジニア(運用・保守)」という募集や表記を見かけたら、この工程を任されると思っておいて間違いないでしょう。

まとめ

代表的なシステム開発の工程と、そこで活躍するITエンジニアの職種名について紹介してきました。少し専門的な話をすれば、今回紹介したのは「ウォーターフォールモデル」という、昔からあるシステム開発の手法です。その対極となる「アジャイルモデル」という手法の場合、今回紹介した工程が必ずしも適用されるわけではないため注意しましょう。まずは基本となるウォーターフォールモデルについてしっかりと理解し、そこから自分が目指したい理想のエンジニア像を描いていくと良いですね。

コラム著者情報

moveIT運営事務局

moveIT!は機械的なマッチングだけでなく、人との繋がりを重視したIT専門の求人紹介サポートサービスです。
フリーランスの他、正社員・契約社員・派遣・アルバイト・インターン、またはIT業界への就職転職希望者、IT業界での将来独立・起業を目指している方々など、働き方や経験者/未経験者を問わず幅広く総合的に支援するサービスをご提供しております。