これからエンジニアを目指す!!という就活生から、「どうやってエンジニアになるの?」「どうやって勉強するの?」とよく聞かれるので、自分が思うエンジニアへの最短ルートをまとめていきます。
エンジニアの職種
まずはエンジニアの中でもどんなことをするのかといったところで、エンジニアの職種を紹介していきます!
僕がWebとモバイルアプリを経験してきたエンジニアなので、この記事ではWeb・モバイルアプリのエンジニアに焦点を絞って紹介します。職種としては、大まかに分けると以下の4つに分けられます。
- フロントエンド
- モバイルアプリ
- サーバーサイド
- インフラ・クラウド
フロントエンド
フロントエンドエンジニアは、ブラウザ(Google ChromeやSafariなど)で動作させるためのプログラムを書くエンジニアです。デザイナーさんからいただいたデザインデータをもとに、HTML、CSSを用いて静的なホームページやLPを作成したり、Next.js(React)、Nust.js(Vue)などのフレームワークを用いて動的なWEBアプリケーションを作ります。
モバイルアプリ
モバイルアプリエンジニアは、iOSアプリやAndroidアプリを開発するエンジニアです。フロントエンドエンジニアと同じく、デザイナーさんからいただいたデザインデータをもとに開発します。
iOSアプリはSwiftまたはObjective-cを用いて開発し、AndroidはKotlinまたはJavaを用いて開発します。
また、FlutterやReact Nativeを用いるとiOSアプリとAndroidアプリを同じソースコードで開発できるのでこちらもおすすめです。弊社ではモバイルアプリを開発するときはFlutterを用いて開発しています。
サーバーサイド
サーバーサイドエンジニアは、以下の画像のようにクライアントから送信されたアプリケーションのデータを保存したり、クライアントからデータの取得のリクエストがあったときにクライアントにデータを渡したりするプログラムを開発します。弊社では主にGo言語を用いてサーバーサイドを開発しています。

インフラ・クラウド
インフラ・クラウドエンジニアは、フロントエンド・モバイルアプリ・サーバーサイドエンジニアによって開発されたプログラムを安全に安定して世の中に届けるための開発をします。他の職種と比べても奥が深く、難しいのでそんな職種もあるんだなーって感じでOKです👍
おすすめの勉強していく順番
今までプログラミングに触れたことがないのであれば、まずはフロントエンドエンジニアかモバイルアプリエンジニアとして勉強を進めていくのがいいかなと思います!
サーバーサイドはWebのフロントエンドやモバイルアプリなどのクライアントと連携するので、開発時にさまざまなことを考えていないといけません。代表例↓
- クライアントで処理しやすいデータの構造
- ログイン状態の保存方法
そういった点で、サーバーサイドの開発を行うためにはクライアント側がどんな感じなのかを知っておく必要があります。
インフラ・クラウドは純粋に難しいです。フロントエンドやサーバーサイドを開発しているなかで「どんな仕組みでフロントエンドとサーバーサイドが通信できているんだ?」とかを考え始めるとインフラ・クラウドの素質ありなので勉強を始めるといいと思います!
まとめ
エンジニアの職種・勉強する順番を僕なりにまとめてみました!
複数の職種があって、勉強する順番まで言われると、「これ全部勉強しないといけないのかな😭」と不安になるかもしれませんが、そんなことは全くないです。ただ、いろんな分野の知識がある方が広い視野で問題に立ち向かうことができるので課題にぶち当たったときに勉強しててよかったと感じることが多いです!
簡単にまとめると以下の順番で勉強するといいかなーって感じです!
- フロントエンド or モバイルアプリ
- サーバーサイド
- インフラ・クラウド