ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

バックエンド


勉強不足だったためバックエンドとフロントエンドについて再度調べました。

バックエンド

引用
http://postd.cc/front-end-and-back-end/
https://freelance.levtech.jp/consulting/detail/138/
バックエンドエンジニア
・単一の環境、サーバ上で仕事をする人
・ユーザーには見えない場所のWeb処理を行う
・データベースやサーバサイドのシステム開発を中心に担当
サーバやアプリ、データベースを相互に連携
Java/PHP/Python/Ruby/.Netなどの言語を使用
データベースの中にある情報の検索・保存・変更
MySQL/SQL Server/Oracle
  • 読みやすいコードを記述し、他のシステムへ移植しやすいWebアプリを仕上げることが重要

業務

  • サーバサイドやデータベースにおけるシステムの要件定義から設計、開発までの業務
  • Java/JavaScript/SQL/HTML/CSS/XML/Linux/jQuery、ソフトウェア開発、品質管理などのスキルセットが求められる
要件定義
システムやソフトウェアの開発において、実装すべき機能や満たすべき性能などのを明確にしていく作業
ソフトウェア開発 Software Development
ユーザーのニーズやマーケティング上の目標をソフトウェア製品に変換する作業
品質管理
製品の品質を一定のものに安定させ,かつ向上させるための様々な管理
サーバサイド言語は必須

引用:https://thinkit.co.jp/story/2011/04/13/2085?page=0%2C2
コンパイラ型言語」と「インタプリタ型言語」の2つに分かれる。

コンパイラ型言語
Java/C言語/C++などが代表的で、コンパイルしなければ実行できない言語。コンパイルしてから一気に読み込むので実行が速い
例:Java/C言語/C++
コンパイル = 機械語への翻訳
インタプリタ型言語
コンパイルしなくてもそのまま実行することができる。一つ一つ読み込むため実行が遅い。
例:JavaScript/PHP/Ruby
  • 両者は境界線を引くことが難しい場合がある。

求人から見る求められる経験・知識

必須事項
望ましいスキル
  • LAMPクラウドサーバ環境でのサーバ構築経験
  • データ連携技術に関する十分な知識
  • AndroidiOS技術に関する知識
  • ScalaRubyJavaPHPいずれかの言語による開発経験
  • 大規模分散システムの設計・開発経験、もしくは設計思想などの把握
  • Linux/UNIX上での開発経験
  • SparkやHadoopによる大規模データ処理の開発経験
  • コードレビューを中心とした開発サイクルの経験
  • オープンソースプロジェクトへの理解や参加経験
  • フロントエンド開発への興味または開発経験(React、Angular)
  • 統計モデリング機械学習またはデータマイニングの分野での研究開発経験
  • 自然言語処理の分野での研究開発経験
  • 検索システムの研究開発経験
  • ネットワーク(ソケット)プログラミングを利用した開発経験
  • 英語力
技術以外で
  • 検索できると便利になる世の中の事象、現象を論理的に考えられる能力
  • 問題解決能力があり、迅速に作業できる方
  • ユーザーファーストを重視する方
  • チームワークを大事にしている方(マネジメント経験は問いません)
  • 世の中を便利にするサービスを提供することに喜びを感じる方

その他参考

バックエンドに転職した人の話
https://tenshoku.mynavi.jp/it-engineer/knowhow/interview/11