ソフトウェアエンジニア

ソフトウェアエンジニア
当社がNTT Communicationsと共同開発している教育機関向けプラットフォーム[まなびポケット](https://manabipocket.ed-cl.com/) の設計から配備までを一貫して,自律的に開発できるソフトウェアエンジニアを募集しています.

■募集背景
まなびポケットは2014年から2018年にかけて総務省が行った「先導的教育システム実証事業」で開発されたシステムを基盤とし,2017年からNTT Communicationsがサービス化した教育プラットフォームです.実証実験の頃から,教育現場の声を取り入れながら,6年に渡って開発を続けてきました.

昨今の社会情勢によるリモート授業の増加や,文部科学省によるGIGAスクール構想を受け,まなびポケットの利用ユーザは急速に増加しています.それによって,サービスの問題が顕在化するスピードが加速し,寄せられる要望も多様化しています.

この状況に対応し,迅速にユーザへ価値の提供を継続するためには,現在のアプリケーションの保守を行いながら,並行して大幅なアーキテクチャと開発体制の見直しが必要であると考えています.

この取り組みを強力に推進するため,スクラム開発チームの一員として,スプリントプランニングにおける要件の明確化から設計・開発・テスト・配備までは一貫して取り組むことのできる自立したソフトウェアエンジニアを求めています.

興味を持ってくださった方とはまずはお話をしてみたいと思っていますので、お会いできるのを楽しみにしています。

■本ポジションの役割
### ソフトウェアエンジニアとして

公教育向けという背景もあり、比較的堅牢な実装を求めています。しっかり、きっちり作りたいという方を特に歓迎します。

アジャイル開発プロセスとしてスクラムを採用しているため,スクラム開発チームの一員として協業企業のメンバーを含めたスプリント計画MTGに参加し,要望を議論し,具体化し,設計し,開発し,テスト(Issueの完了条件を満たす)を行うことを求めます.

まなびポケットの開発チームでは,前述の通りバックエンド・フロントエンドといった明確な分業体制を敷いていないため,双方の知識・経験が必要です.

今後はSPA化を推進する方針であるため,フロントエンドとバックエンドの分離を進めるにあたり、API設計やSPAの構築を得意とする方も歓迎します。

### その他の担当領域

codeTaktの開発組織では明確に固定化されたポジションはありません.
専門性を突き詰めるために,特定のロールで集中的に業務を行うか,あるいは周辺領域に手を出すかは本人の裁量に委ねられます.
まなびポケットチームのソフトウェアエンジニアには,製品開発を推進するソフトウェアエンジニアであることをす期待しますが,一方でインフラストラクチャの改善やテスト自動化・品質改善へのコミット,新しい社内プロジェクトへの参加などは比較的自由に行うことができます.

■開発チームの体制
* まなびポケットの開発チーム
* ソフトウェアエンジニア: 4名
* SRE: 1名

* スクラムによる開発体制
* 開発自体を推進するのは当社ですが,機能横断的なスクラムチームを形成するにあたり,サービスの提供主体であるNTT CommunicationsからPOを選出するなど,会社横断でチームを形成しています

■開発メンバーの裁量
開発をする上で利用する各環境はソフトウェアエンジニアの裁量に任されております.同様に,プロダクションの実行環境,ライブラリ,フレームワークなどの選定についても裁量が与えられていますが,チームに影響を及ぼす決定はチームメンバーの合意が必要となります.逆に言えば,それ以外の制約は基本的にありません.

■必須要件
* ウェブアプリケーションの開発経験
* Ruby on Railsをはじめとするフレームワークを利用した開発経験
* React, Vueなどのライブラリ、フレームワークを利用した開発経験
* Gitとチケット管理システムを利用したチーム開発の経験
* チームと協調して問題を解決する姿勢
* 専門内外問わず新しいことを学ぶ姿勢
* 主体的に開発業務を遂行できること

■歓迎要件
* GherkinとTurnipによるテスト仕様記述経験
* リレーショナルデータベースのスキーマ設計および性能を意識した開発経験
* アジャイルソフトウェア開発プロセスでの開発経験
* それらのコンポーネント設計を意識した開発経験