ソフトウェア開発者の教育訓練方針

独学とは、自分に対する教育訓練である。この記事では、私が教育訓練計画を立案した際に検討及び採用した内容を記述する。

廃文書 | As of 2020.6.8

概要

高品質なソフトウェアの安定供給には、その生産工程の標準化と均質化が要請され、その稼働には、高品質な人的資源の安定供給を前提とする。

高品質な人的資源の安定供給には、その生産工程の標準化と均質化、及び人的資源の規格化が要請される。人的資源とは即ち、ソフトウェア開発者である。

目的

本方針の対象とするソフトウェア開発者とは、次の開発を自己完結的に実施し得る者を指し、本方針はその育成を目的とする。

  • web アプリケーション
  • モバイルアプリケーション

基幹分野

基幹分野はバックエンドとする。ソフトウェア開発には複数の分野が必要である。基幹分野の意義は、これを定めることによって、各分野の位置づけ及び分野間の関連づけを適切に把握することにある。この文脈の意味において基幹分野と呼称し、それ以上の意味はない。

技術

次の開発言語及びフレームワークを標準採用する。

web アプリケーションフレームワーク

  • Ruby on Rails(Ruby)
  • Laravel(PHP)
  • Django(Python)
  • Spring Framework(Java)

モバイルアプリケーションフレームワーク

  • Flutter

その他

  • UIライブラリ: React
  • バージョン管理: Git
  • パッケージ管理: npm
  • モジュールバンドラー: webpack
  • OS: Linux(Ubuntu)
  • SQL
  • Node.js
  • JavaScript(ES6)
  • Markdown
  • Vagrant

要求水準

開発言語やフレームワークを問わず、実現されるべき要求水準は次のとおりである。

  • ログイン機能
  • 投稿機能
  • フォロー機能
  • 認可機能
  • 検索機能
  • いいね機能
  • 決済機能
  • コメント機能

技能評価

技能は、次の5段階で評価される。

レベル1
基礎的な文法などを理解し、教本、チュートリアルなどで、一通りコードを書く。
レベル2
要求水準の到達。
レベル3
1回以上のプロジェクトで、プロダクトコードを書く。
レベル4
3回以上のプロジェクトで、プロダクトコードを書く。
レベル5
5回以上のプロジェクトで、プロダクトコードを書く。

プロジェクト

技能評価におけるプロジェクトとは次のものを指す。

  • 独自プロジェクトかつサービスリリースされたもの
  • 他社プロジェクトの参画