ログインして口コミを投稿してください。皆さんはSE(システムエンジニア)にどんなイメージを持っていますか?「パソコンの前に座ってプログラミングをしている」そんな感じでしょうか。確かに、そういう側面もあります。SEの本来するべき仕事は違います。今回はSEの仕事内容、SEになるための学習方法をご紹介します。携わる技術者のことです。これは、一般的には正しい定義です。企画ってなに、設計ってなにってことを知っていないとよくわかりません。ここでは、ソフトウェアの開発に携わる技術者のうち、プログラミング以外の業務を担当する人と定義します。システムプロジェクトを牽引するのがシステムエンジニア「システムプロジェクトを牽引する」これが本来のSE(システムエンジニア)の仕事です。クライアントから要求をヒアリングしてシステムの設計を行うことおよびそれを含めたシステム開発全体を計画通り進めることです。「パソコンの前に座ってプログラミングをしている」とは大きく違いがあります。SEの平均給与はどれくらい?その前に、やっぱり気になるお金の話。SEの平均給与はどれくらいかを明らかにします。SEの平均年収は、約550万円です。全職種の平均年収が、約455万円ですので、その差は95万円。高い水準にありますね。(平成29年)」より算出https://www.e-stat.go.jp/stat-search/files?page=1&toukei=00450091&tstat=000001011429システムエンジニアは給料が安い?平均給与から読み解く実情SE(システムエンジニア)の具体的な仕事内容では、SE(システムエンジニア)の具体的な仕事内容を見ていきましょう。方には、「プログラマー」と「システムエンジニア」の違いがよく分からない方もいらっしゃるかもしれません。ここでは、一般的な大規模なシステムの開発に採用されることの多い「ウォーターフォールモデル」の流れを見ながら、その違いを明確にします。その後、システムエンジニアの仕事内容を詳しく見ていきます。ウォーターフォールモデルの流れは開発フェーズとも呼ばれ、次の6つの順に作業を進めます。5テストを行うのがSEです。ことを上流工程、プログラミングを下流工程と言われていて、上流から下流に滝のように水が流れる様からウォーターフォールモデルと呼ばれています。その他の開発モデルとしては、スパイラルモデルやアジャイルと呼ばれるモデルがありますが、それは別の機会にお話します。SEの仕事内容を詳しく見ていきましょう。クライアントの要件を定義するクライアントの要件を定義するのは、「要求分析」と「要求定義」です。「要求分析」では、クライアントはどんなシステムを望んでいるのか(ニーズ)やどんなシステムが必要なのか(シーズ)をヒアリングします。どんな業務をシステム化したいのか、だれが利用するのか、いつ利用するのかや現在のクライアントの事業の可能性や技術力からどんなシステムが必要なのか、多くのことをヒアリングし、分析します。システムの再構築であれば、現在のクライアントの仕事のやり方と現行システムのどういうところに違いがあるのか、どういうところが不満なのかも確認していく必要があります。ここで注意すべきことがあります。クライアントに「どういうシステムを作りたいですか?」と聞いたところで、答えは返ってきません。クライアントはシステムに対して素人です。場合によっては、本来クライアントが知っているはずの業務についても素人の場合があります、SEは、システムのことは当然ですが、クライアントの業務のことも理解して「要求分析」を行う必要があります。「要件定義」では、要求分析で洗い出したクライアントの要求をまとめます。「要求分析」の結果を、クライアントにもシステム開発者にも理解できる言葉で文書で残しておく必要があります。この文書のことを、「要求仕様書」とか「要件定義書」と呼びます。この仕事はとても大切です。この文章はこれから作るシステムの機能を明確にして合意するものだからです。システムの機能を決める大切なフェーズです。SEとしては、コンピュータとはかけ離れた世界に映るかもしれません。このフェーズが出来る人は「コンサルタント」とも呼ばれ重要視されます。多くのSEが目指すべき領域です。プログラマーのために仕様書を作るプログラマーのために仕様書を作るのが、「基本設計」と「詳細設計」です。「基本設計」では、システムで何を実現するのかを決めていきます。「要件定義」に基づいて、業務の流れとシステム化の範囲を決める(業務フロー設計)、システムの利用者とシステムとのやり取りを決める(ユーザインターフェース設計)、データとしてどのような項目をどのように保管するのか(データベース設計)、システムの機能的な部分を決めていきます。システムにデータを入力してから帰ってくるまでの時間の目安(レスポンスタイム)や最近非常に厳しくなっているセキュリティ等についても決めていきます。「基本設計」で決定したことは、基本設計書として文書化し、クライアントとレビューして合意します。「詳細設計」では、プログラミングをするための詳細な設計をします。「基本設計」に基づいて、機能ごとの処理、フローチャートや画面や帳票の詳細設計など、プログラミングが出来るレベルまで詳細化していきます。当然ですが、プログラミングができるレベルまで設計しますので、メインフレームなのかパソコンなのか、OSはなんなのか、プログラミングする言語はなんなのかをプログラマーが理解できるように記述をします。「詳細設計」で決定したことは、詳細設計書として文書化します。この文書をクライアントとレビューすることはありません。プロジェクトの進捗管理を行うプロジェクトの進捗を管理することを「プロジェクト管理」と言います。ところで、「プロジェクト管理」とはなんでしょう?「プロジェクト管理」とは、「クライアントの要求を期限までに達成するために、計画を策定し、その計画に従って遂行するために、日々の進捗状況を管理する」ことです。プロジェクトの特性には、次の3つがあります。~基本設計~詳細設計~プログラミングと順々に作業手順や設計書等の成果物が決められるシステム開発プロジェクトは、期間の途中での変更要素の多いプロジェクトです。変更の要素としては、クライアントの仕事にやり方が変わる、法律や業界標準が変わるや想定以上の要員が必要となる等、当初の計画通り行かないことが多くあります。いうより、当初の計画通り進まないのがプロジェクトと理解したほうがいいと思います。プロジェクトの目標は、QCDを達成すること。これは、プロジェクト管理をする際によく言われることです。QCDとは、次の3つのことを指します。deliveryの3つの頭文字をとったものです。「品質管理」では、システムにバグは無いか、クライアントの要望通りの機能が実現されているかや当初設定したレスポンスを確保しているかを確実にするための管理を行います。「コスト管理」では、システムの規模は増えていないか、生産性は落ちていないか等、予定外のコストがかかっていないかを管理します。「納期管理」では、最終的な稼働時期は達成できるか、フェーズごとの成果物は計画通り出来ているか等を管理します。QCDを管理して、問題が発生した場合やしそうな場合に適切に対処することで、プロジェクトを成功に導きます。このように、プロジェクトの特性と目標を考慮しながら進めるべき「プロジェクト管理」は、SEにとってとても大切な仕事と言えます。クライアントとの期待値を調整するクライアントとの期待値を調整することはとても重要です。前述したとおり、クライアントはシステムに対して素人です。「現行システムと同じようにしてくれればいいから」など、あいまいな表現で要求してくることは日常茶飯事です。クライアントはシステムに過大な期待をすることもあります。「Excelみたいにしてくれれば良いんだから」などなど。これを真に受けていると、システム化を失敗したり、膨大なコストが必要になったりします。いわゆる、プロジェクトの失敗です。このようなことを起こさないためにも、クライアントとの期待値を調整する必要があります。SE(システムエンジニア)になるための学習方法ここまで、SEの具体的仕事内容を見てきました。仕事内容は大変そうだけど、やりがいもありそう。何といっても、給与が高いのは魅力的。多くの方は、そのように思うのではないでしょうか。「どうやったら、SEになれるの?」と思うのではないでしょうか。ひとつづつステップアップしていくのがお勧めです。「詳細設計」が出来るようになるための学習の順序。その第一段階は、プログラミングを学ぶことです。確かに、「プログラマ」と「システムエンジニア」の違いをそのように紹介しました。「詳細設計」は「プログラミングができるレベルまで詳細化していきます」とも記載しています。プログラミング、特にプログラミング言語を知らずに「詳細設計」が出来るでしょうか?だからこそ、プログラミングを学習する必要があります。「プログラミング」を学習して、「詳細設計」の基礎知識を学習します。基礎知識をベースに実際に詳細設計を先輩について行います。Training)と呼びます。ここでは、「プログラミング」や「詳細設計」の基礎知識を学ぶ方法として、「Web学習サイトで勉強する」「本を使って学習する」「プログラミングスクールで学習する」方法を紹介します。Web学習サイトで勉強する「プログラミング」や「詳細設計」を学習する、最も手軽で手っ取り早い方法。それは「Web学習サイトで勉強する」ことですよね。いまからでも、始められます。それは、必要な学習時間を少なめに設定してしまうことです。一般的に仕事としてプログラミングできるレベルになるためにはは、1000時間程かかる言われています。毎日2時間学習時間を確保しても、17か月もかかってしまいます。最初のころは、思ったようにはかどりません。嫌になってやめてしまうかもしれません。ここであきらめる必要はありません。現在は、出来る限り短時間で効率よく学習できるサイトがあります。そのようなサイトを利用すれば、短時間で学習することが可能です。お勧めのサイトは、後ほど紹介します。本を使って学習する2つ目の学習方法は、「本を使って学習する」です。本を購入して学習する方法は、初めての人にとって取り組みやすい学習方法と言えます。ご存知の通りネット上の情報は正しいものもあれは、間違っている物もあります。その点、本は出版社が責任をもって出していますから、その情報は正確なことが多いです。プログラミングは本を読んだからと言って、身につくことはありません。本を読みながら、実際に手を動かしてプログラミングをする必要があります。学習サイトと組み合わせながら、本を使って学習する方法が効果的です。プログラミングスクールで学習する最後は、「プログラミングスクールで学習する」です。この方法が、最も効率的で、最も短期間に学習する事が出来ます。プログラミングスクールのメリットは、「先生がいる」ということです。分からないことが有ったらその場で聞くことができます。これはめちゃめちゃ大きいです。プログラミングに限らず、分からないことが出来たらその場で解決することは、学習速度を飛躍的に向上させてくれます。ひとつ、プログラミングスクールのメリットは、継続できるってことです。Webや本を使った独学は、やる気が無くなるとやめてしまうことがあります。スクールは、お金も払っているので行かなきゃもったいないと思うので継続できます。飽き性の人は、「プログラミングスクールで学習する」がお勧めです。独学でSE(システムエンジニア)になれる?必要なスキルと勉強方法SE(システムエンジニア)にオススメな学習サイトSEにオススメな学習サイトを3つ紹介します。初心者にも優しいProgate「Progate」は、初心者の方でも学びやすい学習環境が提供されていることです。オススメポイントは、次の3つです。1.イラスト中心のスライドで学ぶことがでる紙の本よりも直感的で、動画よりも学びやすい(勝手に進んでいかない)仕組みです。従って、自分のペースで学習することが出来ます。何度も同じ単元が学習できるなど、復習しやすいことも強みです。2.プログラムを書いて学ぶことができる前述の「本を使って学習する」のところで書きましたが、実際に手を動かしてプログラミングをしなければ身に着けることはできません。Progateは、それが可能です。3.無料で始めることができる実はこれはすごく大事。Progateは、理解しやすい仕組みで作られています。いえ、全ての人に万能とは限りません。やってみて、「ちょっと私には合わないな」ということもあり得ます。無料なら途中で辞めてしまっても大丈夫ですよね。動画でステップ毎に学べるドットインストール「ドットインストール」は、5,000本以上の動画を見ながら、初心者の方でも学びやすい学習環境が提供されています。オススメポイントは、次の3つです。1.コースが多く網羅性が高い網羅性が高いので初めてプログラミング学習をする人も自分に合った勉強ができます。段々とレベルアップしていくことができます。2.動画を見るだけなので始めやすい動画は全てだいたい3分以内。動画を見るだけなので、文章が苦手な人、すぐに飽きてしまう人にはオススメです。3.無料で始めることができるProgateと同様、無料で始めることができます。途中でやめることも容易です。専門的な知識を身につけるならUdemy「Udemy」はシリコンバレー発の世界最大級の学習環境です。ビジネススキル、マーケティング、趣味・実用・ホビー等など、様々な分野の講座が準備されています。その中でも、学ぶ人が増えているのがプログラミング講座です。オススメポイントは、次の3つです。1.世界中の一流講師の講座が格安2.学習の時間・場所を選ばない3.再生スピードが変えられるので、自分のペースで学習できるまとめ「SE(システムエンジニア)になるための学習方法と具体的な仕事内容」について少しは理解いただけたでしょうか?「SEってなに?」が、「SEの仕事ってそういう感じなのか。勉強すればできるかも!」に変ったのではないでしょうか。卒業後、2013年に大手IT企業に入社、コーポレートブランディングや旅行系新規事業の運用改善など広くマーケティング活動に従事。2016年10月より東南アジアに拠点を移し、ベトナムでのメディア事業の立ち上げやシンガポールでのWebマーケティング支援を経験。エリア福岡県|佐賀県|長崎県|熊本県|大分県|宮崎県|鹿児島県|沖縄県コードランとはコードランとは、プログラミング初心者や副業/フリーランス向けに、プログラミングスクールの評判や口コミを比較できるサイトです。実際に受講をした方の生の声を配信することで、プログラミングスクール選びの際に、自分にあったスクールを選べるよう、サポートしています。コードラン編集部では、プログラミング学習や、副業/フリーランスなどの働き方、副業の時の見積もりの出し方などなどをわかりやすく伝えております。MONKEY(コードモンキー),インターネットアカデミーなど、プログラミングスクールに実際に通った方の口コミ情報を掲載しております。中立・公平性を維持するために弊社では口コミ内容の修正、削除は原則行っておりませんので、他のサイトよりも信頼性が高いと評判です。コードランの特徴2目的にあったプログラミングスクールが見つかる!東京や大阪などの場所はもちろん、作りたいサービスや、学びたい言語、転職支援があるか、Webサイトを作ってみたい、iOSアプリを作りたいなど、プログラミングを学ぶ目的からスクールを探します。未経験歓迎か、オンラインでの受講があるかなど、プログラミングスクールごとに特徴も選択できるようになっています。調べる際には価格や時間も大事な要素になってくるかと思いますので、評判や口コミも是非参考にしつつ、目的別に徹底的に比較をして、自分に合ったスクールを見つけてみてください。コードランの特徴3現役エンジニアの体験談や学習記事がたくさん!プログラマーと一言に言っても、使っている言語や働く環境が違えば、気付きのヒントや新たな視点は必ずあるはずです。コードランでは現役エンジニアたちが現場で活躍できるようになるまでのストーリーやスクールのインタビューをご紹介しています。プログラミングを志すみなさん向けの記事を集めています。今もし何かの壁にぶち当たり悩んでいるのだとしたら、あなたの不安の解決の糸口が見つかるかもしれません。コードランはこんな方におすすめはじめてスクールに通ってみたい方や、独学で学んでプログラマーを目指している方、スキルアップのために新たにスクールを探している方におすすめです。実際の口コミや評判をもとに、コードランではプログラミングスクールを徹底解剖していますので、あなたに合ったプログラミングの学び方やスクールが必ず見つかるはずです。コードランはブログランキングサイトに参加していますコードランは、人気ブログランキングのシステムエンジニアおよびアプリ開発、WordPressなどのカテゴリーでランキングに参加しています。プログラミング教育、IT技術ブログ、Webエンジニアの各カテゴリーのランキングに参加しています。当社調べ利用規約プライバシーポリシーサイトマップコードランは、株式会社Domuzが運営しています。