■開発、その他業務
①講師向けサービス(保守)
・自動多言語化: i18n
・役職ごとの権限管理: pundit
・講師→学生連絡用マークダウンエディタの実装: redcarpet
・N+1解消: Bullet
・授業マスタデータ作成→紐付け
→ お客様の社内全体(各部署)で概念を統一するため、
こまめに確認を行ったり、ドキュメント作成を行いました。
・授業作成・編集不可(確定)機能: cron(whenever), aasm
→ 月末に講師の勤務時間の時給換算を自動化するため、
権限や期限によって、授業を作成・編集できないようにしました。
②予備校生向けサービス(新規)
・ログイン: Devise
→ メール設定、セキュリティ対策も行いました。
・サーバー構築: EC2, RDS(Aurora), Lightsail
・セキュリティ対策: AWS(CloudFront, AWS WAF, GuardDuty)
→ 初めてインフラ構築をしました。
LightsailというVPCパッケージサービスを絡めていたため、
社内に知見が少なく、一から構築した点に苦労しました。
・エラー通知設定: Sentry→Slack
・サービスリリース
→ 現場で働く約50名の教員方へシステムリリース説明会を実施し、
システムの目的や導入のメリット、今後実現できること等を、
メインで約2時間ほど説明・質問対応をしました。
・複雑な業務フローのロジック化
③共通
・本番/ステージング環境デプロイ
→ 週1〜2回行いました。
毎週末に行なっていましたが、土日の突発的なバグ修正・電話連絡が多数あったため、
週初に行なってすぐ対応できるように切り替える旨の提案をしました。
・ミーティング
→ 週1〜2回直接お客様へ赴き、各部長の方々と計2時間ほど行い、
開発の進捗報告、システムの悩み事、新規開発提案、導入支援 等を行いました。
■障害対応
・バグ修正
→ バグや仕様の修正が見つけ次第、迅速に修正、本番へ反映させました。
休日でも即座に対応しました。
特にリリース後は量が多く、対応に追われました。
■マネジメント
・スケジュール管理: ガントチャート, Google Calendar
・タスク管理: Trello
→ 主に毎日のメンバーの進捗確認や、頂いたタスクの割り振り・内容メモ等に利用し、
また有料カスタマイズを提案し、自動工数管理やエクスポートが行えるようにしました。
・見積書/請求書の作成・管理
→ 月初・月末で直接の受け渡しと、厳密な書類管理を行いました。
・システムを運用乗せする気遣い/気配り
→ 部長職のようなキーパーソンの方と、現状の業務フローを保ちたい現地の先生方のギャップを埋め、
スケジュールが滞りなく円滑に進むように気を遣いました。
(こまめな連絡、食事、現場へ赴き担当者と直接話す etc)
・教育
→ メンバーに対し技術サポート、コードレビュー、業務知識共有 等を行いました。
■使用技術/ツール
・プログラミング言語: Ruby(2.6.3), Rails(5.2.1), JavaScript, jQuery
・データベース: MySQL
・インフラ: AWS(EC2, ELB, CloudWatch, Route 53, CloudFront, AWS WAF, SES, SNS, Lightsail, GuardDuty, CloudTrail etc)
・バージョン管理: Git, Gitlab(Git-Flowに沿った開発)
・ツール: Trello, GoogleSpreadSheet, Gyazo(Gyazo GIF)
・コミュニケーション: Slack, Wechat(お客様向け)