>>No1エンジニア養成プログラム テックキャンプ
あなたは、システム開発エンジニアになりたいと思いながらも、そのために今何をするべきかが分からず悩んでいませんか?
私もシステム開発エンジニアが具体的にどのような仕事をしていて、どのようなスキルが必要であるのかが分からず、具体的な目標を立てることができず悩んでいました。しかし、この記事を読むことで、あなたはシステム開発エンジニアになるために何をするべきかが明確になります。
実際に私は、システム開発エンジニアの仕事内容や開発環境を理解することにより、今どのような目標を設定して取り組むべきかが明確になりました。
この記事の目次
システムエンジニア(SE)とは?
IT系のエンジニアの業務の種類は様々なものがあります。
その中でもシステムエンジニア(SE)と呼ばれる職業がありますが、具体的にどのような職業であるのかを紹介します。
システムエンジニアとは、システムを構築する際に「企画」「開発」「運用」に関わる技術者のことを言います。
「企画」の段階では、クライアントにヒアリングを行い、クライアントがどのようなシステムを要求しているのかを明確にします。
そのため、クライアントの要望を的確に聞き出す高度なコミュニケーション能力が必要とされる職業となります。
また、あるシステムを開発するために、どれだけのリソースが必要となりか、コストがどれぐらい必要になるかという経験に基づいた知識が必要とされる場合もあります。
「開発」段階では、システムの構築に必要な設計書を作成してプログラマに依頼します。システムが完成したらテストを行い、バグがないか確認を行います。
プログラマをはじめとして、チームメンバーが円滑に作業ができるように働きかける必要があるため、ここでも高いコミュニケーション能力が必要とされます。
また、具体的に設計をするためには、各種プログラミング言語に関する知識も必要です。
「運用」段階では、既に構築されたシステムを安定的に運用するために、不具合が発生した場合には原因をいち早く特定し修正する必要があります。
そのため、ここでもシステムに使われているプログラミング言語に関する知識が必要とされます。
また「企画」「開発」「運用」各段階で、コストがどれだけ発生するのかを把握するマネジメント能力も必要なスキルのひとつとなります。
プログラマとの違い
システムエンジニアがどのような職業であるのかを紹介してきましたが、類似した職業としてプログラマというものがあります。
システムエンジニアとプログラマは混同されがちですが、その違いについてご説明します。
前述の通り、システムエンジニアはシステムの企画・開発・運用に関して設計を行うことが主な仕事であり、基本的にはプログラミングを行いません。
開発の段階で、実際にC言語やPHPなどのプログラミング言語を駆使してシステムを構築する作業を実施するのがプログラマとなります。
しかし、会社によってはシステムエンジニア・プログラマ、どちらの役割を求められることもあります。
無料キャリア相談!本日も予約受付中
徹底したサポート体制があるので、転職成功率は99%!※ 実際に受講した人の体験談はこちらから。
「今の仕事を続けて大丈夫だろうか」と不安なら、何でも相談できる無料カウンセリングに参加してみませんか?IT転職に特化したプロのカウンセラーが、中立な立場であなたの悩みを解決します。
ブログ読者特典でAmazonギフト券3000円分もプレゼント中!無理な勧誘は一切行いませんので、お気軽にどうぞ。※2016年9月1日〜2020年12月31日の累計実績。所定の学習および転職活動を履行された方に対する割合
システム開発エンジニアの仕事内容とは?
システム開発エンジニアといっても、開発するシステムの違いによりスマホアプリ開発、Webアプリケーション開発、ECサイト開発などがあります。
開発するシステムの違いによりシステム開発エンジニアの仕事の内容にも違いが見られます。それぞれの仕事の内容を紹介します。
スマホアプリ開発
携帯電話利用者におけるスマホの普及率は年々増加する一方で、現在の普及率は7割を超えている状況です。
若年層からシニア層に至るまで、利用者は拡大し様々なスマホアプリが提供されるようになりました。
ゲームアプリに止まらず、各企業がアプリ経由でサービス展開をする動向に合わせて、開発エンジニアの需要も高まりつつあります。
ご存知のとおりスマホにはOSの違いにより、AndroidとiPhoneに大別されるため、それぞれのプラットフォームに合わせたアプリ開発を実施します。
そのため、各OSの開発言語のスキルに特化し、開発経験を持った人材が優遇される傾向にあります。
開発に関わるのは数人規模の場合が多く、システム開発エンジニアはスマホアプリの企画から製作そして公開までを手がけます。
しかし、企業規模やアプリの規模によってはアプリ制作から公開までを1人で行う場合もあります。
Webアプリケーション開発
Webアプリケーションとは、Google Chromeなどのブラウザ上で動作するアプリケーションで、HTMLやCSS、JavaScript、Ruby on Railsなどを使って開発が行われます。
ブラウザを搭載したデバイスであればOSを問わず動かすことができる特徴があるため、Webアプリケーションの場合には、スマホアプリのように複数のデバイスに対応したアプリを開発することによるコストを削減できるというメリットもあります。
Webアプリケーションが完成した後も、運用面で携わることになります。
ECサイト開発
スマホの普及が進むにつれて、売り上げを伸ばしつつあるのがEコマースです。このEコマースのサービスを提供するためにはECサイトが必要になります。
ECサイトには大型ショッピングモールや自社サイトの二つのパターンに大別されますが、これらECサイトの開発から運用までを手がけるのが、システム開発エンジニアの仕事になります。
ECサイトもWeb系の作業となるため、HTMLやCSSはもちろん、Ruby on Railsなどのフレームワークの知識が必要です。ECサイトでは大量のデータのやり取りが頻繁に発生するため、RubyやPHPといったサーバーサイドの言語の知識は必須です。
システム開発エンジニアの開発環境
システム開発エンジニアは、効率良く作業を進めるために様々な開発ツールを駆使して作業を行なっています。
パソコンやキーボードなど、システム開発エンジニアの開発環境を紹介します。
よく使用される開発ツール
アプリやシステムを開発する場合、リリース日が予め決められています。そのため、業務を効率良くこなすことが最も重要です。
時間を効率良く使う手法としてポモドーロ・テクニックというものがあります。人間の集中力は25分程度しか持たないとされているため、25分間集中と5分間の休憩を交互に繰り返すことが最も効率良く作業を進めることができるサイクルになります。
pomotodoはポモドーロ・テクニックとタスク管理機能を一つにしたアプリで、忙しいエンジニアには必須となる管理ツールになります。
WEB系の開発をしているエンジニアの場合には、データベースを利用したいこともあるでしょう。
Sequel Proは、MacのMySQLのフロントエンドで無料で利用でき、その使い勝手の良さから高い人気を誇っています。
複数のDBにアクセスしたい場合であっても、お気に入り登録しておくことで簡単にアクセスすることができるという特徴があります。
開発エンジニアは、個人で作業を進めることよりもチームで作業を進める機会が多く、数人から数十人規模のメンバーとコミュニケーションをとりながら作業を進める必要があります。
密に連絡をとるために便利なツールといえばチャットツールになります。チャットでは、業務に関する重要な連絡に使われることも多く、確認漏れなどがあると大きな痛手となる可能性も出てきます。
HipChatは、他のツールとの連携に特化しており、通知機能を一本化することが可能なことから確認漏れも回避できます。
人気の開発言語
Java
Javaは1995年にサンマイクロシスエムズ社からリリースされた開発言語で、C言語に肩を並べるほどの処理速度を実現しています。
Javaの用途はとても広く、AndroidスマートフォンのアプリやWebアプリの他、ゲーム開発にも利用される場合があります。
用途の多い開発言語であるため、習得するなら最もお勧めな開発言語になります。
JavaScript
JavaScriptはブラウザ上でWEBぺージを動作させたり、WEBアプリを開発したりするために使われます。
パソコンだけではなく、スマホのシェア拡大に比例しWeb利用者の母数が増加することで、WEBアプリ開発者の需要も増えつつあります。
WEBサイトやWEBアプリに利用されることから、必然的にHTMLやCSSの知識も要求されます。
JavaScriptは、ウェブブラウザとテキストエディタがあれば開発から動作確認までをできることから、初心者にも扱いやすい開発言語です。
Ruby
Rubyは1995年にまつもとゆきひろ氏により、公開されたフリーの開発言語です。日本発信の開発言語でありますが、現在では世界中の開発者に支持されています。
Rubyは主にWeb系の開発に用いられる開発言語で、コミュニケーションツールとしてお馴染みのTwitterやにも使われていることを見ても、システム開発エンジニアには必須な開発言語であると言えます。
使用PCやキーボード
Macbook Pro 13インチ
出典:Apple
CPU:Intel Core i5 2.0GHzデュアルコア
メインメモリ:8GB 1,866MHz LPDDR3
記憶領域:256GB PCIeベースオンボードSSD
ディスプレイ:13インチ (2,560 x 1,600)
OS:macOS Sierra
サイズ:高さ: 14.9 mm x 幅: 304.1 mm x 奥行き: 212.4 mm
重量:1.37 kg
販売価格:公式サイト参照
システム開発に携わるエンジニアの多くはMac bookを利用しています大変薄くて軽く、それでいながらもパワフルであることが人気の理由です。
プログラミング言語の多くはMacだけではなくWindowsでも同様に使用できるため、OSの違いはそれほど気にする必要はありませんが、iPhoneアプリの開発を行う場合には、MacのXcodeを使う必要があるためiPhoneアプリの開発に携わる場合にはMacが必須となります。
Mac bookは12インチモデルのほかMac book AirそしてMac book Proなどバリエーションがありますが、性能面で心配のないMac book Proがベストな選択となります。
DELL XPS 13
出典:DELL
CPU:第7世代インテル® Core™ i5プロセッサー
メインメモリ:4GB LPDDR3 1866MHz
記憶領域:128 GBソリッドステートドライブ
ディスプレイ:13インチ (1920 x 1080)
OS:Windows 10 Home 64ビット
サイズ:高さ: 9~15 mm x 幅: 304 mm x 奥行き: 200 mm
重量:1.2 kg
販売価格:公式サイト参照
最近のWindowsパソコンはハイスペックでありながらも、コンパクトで軽量なモデルが多数発売されているため、Mac bookに引けを取らないモデルも数多く存在します。
DELLのXPS13は、13インチ液晶を搭載しているモデルではコンパクトかつ軽量なモデルです。
スタンダードのモデルの他、カスタマイズモデルを選択することができるため、高いスペックのパソコンが必要な場合でも対応できます。
前述しましたが、プログラム言語の多くはWindowsとMacOSどちらにも対応しているものが大半であるため、開発を目的としてパソコンを購入する場合にOSの違いを意識する必要はそれほどありませんが、MicroSoftのVisual Studioを使った開発をする場合にはWindowsパソコンが必須となります。
Mac bookやDELL XPS 13のようなノートパソコンは、外付けの大型ディスプレイに接続して、外付けのキーボードを使用することによりデスクトップのような使い方も可能です。
Apple Keyboard (テンキー付き – US)
出典:Apple
Apple純正のテンキー付きキーボードになります。とても薄くかつ軽量でありながらも、アルミ筐体であることからしっかりとした作りになっています。
キーストロークがデスクトップタイプと比較すると浅めで、慣れるまでは違和感があるかもしれませんが、軽い力でタイピングできるため長時間の作業のであっても、指への負担を軽減することができます。
Sculpt Ergonomic Desktop
出典:MicroSoft
エルゴノミクス理論に基づいた独特のデザインで左右に分割されており、人間が自然に手を置いた時の角度に合わせた、傾斜がつけられています。
クッション性のあるパームレストを採用されていることから長時間のタイピングでも手首への負担を軽減することができます。
さらに詳しく知りたい方は、こちらもご参考ください。
給料は高い?システム開発エンジニアの年収
ここでシステム開発エンジニアの年収について、ご紹介します。
システム開発エンジニアの平均年収
30代開発エンジニアの平均年収
30歳:471万円
31歳:486万円
32歳:498万円
33歳:523万円
34歳:540万円
35歳:557万円
ちなみに30代開発エンジニアの最高年収は以下の通りです。
30歳:820万円
31歳:800万円
32歳:1,000万円
33歳:1,500万円
34歳:1,200万円
34歳:1,500万円
30歳の平均年収を見ると471万円ですが、ある程度経験を積んで中堅的な立場である30代半ばになると1,000万円越えのエンジニアが存在していることが分かります。
システム開発エンジニアの残業代
システム開発エンジニアが一ヶ月あたりの残業は、5割が40時間以内となっており、多い方では80時間以上という場合もあります。
しかし、システム開発エンジニアの残業代は単純に、残業時間に年収を時間給換算した金額を掛け合わせた額が加算されるというわけではありません。
企業によっては裁量労働制という制度を採用し、1ヶ月あたり20時間あるいは30時間の残業代相当を残業の有無に関わらず支払う代わり、残業時間が規定の時間をオーバーしたとしてもそれ以上は支払わないという場合もあります。
一見すると損な気がしますが、効率良く作業を進めることができると、単位あたりの収入がアップするため、働き方次第では時間を有効に活用することが可能になります。
まとめ
いかがでしたでしょうか。
システム開発エンジニアは開発するシステムの種類により、スマホアプリ開発やWEBアプリ開発、そしてECサイト開発などの業種があり、それぞれに必要とされる開発言語のスキルがあります。
どのようなシステムを開発するエンジニアになりたいかを良く考え、必要とされるスキルの習得に向かって目標を設定していくことにより、憧れのシステム開発エンジニアになるという夢は現実に近づいて行くことでしょう。