職種
サーバーサイド(バックエンド)エンジニア
アプリケーションは、サーバーサイド(バックエンド)というユーザーの目に見えない部分の開発を担当するエンジニアです。サーバーサイドのエンジニアの職務領域は企業などによって異なり、開発のみを行うケースもあればクラウドサービスを含めたインフラなどの構築や運用まで行うケースもあります。
開発言語・フレームワークフレームワークとは、必要となる機能を簡単に開発できるようにまとめたプログラム群です。昨今、ビジネスのスピードは急速にあがっています。そのため、サービスを開発する際も、より早く完成させることが求められています。ただ、すべての機能をゼロから開発していると多くの時間を費やしてしまいます。 フレームワークは、システムを開発する際に必要となる機能があらかじめプログラミングされており、簡単に利用することができます。例えば、Webアプリケーションのフレームワークであれば、ログインなどの認証機能、メール送信機能、簡単な画面などといった具合です。 なお、フレームワークはプログラミング言語ごとに異なります。PythonであればDjango、Flask、PHPであればLaravel、CakePHP、RubyであればRuby on Railsなどです。それぞれ特徴があるため、目的や用途などを考慮して採用するフレームワークを決定します。 More
PHP/Laravel
PHPはWebアプリケーションのサーバーサイド側を開発する言語として、高い人気を持っています。また、PHPはフレームワークが豊富という特徴を有していますが、その中でも最近ではLaravelというフレームワークが注目されています。
Java/SpringBoot
Javaは汎用性が高く、Webアプリケーションのサーバーサイドを開発できるほか、スマートフォンアプリや家電製品の組込ソフトウェアを開発する際にも利用されます。
そのJavaのフレームワークとして、最近人気を集めているのがSpringBootです。
Python/Django
PythonもPHPやJavaと並び、サーバーサイドの開発言語として人気があります。また、近年注目されているAIやデータ分析などにも用いられます。将来性の高さが魅力であり、エンジニアがこれから学びたいと考えている言語の1つです。
このPythonのフレームワークとしては、Djangoというものがあります。
Ruby/Ruby on Rails
Rubyは日本人エンジニアの「まつもとゆきひろ氏」が開発したプログラミング言語です。Webアプリケーションのサーバーサイド開発を得意としており、学習コストが低いのが特徴です。
また、Ruby on Railsというフレームワークを利用することでさらに生産性を向上可能です。
サーバーサイドで知っておきたい開発ツール
VSCode
VSCodeは、Microsoft社が開発しているコードエディタです。プログラマーやシステムエンジニアはこのコードエディタを利用してプログラミングを行います。
WindowsやMacなどさまざまなプラットフォームに対応しており、拡張機能も豊富なため、エンジニアから多くの支持を集めています。
Git / GitHub
GitやGitHubは、ファイルに対する変更を管理するシステムです。開発関係の資料はもちろん、ソースコードなどをGitで管理することで、「誰が」「いつ」「どのような」変更を加えたのかを管理することができます。昨今の開発現場ではスタンダードなツールとなっています。
Jenkins
Jenkinsとは、開発の構築という工程に関わる作業を自動化・高速化するためのツールです。エンジニアにとってはメジャーなツールであり、スマホゲームを含むスマートフォンアプリ業界、アプリケーション開発にスピードが求められるWeb業界などは、Jenkinsがよく利用されています。
サーバーサイドに関連するトレンド用語
MVC&MVVM
MVCやMVVMとは、ソフトウェアアーキテクチャの1種であり、UI(主に画面を指す)とビジネスロジック(データ操作や演算処理などを指す)の分離を目的としています。
プログラミング言語にはさまざまなフレームワークがあることは前述したとおりですが、それらフレームワークの多くは、MVCやMVVMの思想を取り入れているものが多くあります。
Microservices
マイクロサービスとは、MVC&MVVMと同じくソフトウェアアーキテクチャの1種です。
通常は1つの機能として開発しますが、マイクロサービスはその名前のとおり、可能な限り小さい機能に分割していきます。メリットとしては、改修時の範囲を限定できたり、パフォーマンスが悪い部分があれば、その機能をスケールアップ(性能アップ)することで、問題を解決できることなどがあげられます。