こんばんは!ヒカリです。
Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。
今流行の仮想通貨を自動売買してみました!
リモートワークでおすすめのグッズ紹介してみました!
今回はこのような質問をいただきました。
バックエンド(サーバーサイド)エンジニアになるために必要なスキルは?
どんなこと勉強したらいいの?
ある程度バックエンド(サーバーサイド)の言語が扱えるだけでも十分なのですが、バックエンド(サーバーサイド)エンジニアを目指しているのであればさらにもう一歩踏み出してみましょう!
今回はこちらの質問について解説していきます!
フレームワークはほぼ必須!
まず重要なのはフレームワークを扱えるスキルです。
フレームワークとは、
アプリケーションを開発するときの土台となるものです。
アプリケーションをゼロから作ると時間がかかってしまいます。
そこでフレームワークを導入して時間を短縮します。
セットアップして立ち上げるだけでウェブサイトが作れるもの
といったイメージです。
このフレームワークを扱えるスキルはほぼ必須です。
フレームワークを利用しないことはほとんどない!
ウェブ開発をするなら、ほぼ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はサーバーサイドに限らず必須!
GitHubをご存知でしょうか?
GitHubとはソースコードを管理できるウェブサービスです。
Gitというバージョン管理システムを利用しています。
このGitHubでソースコード管理し、プロジェクト開発を行います。
類似したものとしてGitLabとGitBucketがあります。
このGitHubはサーバーサイドエンジニアに限らず、すべてのエンジニアが使っていると言っても過言ではありません。
フレームワークを使わないことは稀にありますが、さすがにGitHub(もしくはGitLab, GitBucket, CodeCommit等)を使わないことはありません。
まさに必須スキルと言って良いでしょう。
個人でも十分使える!
GitHubはプロジェクト開発でのみ使うものではありません。
個人でも積極的に使っていくべきです。
ほとんどのことが無料でできるので、まずは登録してみると良いと思います。
登録ができたら次は自分の作品を公開してみましょう!
GitHubはソースコードを管理できるだけでなく、ポートフォリオにもなります。
ポートフォリオは就職・転職にも役立つので、自分の作品は積極的に公開していきましょう!
まずはイメージできるだけでも十分!
正直、GitHubは理解するまで時間がかかると思います。
私も最初は何をしているのかよくわからず使っていました。
コミット、プッシュ、クローン、プル…よくわからない単語がいろいろ出てきます。
そのため、まずは使ってみて今何をやっているのかをイメージできたらそれで良いと思います。
使っているうちになんとなくわかってきます!
Gitの操作は基本的にコマンドラインで行います。
でもコマンドラインって正直わかりにくいですよね。
そこでおすすめしたいのがSourceTreeです。
GUIでGitを直感的に操作できます。
Gitに慣れるまではSourceTree、おすすめです!
実はコミュニケーション能力も重要!
エンジニアは黙々と作業をする…そんなイメージはないですか?
実はそんなことはなく、コミュニケーション能力も結構重要です。
バックエンド(サーバーサイド)エンジニアはエンジニアの中で最もコミュニケーションを取るエンジニアではないかと思います。
ただ、こちらに関しては会社による部分もあると思うので参考程度に留めてください!
データの連携先が多い!
バックエンド(サーバーサイド)はフロントエンドと外部システムに挟まれています。
システム開発において外部システムと連携することはよくあることです。
そして、その外部システムと連携するのはバックエンド(サーバーサイド)になります。
また、画面上に表示するためのデータをフロントエンドに連携する必要もあります。
このようにデータを外部へ連携することが多いのがバックエンド(サーバーサイド)です。
連携するためには外部とのコミュニケーションも重要ですよね。
要件定義や設計を行う!
場合によってはバックエンド(サーバーサイド)エンジニアは要件定義や設計を行います。
開発を始める前に
- どのような機能をつけるか
- どのような仕様にするか
- どのようなシステム構成にするか
等を話し合うのが要件定義・設計ですね。
私の会社でも、要件定義・設計には必ずバックエンド(サーバーサイド)エンジニアが参加します。
何度もコミュニケーションを取りながら進めていくので、やはりコミュニケーション能力は重要ですね。
また、ここで要件定義に参加することで仕様を握ることになります。
仕様を握っていることで、開発に入ってからも相談されることが多いです。
ここでもコミュニケーションが多く発生しますね。
まとめ
サーバーサイドエンジニアに必要のスキルは
- フレームワーク
- GitHub
- できればコミュニケーション能力
といったところでしょうか。
コミュニケーション能力は重要ではありますが、得意不得意があるので無理することはないと思います。
普通にコミュニケーションが取れれば問題ないです。
フレームワークとGitHubは個人でも使うこともできるので、使ったことがなければ使ってみると良いと思います。
私も入社前課題でフレームワークとGitHubを学びました。
このおかげで即戦力として働けました。
これらは知っておいて損はないと思います。
入社前にフレームワークとGitHubを学んでいるのは非常に大きいです。
就職・転職でもかなり有利になるので、学んでおくことをおすすめします!