ふりぶろぐ
Web Engineer's Blog
プログラミング

現役エンジニアが解説!サーバーサイドエンジニアに必要なスキルとは?

サーバーサイドエンジニアになるために必要なスキルは?
どんなこと勉強したらいいの?

このような疑問にお答えします。

この記事の内容
  • フレームワークはほぼ必須!
  • GitHubはサーバーサイドに限らず必須!
  • 実はコミュニケーション能力も重要!

ある程度サーバーサイドの言語が扱えるだけでも十分なのですが、サーバーサイドエンジニアを目指しているのであればさらにもう一歩踏み出してみましょう!

読んでほしい人
  • サーバーサイドエンジニアを目指している人
  • サーバーサイドエンジニアについて知りたい人

この記事を書いている私はサーバーサイドエンジニア3年目。

Java, PHP, Rubyでのサーバーサイドの開発経験があります。
基本はJavaで、たまにPHPやRubyといった感じです。

そんな私がサーバーサイドエンジニアに必要なスキルについて解説していきます。

フレームワークはほぼ必須!

Laravel and vue

まず重要なのはフレームワークを扱えるスキルです。

フレームワークとは

フレームワークとは、アプリケーションを開発するときの土台となるものです。
アプリケーションをゼロから作ると時間がかかってしまいます。
そこでフレームワークを導入して時間を短縮します。
セットアップして立ち上げるだけでウェブサイトが作れるものといったイメージです。

このフレームワークを扱えるスキルはほぼ必須です。

フレームワークを利用しないことはほとんどない!

ウェブ開発をするなら、ほぼ100%フレームワークを利用すると言っても良いでしょう。

実際、ほとんどの開発でフレームワークが利用されています。
私はこれまで10件以上の開発に携わってきましたが、フレームワークを使用しなかったのは1件だけでした。

そのため、サーバーサイドエンジニアを目指すならフレームワークを学んでおいて損はないです。

フレームワークは種類が多い

フレームワークと言っても様々な種類のものがあります。
ただ、基本的な部分はどれも似ています。

言語によっても様々です。
まずは自分がどの言語を使いたいかで選ぶのも良いと思います。

様々なフレームワーク
  • Java
    • Spring Framework
    • Spring Boot
    • Play Framework
  • PHP
    • Laravel
    • CakePHP
    • Phalcon
  • Ruby
    • Ruby on Rails

私がよく使っているのはJavaのPlay Frameworkです。
他にもSpring BootやRuby on Railsなんかも使ったことがあります。

触ってみるなら最初は太字になっているものがおすすめです。
Javaはどれでも良いと思います。

どれかを学んでおけば、就活でもかなり有利になりますよ。

私は内定を承諾してから入社するまでの間に課題を行いました。

その課題の内容は
JavaでPlay Frameworkを使ってAPIを作る
というもの。

当時の私はJavaもフレームワークも触ったことがありません。
こんなのできるわけない!と最初は思ったのですが、やってみたら意外となんとかなりました。

触れたことのない言語でも、いきなりフレームワークから入るのもアリだと思いますよ!

GitHubはサーバーサイドに限らず必須!

Version control

GitHubをご存知でしょうか?

GitHubとは

GitHubとはソースコードを管理できるウェブサービスです。
Gitというバージョン管理システムを利用しています。
このGitHubでソースコード管理し、プロジェクト開発を行います。
類似したものとしてGitLabとGitBucketがあります。

このGitHubはサーバーサイドエンジニアに限らず、すべてのエンジニアが使っていると言っても過言ではありません。

フレームワークを使わないことは稀にありますが、さすがにGitHub(もしくはGitLab, GitBucket)を使わないことはありません。

まさに必須スキルと言って良いでしょう。

個人でも十分使える

GitHubはプロジェクト開発でのみ使うものではありません。
個人でも積極的に使っていくべきです。

ほとんどのことが無料でできるので、まずは登録してみると良いと思います。

登録ができたら次は自分の作品を公開してみましょう!
GitHubはソースコードを管理できるだけでなく、ポートフォリオにもなります。

ポートフォリオは就活で役に立つので、自分の作品は積極的に公開したほうが良いです。

まずはイメージできるだけでも十分

正直、GitHubは理解するまで時間がかかると思います。

私も最初は何をしているのかよくわからず使っていました。
コミット、プッシュ、クローン、プル…よくわからない単語がいろいろ出てきます。

そのため、まずは使ってみて今何をやっているのかをイメージできたらそれで良いと思います。
使っているうちになんとなくわかってきます。

Gitの操作は基本的にコマンドラインで行います。
でもコマンドラインって正直わかりにくいですよね。
そこでおすすめしたいのがSourceTreeです。
GUIでGitを直感的に操作できます。
Gitに慣れるまではSourceTree、おすすめです!

実はコミュニケーション能力も重要!

Chat

エンジニアは黙々と作業をする…そんなイメージはないですか?

実はそんなことはなく、コミュニケーション能力も結構重要です。

サーバーサイドエンジニアはエンジニアの中で最もコミュニケーションを取るエンジニアではないかと思います。

ただ、こちらに関しては会社による部分もあると思うので参考程度に留めてください!

データの連携先が多い

サーバーサイドはフロントエンドと外部システムに挟まれています。

システム開発において外部システムと連携することはよくあることです。
そして、その外部システムと連携するのはサーバーサイドになります。

また、画面上に表示するためのデータをフロントエンドに連携する必要もあります。

このようにデータを外部へ連携することが多いのがサーバーサイドです。

連携するためには外部とのコミュニケーションも重要ですよね。

要件定義や設計を行う

場合によってはサーバーサイドエンジニアは要件定義や設計を行います。

開発を始める前に

  • どのような機能をつけるか
  • どのような仕様にするか
  • どのようなシステム構成にするか

等を話し合うのが要件定義・設計ですね。

私の会社でも、要件定義・設計には必ずサーバーサイドエンジニアが参加します。

何度もコミュニケーションを取りながら進めていくので、やはりコミュニケーション能力は重要ですね。

また、ここで要件定義に参加することで仕様を握ることになります。

仕様を握っていることで、開発に入ってからも相談されることが多いです。
ここでもコミュニケーションが多く発生しますね。

まとめ

サーバーサイドエンジニアに必要のスキルは

  • フレームワーク
  • GitHub
  • できればコミュニケーション能力

といったところでしょうか。

コミュニケーション能力は重要ではありますが、得意不得意があるので無理することはないと思います。
普通にコミュニケーションが取れれば問題ないです。

フレームワークとGitHubは個人的に使うこともできるので、使ったことがなければ使ってみると良いと思います。

私も入社前課題でフレームワークとGitHubを学びました。
このおかげで即戦力として働けたと思います。

これらは知っておいて損はないと思います。

入社前にフレームワークとGitHubを学んでいるのは非常に大きいです。
就職でもかなり有利になるので、学んでおくことをおすすめします!

ABOUT ME
りーふ
たまにブログを書いてるWebエンジニア。 サーバーサイドメインでインフラとフロントエンドもたまにやります。 Javaが得意。 Play Frameworkが好き。 本業は迷惑をかけない程度に手を抜くスタイル。 意識高い系は苦手。