髙妻智一ITエンジニア|プログラマの職種別で学ぶべきことと必要なスキルツイートシェアはてブLINEPocketITエンジニアってすごく人気だけどそもそもどんな種類があって、どんなスキルが必要なのか全く分からない。いった疑問にお答えします。これからプログラマになりたいけど何をしたらいいか分からない人にぜひ読んでいただきたいです。エンジニアの職種とは?一口にエンジニアといってもいろんな職種があります。まとめるとこんな感じですね。エンジニアの職種サーバサイドエンジニアインフラエンジニアフロントエンドエンジニアネイティブエンジニアゲームエンジニアやりたいことによって学ぶべきものが大きく変わるので効率的に学習したい方はエンジニアの職種をしっかりと把握しておきましょう。ここを明確に理解することで目指すべき道がはっきりし、効率よくステップアップすることができます。サーバサイドエンジニアサーバサイドエンジニアの役割はサービスの土台を作ることになります。クライアントからのリクエストを受け付け、リクエスト別にデータベースへの読み書きを行い、最終的にクライアントに要求されたデータを返す処理を実装します。言語はPHP、Java、Go、Node.js、Pythonなどがよく使われています。全て技術選定から仕事が始まります。サービスを実現するのに適したプログラミング言語の選定、データの用途別に使用するデータベースを決定し、最終的な全体構成をまとめあげます。考えるとサービスを作る上でプログラミングをするというのは一部分であり、プログラミングをできるだけではサービスを作ることはできません。チーム開発をするのは広範な専門分野を補うようにいろんな長所を持ったメンバーで構成するためですね。サーバサイドを学ぶならプログラミングスクールは体系的に学ぶことができるので効率よく学習できます。侍エンジニア塾はマンツーマンレッスンが特徴のスクールで、7000名以上の指導実績があります。侍エンジニア塾では自分好みのカリキュラムを組むことができるのが利点でもあります。アプリ、Webサービス、ゲーム、機械学習の中から学びたいものを自由に選択することができます。侍エンジニア塾で無料体験レッスンを受けるインフラエンジニアインフラエンジニアの役割はサービスのインフラ構成や監視機能の構築がメインになります。最近ではAWSやGCPなどのクラウド環境が台頭してきたこともあり、サーバーサイドエンジニアがインフラ構築をすることが多くなってきているのが現状です。それでもインフラというのはアプリケーションの実装と同じようにものすごく専門性の高い分野ですので極めるのはそれなりの時間が必要になります。セキュリティ面に関しては今後より一層高いスキルが求められるようになると思います。インフラエンジニアに必要となるスキルセキュリティや耐障害性を考慮したインフラ構築コードベースでのインフラ管理インフラエンジニアのよくある立ち位置として、サーバーサイドエンジニアが考えたインフラ構成のチェックや構築サポート、セキュリティや耐障害性への対応を組織内の全サービスで横断的にみるというのが多いかと思います。各サービスでセキュリティレベルやインフラ構成を統一し、時間と費用の削減などを行うのも重要な仕事となることが多いです。フロントエンドエンジニアフロントエンドエンジニアの役割はサービスの見た目を作ることです。デザイナーが作ったホームページやサービスのデザインをHTMLやCSS、Javascriptを駆使して実現することと、サーバーへリクエストを実行し、必要な情報の取得と表示を行います。言語はJavascript、HTML、CSSは必須のスキルとなります。フロントエンドエンジニアに必要なスキルデザインを実現するためのHTML、CSSでの表現力サーバーにリクエストを行うためのJavascriptでの実装UXを考えた技術選定と実装フロントエンドエンジニアはUIとUXの両方を扱う非常に重要な役割となります。デザインまで自分でできるエンジニアは強いですね。注意点としてフロントエンド技術の移り変わりは他の職種の中でもトップクラスに早いです。新しい技術が出てきてそれを追いかけるのが結構大変になるかと思います。ネイティブエンジニアネイティブエンジニアの役割はiOSアプリ、Androidアプリの実装になります。言語はiOSがObjective-CとSwift、AndroidがJavaとKotlinになります。どちらも新旧のプログラミング言語が入り混じっているタイミングですがとりあえずは新しい方の言語を使えるようになればいいと思います。ネイティブエンジニアに必要なスキルデザインを反映させる実装力OS固有の機能を使う実装力UXを考えたアニメーションや画面遷移の表現力ネイティブエンジニアはiOSとAndroidで全く違う技術を使えるようにならないといけないため2つのアプリを作れるようになるにはかなりの学習時間が必要となります。最近だとObjective-CからSwift、JavaからKotlinへのプログラミング言語の遷移過渡期となるため大変な面もあります。初心者の方であればどちらか好きな方を選んでそれをマスターするのがいいかと思います。Engineなどを使ったゲーム開発になります。UnrealScriptと複数あります。描画負荷を考慮した実装ゲームエンジニアは操作性のしやすさ、見た目の綺麗さ、快適なプレイ環境などユーザーにダイレクトに影響することがほとんどです。2Dゲームと3Dゲームで考慮しないといけないことも多いので、深い知識と経験が必要となります。まとめエンジニアの職種をざっくりですが理解できたでしょうか?これからプログラミングを学びたい人は職種別に必要なスキルとやるべきことを最初に知っておくことで学習効率が早くなります。これからも参考にしてみてください。目指すべきことが決まったら、次はどうやって学習していけばいいのか分からないですよね。エンジニア歴5年以上のキャリアから最速でエンジニアになる方法をまとめたので下の記事を読んでみてください。>>プログラミング未経験から最速でエンジニアになる学習方法プログラミングを独学で学ぶためのおすすめサイトを紹介しているのでチェックしてみてください。スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。Incにブロックチェーンエンジニアとして入社。コメントをキャンセルメールアドレスが公開されることはありません。*サイト技術ブログを100記事書いて分かったこと現役エンジニアがすすめるプログラミングならMacを選ぶ理由RECOMMENDこちらの記事も人気です。